Leo (textový editor) - Leo (text editor)
Vývojáři | Edward K. Ream a kol. |
---|---|
Stabilní uvolnění | 6.3 / 6. listopadu 2020 |
Úložiště | |
Napsáno | Krajta |
Operační systém | Cross-platform |
Velikost | ~ 9 MB |
Typ | Textový editor, Outliner, IDE |
Licence | Licence MIT |
webová stránka | leoeditor |
Lev (Leonine Editor s Óutlines) je open-source textový editor /outliner který představuje klony (virtuální kopie obrysových uzlů) jako centrální nástroj organizace, navigace, přizpůsobení a skriptování.
Jazyky
Lev může manipulovat s textem nebo kódem v jakémkoli lidském nebo počítačovém programovacím jazyce (např. Python, C, C ++, Java), protože Leo je jazykově nezávislý nebo „adaptabilní LPE“ (gramotné programování životní prostředí).[1] Zvýraznění syntaxe je k dispozici pro mnoho různých programovacích jazyků.[2] Leo je napsán Krajta a lze je rozšířit pomocí pluginů napsaných v Pythonu. GUI používá Qt sada nástrojů; editor založený na syntaxi je založen na Jiskra. Obrysy Leva jsou uloženy jako XML soubory.
Stromy, klony a výhledy
Nejdůležitější funkce Lea, kromě úpravy textu, jsou funkce outliner s „širokou škálou pohodlných funkcí pro strukturování a správu obrysů“, a to přetažením pomocí grafického uživatelského rozhraní a klávesovými příkazy.[2] Leův obrysový panel zobrazuje a strom datových uzlů. Uzly obsahují nadpisy, hlavní text a další informace. Nadpisy přirozeně slouží jako popisy hlavního textu. Například uzly @file jsou uzly, jejichž nadpis začíná @file. Leo stromy jsou ve skutečnosti směrované acyklické grafy; uzly mohou mít více než jednoho rodiče. Leo volá takové uzly klony. Klony se v podokně objeví na několika místech. Pohledy jsou jednoduše uzly, jejichž děti obsahují klony. Jeden obrys může obsahovat libovolně mnoho pohledů na uzly v něm obsažené.
Externí soubory
@soubory představují externí soubory, soubory v systému souborů počítače jiné než soubor osnovy. Při ukládání obrysu Leo automaticky zapíše všechny změněné stromy @file zpět do externích souborů. Komentáře, tzv sentinelové čáry, v externích souborech představují strukturu obrysu. Když Leo přečte obrys, tyto komentáře umožňují Leovi znovu vytvořit stromy @file pouze pomocí dat v externím souboru. Uzly @auto představují externí soubory bez použití komentářů sentinel. Při čtení uzlů @auto používá Leo programovou strukturu externího souboru k vytvoření stromu @auto.
Skriptování
Leův obrys nebo hierarchická struktura se liší od pavučiny prokládaných programových a dokumentačních „bloků“ spojených s klasikou gramotné programování nástroje.[3][4] Text libovolného uzlu Leo může obsahovat a Leo scénář, skript Pythonu provedený v kontextu obrysu Leo. Jednoduchý API dává skriptům Leo plný přístup ke všem datům v načtených obrysech a také plný přístup k vlastnímu zdrojovému kódu Lea. API zahrnuje Python iterátory které umožňují skriptům snadno procházet obrysy. Skripty mohou být složeny z libovolného stromu uzlů. A značkovací jazyk podobný noweb řekne Leovi, jak vytvářet skripty z (částí) obrysu. Skripty pro ovládání nadpisů a průvodce. Příklady:
- @ testovací uzly vytvořit jednotkové testy. Leo provede tělo uzlu @test jako test jednotky, aniž by tělo muselo vytvořit explicitní podtřídu třídy UnitTest.TestCase v Pythonu.
- @ tlačítka uzlů vytvářet uživatelsky definované příkazy. Leo provede skript uzlu @button v kontextu jakéhokoli jiného uzlu obrysu.
Reference
- ^ Pieterse, Vreda; Kourie, Derrick G .; Boake, Andrew (2004). „Případ pro současné literární programování“. SAICSIT '04: Sborník. Jihoafrická republika: Jihoafrický institut pro počítačové vědce a informační technologie: 111–118. Archivovány od originál (PDF) v roce 2004. Tabulka 2: „Některé adaptabilní LPE“, s. 1. 113. Zkrácená verze stejných autorů v knižní podobě: Eckstein, Jutta; Baumeister, Hubert, eds. (Červen 2004). „Literární programování pro vylepšení agilních metod“. Extrémní programování a agilní procesy v softwarovém inženýrství. Berlín; Heidelberg; New York: Springer-Verlag. 250–253. ISBN 3-540-22137-9. Tabulka 2: „Některé jazykově nezávislé LPE“, s. 1. 251
- ^ A b Vestdam, Thomas; Nørmark, Kurt (září 2004). „Udržování porozumění programu - problémy, nástroje a budoucí směry“. Severský žurnál výpočetní techniky. Finsko. 11 (3): 303–320. ISSN 1236-6064. Archivovány od originál (PDF) v roce 2004. Citováno 18. listopadu 2014. Leo diskutoval na str. 12–13 autorské kopie publikovaného článku.
- ^ Palmer, James Dean; Hillenbrand, Eddie (2009). "Reimagining Literate Programming". OOPSLA '09: Sborník z 24. konference ACM SIGPLAN Companion o objektově orientovaných programovacích systémech jazyky a aplikace. New York: ACM. 1007–1014. doi:10.1145/1639950.1640072. ISBN 9781605587684.
Několik gramotných programovacích systémů zaujalo na základě nových uživatelských rozhraní mnohem odlišný směr. Gramotný editor Edwarda Reama, Leo, používá vizuální obrysy, které uživatelům umožňují připojovat metadata a popisy k popisům a datům programu. Skutečně gramotné programy bohužel mohou zlomit Leovo hierarchické obrysové paradigma.
(str. 1009) - ^ Swaine, Michael (červenec 1998). „Programovací paradigma“. Dr. Dobb's Journal. Archivováno od originálu 2016-04-15.Porovnává dřívější verzi LEO s Donald Knuth je WEB.
externí odkazy
- Oficiální webové stránky
- Leo editor na GitHub
- „LeoVue, webová verze Leo, Joe Orr“.
- Leo (textový editor) na SourceForge.net, Leův hostitel pro binární stahování stabilních verzí
- "Literate Programming and Leo". Slashdot. 2002-08-28.
- James Tauber (2004-05-15). „Použití Leo Outliner jako PIM“.