Кіріспе

Лео - ашық кодты мәтіндік редактор/контурлаушы, оның негізгі ұйымдастыру, навигация, бейімдеу және сценарийлер құру құралы – клондар (контур түйіндерінің виртуалды көшірмелері) болып табылады.

Тілдер

Лео кез келген адам немесе компьютерлік бағдарламалау тілінде (мысалы, Python, C, C++, Java) мәтін мен кодты өңдей алады, себебі Лео тілге тәуелсіз немесе "бейімделмелі LPE" (сауатты бағдарламалау ортасы). Көптеген бағдарламалау тілдері үшін синтаксистік түс көрсету қолдау көрсетіледі. Леоның схемалық панелі дерек түйіндерінің ағашын көрсетеді. Түйіндер тақырыптарды, негізгі мәтінді және басқа да ақпаратты қамтиды. Тақырыптар негізгі мәтінді сипаттау ретінде табиғи түрде қызмет етеді. Мысалы, @file түйіндері – тақырыбы @file сөзімен басталатын түйіндер. Лео ағаштары іс жүзінде бағытталған ациклді графтар болып табылады; түйіндердің бірнеше ата-анасы болуы мүмкін. Лео мұндай түйіндерді клондар деп атайды. Клондар схемалық панельде бірнеше жерде көрінеді. Көріністер – балалары клондарды қамтитын түйіндер. Бір схемада ондағы түйіндердің кез келген саны көріністерде болуы мүмкін.

Сыртқы файлдар

@file түйіндері сыртқы файлдарды, компьютердің файлдық жүйесіндегі контур файлынан өзге файлдарды көрсетеді. Контурды сақтағанда Лео барлық өзгертілген @file ағаштарын автоматты түрде сыртқы файлдарға жазады. Сыртқы файлдардағы «күзетші жолдар» деп аталатын түсініктемелер контур құрылымын көрсетеді. Лео контурды оқығанда, осы түсініктемелер Леоға сыртқы файлдағы деректерді ғана пайдаланып @file ағаштарын қайта құруға мүмкіндік береді. @auto түйіндері мен @clean түйіндері күзетші түсініктемелерді пайдаланбай сыртқы файлдарды көрсетеді. @auto түйіндерін оқығанда Лео сыртқы файлдың бағдарламалық құрылымын @auto ағашын құру үшін пайдаланады. @clean түйіндерін оқығанда Лео @clean ағашын құру үшін контур құрылымын пайдаланады.

Сценарий жасау

Леоның контурлық немесе иерархиялық құрылымы классикалық сауатты бағдарламалау құралдарымен байланысты бағдарлама мен құжаттаманың өзара тоқулы "бөліктерінен" өзгеше. Кез келген Лео түйінінің мәтінінде Лео скрипті немесе Лео контурының контекстінде орындалатын Python скрипті болуы мүмкін. Жеңіл API Лео скрипттеріне жүктелген контурлардағы барлық деректерге, сондай-ақ Леоның өзінің бастапқы кодына толық қол жеткізуді қамтамасыз етеді. API құрамына скрипттерге контурларды оңай шарлауға мүмкіндік беретін Python итераторлары кіреді. Скрипттер кез келген түйіндер ағашынан құралуы мүмкін. Noweb-ке ұқсас белгілеу тілі Леоға контурдан (немесе оның бөліктерінен) скрипттерді қалай жасау керектігін көрсетеді. Тақырыптар скрипттерді басқару және бағыттау үшін қолданылады. Мысалы, @button түйіндері пайдаланушы анықтаған командаларды құрайды. Лео @button түйінінің скриптін кез келген басқа контур түйінінің контекстінде орындайды.