Plugin do PSPadu

PSPadPlugin_ScriptsMenu

Před léty (přibližně 23.6.2009) jsem si napsal, skromně připouštím, docela šikovný plugin do editoru PSPad. Plugin se za ty roky docela rozšířil, dnes ho používá celkem dost mých současných i bývalých kolegů. Tak jsem se rozhod, že se tedy se svým dětským zbožím pochlubím i takhle veřejně.

Kontext

PSPad je moc užitečný editor, přesto mi v něm chyběly některé funkce například pro práci s logy, tedy grepování, rozkouskování dlouhého řádku podle nějakého znaku nebo reguláru, vytvoření nového souboru z aktuálního výběru, výběr mezi dvěma výskyty reguláru a protože jsem v té době zrovna pracoval s Lombardi Teamworks, přidal jsem i několik typicky JavaScriptových úloh – eval, formátování a validaci JS kódu. Ty poslední dvě funkčnosti jsou pouze integrací knihoven třetích

stran, formátování přenechávám na knihovně JS Beutifier a validaci na JSLintu od Douglase Crockforda.

Implementace je prostý JavaScript, úpravy a vylepšení jsou proto možné. Dokumentace API PSPadu je dostupná na internetu. Verze PSPadu, na které vše spolehlivě funguje, je 4.5.7.

Umístění

Plugin je ke stažení zde: LenderPSPadPlugin

Návod k instalaci

  1. Sooubor  LenderPSPadPlugin.js zkopírujeme do adresáře Script\JScript, který najdeme tam, kde je instalován PSPad
  2. Povolíme v PSPadu použití skriptů: Settings – Program Settings – System integration – zaškrtneme Integrated scripting support (WSH)
  3. V menu Scripts by se měla poté objevit záložka Lender, není-li tomu tak, použijeme Scripts – Recompile scripts

Seznam funkcí

Grep

Všechny řádky výběru nebo za aktuální pozicí kurzoru, které odpovídají regulárnímu výrazu, zkopíruje do nově vytvořeného dokumentu.

Select by

Vybere text mezi výskyty dvou regulárních výrazů. Myslím, že jsem to používal na vytahování dlouhých textových řetězců z XML elementů.

Break lines after, Break lines before

Zaláme řádek před nebo za každým výskytem daného regulárního výrazu. Tohle se hodí pro zformátování a zalámání dlouhých seznamů na jednom řádu a podobně. Funkce pracují v aktuálním výběru nebo za kurzorem.

Eval

Jak říká Crockford (a jeho JSLint také), „eval is evel.“ Tato funkce spustí eval nad označeným textem a v dialogu zobrazí náratovou hodnotu, má-li to význam. Odchytí a zobrazí případnou výjimku.

Format JS Code

Zformátuje JavaScript drojový kód ve výběru nebo za kurzorem. Funkce používá JS Beutifier

Validate JS Code

Provede celkem přísnou validaci JavaScript kódu ve výběru nebo pod kurzorem. Výstup validace je zobrazen v okně LOG ve spodní části editoru. Funkce používá  JSLint. Validace si samozřejmě všímá syntaktických chyb jako jsou klíčová slova, závorky a podobně, pak ale protestuje proti práci s nedeklarovanými proměnnými, stěžuje si na krátké IFy, porovnávání s NULLem na rovnost, nikoli shodu a dost se jí nelíbí použití již zmíněného evalu. Ale je velmi vhodné ji provádět nad vlastním kódem před jeho releasem. Občas se stane, že si různé prohlížeče budou chybný kód vykládat jinak.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *