Ft_ada
Nvim の:help
ページ。 生成元はソースで、tree-sitter-vimdocパーサーを使用しています。
ADA ファイルタイププラグインリファレンスマニュアル~
ADA
このモードはAda 2005版(オブジェクト指向プログラミング、保護型などを含む)用に設計されています。元のAda言語(Ada83、Ada87、Ada95)で記述されたコードも処理しますが、Ada 2005専用のキーワードを使用しているコードは誤って色付けされます(そのようなコードは修正する必要があります)。Adaの詳細については、
http://www.adapower.comを参照してください。
Adaモードは、多くの状況をきれいに処理します。
たとえば、「-5」の「-」は数値ですが、「A-5」の同じ文字は演算子であることを認識しています。通常、「with」または「use」句で別のコンパイルユニットを参照する場合、Cの「#include」と同じように色付けされます。「Conditional」または「Repeat」グループの色が異なる場合、「end if」と「end loop」はそれぞれのグループの一部として色付けされます。
Vimの「highlight」コマンドを使用して、これらを異なる色に設定できます(ループの表示方法を変更するには、コマンド「:hi Repeat」を入力し、それに続けて色指定を行います。単純なターミナルでは、色指定ctermfg=White
がよく表示されます)。
有効にするには、オプションに値を代入します。たとえば、1つ有効にするには
let g:ada_standard_types = 1
無効にするには「:unlet」を使用します。例
unlet g:ada_standard_types
コロンを使用して、これらのコマンドをコマンドラインに入力して、Adaファイルを読み込む前に一時的に設定できます。「let」コマンド(コロンなし)を
init.vimファイルに追加することで、これらのオプション設定を永続的にすることができます。
Adaプラグインは、以下の機能をサポートしています。
このプラグインは、Adaファイルが開かれた場合にのみAdaモードの機能をアクティブにし、メインメニューとポップアップメニューにAda関連のエントリを追加します。
GNAT XREFは、コンパイラの内部情報(aliファイル)を使用してタグファイルを生成します。これには、100%正確であることと、深くネストされた分析が可能であるという利点があります。ただし、コードはコンパイルする必要があり、ジェネレータは非常に遅く、作成されたタグファイルには各エントリの基本的なCtags情報しか含まれていません。これは、より高度なVimコードブラウザプラグインの一部には不十分です。
注意:「gnat xref -v」の使用は非常にトリッキーです。診断出力はほとんどないため、何も出力されない場合は、通常、パラメータが間違っています。重要なヒントをいくつか紹介します。
1) まずコードをコンパイルし、「-aO」オプションを使用して.aliファイルを指定する必要があります。2) 「gnat xref -v ../Include/adacl.ads」は機能しません。「gnat xref -v -aI../Include adacl.ads」を使用してください。3) `gnat xref -v -aI../Include *.ad?`は機能しません。「cd ../Include」を実行してから`gnat xref -v *.ad?`を使用してください。4) プロジェクトマネージャのサポートは完全に壊れています。「gnat xref -Padacl.gpr」は試さないでください。5) タグファイルがソートされている場合、Vimは高速です。「sort --unique --ignore-case --output=tags tags」を使用してください。6) ファイルをソート済みとしてマークするために、先頭に「!_TAG_FILE_SORTED 2 %sort ui」を挿入することを忘れないでください。
Universal/Exuberant Ctagsは独自の多言語コードパーサーを使用します。パーサーは非常に高速で、多くの追加情報を生成し、現在コンパイルされていないファイルでも実行できます。
Universal/Exuberant Ctagsを使用する他のVimツールもたくさんあります。Universal Ctagsが推奨され、Exuberant Ctagsは開発が終了しています。
Universal/Exuberant CtagsのAdaパーサーはまだ新しいものです。完全なサポートはまだ期待しないでください。
Adaモードは複数のAdaコンパイラをサポートしており、Adaソースが開かれるたびに
g:ada_default_compilerに設定されているコンパイラを自動的にロードします。提供されているコンパイラプラグインは、実際のコンパイラプラグインと、サポート関数と変数の集合に分割されています。これにより、開発環境に合わせて微調整された特殊なコンパイラプラグインを簡単に開発できます。
GNATは、利用可能な唯一のフリー(ビールとスピーチ)のAdaコンパイラです。使用されるライセンス条項が異なるいくつかのバージョンがあります。
GNATコンパイラプラグインは、
<F7>
を押すとコンパイルを実行し、すぐに結果を表示します。使用するプロジェクトファイルを設定するには、以下のように設定します。
call g:gnat.Set_Project_File ('my_project.gpr')
プロジェクトファイルを設定すると、Vimセッション(
views-sessions)も作成されるため、GPSと同様に、開いているファイル、ウィンドウの位置などは、プロジェクトごとに個別に記憶されます。
g:gnat.Set_Project_File() g:gnat.Set_Project_File([`{file}`]) GNATプロジェクトファイルを設定し、関連付けられたセッションをロードします。開いているプロジェクトは閉じられ、セッションが書き込まれます。ファイル名なしで呼び出された場合は、プロジェクトファイルを選択するためのファイルセレクタが開きます。空の文字列で呼び出された場合は、プロジェクトと関連付けられたセッションが閉じられます。
Dec Ada(時系列順にVAX Ada、Dec Ada、Compaq Ada、HP Adaとしても知られています)は、かなり古いAda 83コンパイラです。サポートは基本的なもので、<F7>
で現在のユニットをコンパイルします。
Dec Adaコンパイラは、ファイル名ではなくパッケージ名をパラメータとして渡すことを期待しています。コンパイラプラグインは、ファイル名をユニット名に変換するための通常のファイル名規則をサポートしています。「-」と「__」の両方がセパレータとして許可されています。
g:ada_line_errors g:ada_line_errors bool(存在する場合true)長すぎる行をハイライト表示します。
注意:このハイライトオプションはCPU負荷が高いです。
g:ada_rainbow_color g:ada_rainbow_color bool(存在する場合true)「(」と「)」に虹色を使用します。動作させるには、rainbow_parenthesisが必要です。
g:ada_folding g:ada_folding 設定("sigpft")Adaソースの折りたたみを使用します。's':ロード時にシンタックス折りたたみアクティブ化 'p':パッケージの折りたたみ 'f':関数とプロシージャの折りたたみ 't':型の折りたたみ 'c':条件付きの折りたたみ 'g':ロード時にgnat pretty print折りたたみアクティブ化 'i':単独の"is"を上の行と折りたたみ 'b':単独の"begin"を上の行と折りたたみ 'p':単独の"private"を上の行と折りたたみ 'x':単独の"exception"を上の行と折りたたみ 'i':インデント折りたたみアクティブ化
注意:シンタックス折りたたみは初期段階(使用不可)であり、インデントまたはgnat pretty折りたたみを使用することをお勧めします。
gnat pretty折りたたみを使用するには、-cl3 -M79 -c2 -c3 -c4 -A1 -A2 -A3 -A4 -A5の設定をお勧めします。
インデント折りたたみを使用するには、shiftwidth=3 softtabstop=3の設定をお勧めします。
g:ada_abbrev g:ada_abbrev bool(存在する場合true)いくつかの略語を追加します。この機能は、さまざまな補完方法によってほぼ置き換えられています。
g:ada_withuse_ordinary g:ada_withuse_ordinary bool(存在する場合true)「with」と「use」を通常のキーワードとして表示します(他のコンパイルユニットを参照するために使用される場合、通常は特別にハイライト表示されます)。
g:ada_begin_preproc g:ada_begin_preproc bool(存在する場合true)すべてのbeginのようなキーワードをCプリプロセッサコマンドの色付けを使用して表示します。
g:ada_extended_tagging g:ada_extended_tagging enum ("jump", "list") 拡張タグ付けを使用します。2つのオプションがあります。"jump": tjumpを使用してジャンプします。"list": タグのクイックフィックスリストを追加します。通常のタグ付けは、C言語にはこれらの機能がないため、関数や演算子のオーバーロードをサポートしていません。タグ付けはもともとC言語用に開発されました。
g:ada_extended_completion g:ada_extended_completion
<C-N>
および
<C-R>
補完(
i_CTRL-N)に拡張補完を使用します。このモードでは、'.'は識別子の一部として使用されるため、'Object.Method'や'Package.Procedure'がまとめて補完されます。
"exists"型は、変数が定義されている場合はtrue、定義されていない場合はfalseと見なされるブール値です。変数が設定される値は関係ありません。
:AdaTagDir
:AdaTagDir現在のファイルのディレクトリ用のタグファイルを作成します。
g:ada#Comment string Adaのコメントを検索するための正規表現。
g:ada#Ctags_Kinds g:ada#Ctags_Kinds dictionary of lists AdaのCtagsサポートが生成する様々な種類のアイテムの辞書。
ada#Word([
{line}
,
{col}
])
ada#Word()カーソル下(または指定された行/列)にあるAdaエンティティの完全名を返し、必要に応じて空白/改行を削除します。
ada#List_Tag([
{line}
,
{col}
])
ada#Listtags()クイックフィックスウィンドウ内で、カーソル下(または指定された行/列)にあるAdaエンティティのすべての出現箇所をリストします。
ada#Jump_Tag (
{ident}
,
{mode}
)
ada#Jump_Tag()タグジャンプリストで、カーソル下(または指定された行/列)にあるAdaエンティティのすべての出現箇所をリストします。モードは"tjump"または"stjump"のいずれかです。
ada#Create_Tags (
{option}
)
ada#Create_Tags()Ctagsを使用してタグファイルを作成します。オプションは、現在のファイルの場合は"file"、現在のファイルのディレクトリの場合は"dir"、ファイル名のいずれかです。
gnat#Insert_Tags_Header()
GNAT XREF出力から欠落しているタグファイルヘッダー(_TAG_)情報を現在のファイルに追加します。
必要に応じて、以下の追加プラグインをインストールできます。これらはAdaと連携して動作し、Adaモードの機能を強化します。
vim: textwidth=78 nowrap tabstop=8 shiftwidth=4 softtabstop=4 noexpandtab