| Leo: アウトライン機能を備えたレオニンエディター | |
|---|---|
| 開発者 | Edward K. Ream 他 |
| 安定版リリース | 6.7.7 / 2024年1月18日 |
| リポジトリ | |
| 書かれた | パイソン |
| オペレーティング·システム | クロスプラットフォーム |
| サイズ | 約9MB |
| タイプ | テキストエディター、アウトライナー、IDE |
| ライセンス | マサチューセッツ工科大学 |
| Webサイト | leo-editor |
Leoは、整理、ナビゲーション、カスタマイズ、スクリプト作成の中心ツールとしてクローン (アウトライン ノードの仮想コピー) を備えた オープン ソースのテキスト エディター/アウトライナーです。
Leoは言語非依存型、つまり「適応型LPE」(文芸的プログラミング環境)であるため、人間またはコンピュータのプログラミング言語(例:Python、C、C++、Java)のテキストやコードを操作できます。[ 1 ]構文の強調表示は、様々なプログラミング言語で提供されています。[ 2 ] LeoはPythonで書かれており、Pythonで書かれたプラグインで拡張できます。GUIはQtツールキットを使用し、構文認識エディタはScintillaに基づいています。LeoのアウトラインはXMLファイル として保存されます。
Leo の主たる機能は、テキスト編集に加えて、GUI によるドラッグアンドドロップとキーボードコマンドの両方で「アウトラインを構造化および管理するための幅広い便利な機能」を備えたアウトライナーの機能です。 [ 2 ] Leo のアウトライン ペインには、データ ノードのツリーが表示されます。ノードには、見出し、本文、その他の情報が含まれます。見出しは、当然のことながら、本文の説明として機能します。たとえば、@file ノードは、見出しが @file で始まるノードです。Leo のツリーは、実際には有向非巡回グラフであり、ノードは複数の親を持つことができます。Leo では、このようなノードをクローンと呼びます。クローンは、アウトライン ペインの複数の場所に表示されます。ビューは、子にクローンが含まれるノードです。1 つのアウトラインには、そこに含まれるノードの任意の数のビューを含めることができます。
@file ノードは外部ファイル、つまりアウトライン ファイル以外のコンピュータのファイル システム上のファイルを表します。アウトラインを保存すると、Leo は変更されたすべての @file ツリーを外部ファイルに自動的に書き戻します。外部ファイル内のセンチネル ラインと呼ばれるコメントは、アウトライン構造を表します。Leo がアウトラインを読み取るとき、これらのコメントにより、Leo は外部ファイルのデータのみを使用して @file ツリーを再作成できます。@auto ノードと@clean ノードは、センチネル コメントを使用しない外部ファイルを表します。@auto ノードを読み取るとき、Leo は外部ファイルのプログラム構造を使用して @auto ツリーを作成します。@clean ノードを読み取るとき、Leo はアウトラインの構造を使用して@clean ツリーを作成します。
Leo のアウトライン、つまり階層構造は、従来の文芸的プログラミングツールに見られるような、プログラムとドキュメントがインターリーブされた「チャンク」のウェブとは異なります。[ 3 ] [ 4 ] Leo ノードの本文には、Leo アウトラインのコンテキストで実行される Python スクリプトであるLeo スクリプトを含めることができます。シンプルなAPIにより、Leo スクリプトは読み込まれたアウトライン内のすべてのデータにフルアクセスできるだけでなく、Leo 自身のソースコードにもフルにアクセスできます。API には、スクリプトがアウトラインを簡単に走査できるようにする Pythonイテレータが含まれています。スクリプトは任意のノードツリーで構成できます。nowebに似たマークアップ言語が、 Leo にアウトライン(の一部)からスクリプトを作成する方法を指示します。見出しはスクリプトを制御およびガイドします。たとえば、@button ノードはユーザー定義のコマンドを作成します。Leo は、@button ノードのスクリプトを他のアウトラインノードのコンテキストで実行します。
{{cite journal}}: CS1 maint: bot: 元のURLステータス不明(リンク)表2:「適応性の高いLPEの例」、113ページ。同じ著者による要約版(書籍:Eckstein, Jutta、Baumeister, Hubert編、2004年6月)。「アジャイル手法を強化する文芸的プログラミング」。『エクストリームプログラミングとアジャイルプロセス』 、ベルリン、ハイデルベルク、ニューヨーク:Springer-Verlag。250 ~ 253ページ。ISBN 3-540-22137-9。表2:「いくつかの言語非依存LPE」、p. 251{{cite journal}}: CS1 maint: bot: 元のURLステータス不明(リンク)Leo は、出版された論文の著者のコピーの 12 ~ 13 ページで議論しました。いくつかの文芸的プログラミングシステムは、斬新なユーザーインターフェースに基づいて、全く異なるアプローチを採用しています。エドワード・リームの文芸的エディタであるLeoは、視覚的なアウトラインを使用して、ユーザーがプログラムの説明やデータにメタデータや説明を添付できるようにします。残念ながら、真に文芸的なプログラムは、Leoの階層的なアウトラインに基づくパラダイムを破ってしまう可能性があります。(1009ページ)