Trion Text Editor
Programátorský textový editor s podporou skriptování v jazyce Lisp. Určeno zejména pro programátory v jazycích C/C++, Object Pascal (Delphi) a TLisp. Zpracováno jako ročníkový projekt 1 na MFF UK.
Trion Text Editor :: Úvod
V době, kdy jsem se rozhodoval o zadání pro ročníkový projekt jsem byl přímo fascinován možnostmi textového editoru Emacs. Ten moje programátorské potřeby uspokojoval mnohem víc, než Borland C++ Builder 3.0, se kterým jsem v té době trávil nejvíc času. Proto jsem se rozhodl, že zkusím naprogramovat něco podobného.
Původní seznam vlastností se už asi ztratilo v propadlišti času, jisté ale je, že většina z nich nikdy nebyla splněna. Základem samozřejmě byl skriptovací jazyk, ve kterém by bylo editor možné jednoduše rozšiřovat o nové funkce. Dále zvýrazňování syntaxe pro většinu známých programovacích jazyků (včetně možnosti vytvořit vlastní zvýrazňovač v přiloženém skriptovacím jazyce), podporu pro projekty a spolupráci s překladači (alespoň gcc).
Trion Text Editor :: Vlastnosti
Několik bodů ze specifikace se sice splnit nepodařilo, ty nejdůležitější ale splněny jsou:
Projekty
Soubory je možné seskupovat do skupin (projektů). Seznam souborů z projektu je zobrazen v levé části obrazovky. Samozřejmostí je seskupování souborů v projektu do virtuálních složek, jejichž struktura je zcela nezávislá na struktuře složek na disku.
Na disk se definice projektů ukládají do zvláštních souborů s formátem založeným na zabudovaném skriptovacím jazyce.
Zvýrazňování syntaxe
V editoru je možné nechat si zvýraznit syntaxi pro jazyky C/C++, Object Pascal, TLisp a HTML (bez podpory PHP, nebo JavaScriptu). Pro zvýraznění je použita speciální komponenta, jen bylo nutné doplnit podporu pro zvýraznění syntaxe LISPovských programů.
Možnost vytvoření vlastního zvýrazňovače ve skriptovacím jazyku byla z důvodu nedostatku času vypuštěna.
Rozšiřitelnost
Do značné míry je možné chování editoru možné upravit pomocí skriptovacího jazyka. Je možné nastavit obsluhu důležitých událostí jako je spuštění/ukončení aplikace, otevření, uložení nebo vytvoření souboru.
Je také možné upravit chování samotného editoru pomocí nastavení vlastní obsluhy klávesnice (jednotlivým klávesám jde přiřadit speciální funkce, měnit mapování kláves a podobně), nebo dokonce nastavit vlastní filtr pro vlastní obsluhu editačních příkazů.
Trion Text Editor :: Skriptování
V programu je zabudován interpret jazyka LISP vlastní výroby. Pomocí skriptů je možné jak upravovat chování programu, tak doplňovat další vlastní funkce. Součástí je rozsáhlá knihovna funkcí, která zahrnuje jak velké množství standardních funkcí, tak funkce pro ovládání všech částí programu. Každou akci, kterou je možné provést pomocí menu, klávesnice, nebo myši je možné provést i pomocí skriptu.
Jedním z plánovaných skriptů, které by předvedly možnosti skriptování v editoru byl zjednodušený vi-mód, který by implementoval příkazy insert, change, delete (x) a několik základních pohybových příkaldů. Kvůli nedostatku času ale nebyl dokončen.
Trion Text Editor :: Další vývoj
Proti všem předsevzetím vývoj programu po odevzdání už nepokračoval ani do naplnění původní specifikace. Zamrznutí projektu je v určité míře způsobené také jeho závislostí na vývojovém prostředí Borland C++/Delphi. Pokud by někdo chtěl v tomto projektu pokračovat, rád mu předám zdrojové kódy a pokusím se mu předat i všechny informace, které jsem ještě nezapomněl.