Ft_ada

Nvim の:helpページ。 生成元はソースで、tree-sitter-vimdocパーサーを使用しています。


ADA ファイルタイププラグインリファレンスマニュアル~

ADA

1. シンタックスハイライト ft-ada-syntax 2. ファイルタイププラグイン ft-ada-plugin 3. オムニ補完 ft-ada-omni 3.1 "gnat xref"によるオムニ補完 gnat-xref 3.2 "ctags"によるオムニ補完 ada-ctags 4. コンパイラサポート ada-compiler 4.1 GNAT compiler-gnat 4.2 Dec Ada compiler-decada 5. 参照 ada-reference 5.1 オプション ft-ada-options 5.2 コマンド ft-ada-commands 5.3 変数 ft-ada-variables 5.4 定数 ft-ada-constants 5.5 関数 ft-ada-functions 6. その他のプラグイン ada-extra-plugins

1. シンタックスハイライト~

ft-ada-syntax
このモードは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がよく表示されます)。
このAdaモードでは、選択できるオプションがいくつかあります。完全なリストについては、ft-ada-optionsを参照してください。
有効にするには、オプションに値を代入します。たとえば、1つ有効にするには
let g:ada_standard_types = 1
無効にするには「:unlet」を使用します。例
unlet g:ada_standard_types
コロンを使用して、これらのコマンドをコマンドラインに入力して、Adaファイルを読み込む前に一時的に設定できます。「let」コマンド(コロンなし)をinit.vimファイルに追加することで、これらのオプション設定を永続的にすることができます。
低速(90MHz)のPCでもこのモードは高速に動作しますが、パフォーマンスが許容できない場合は、g:ada_withuse_ordinaryを有効にしてください。
g:ada_foldingが設定されている場合、シンタックス折りたたみ命令(fold-syntax)が追加されます。

2. ファイルタイププラグイン~

ft-ada-indent ft-ada-plugin
Adaプラグインは、以下の機能をサポートしています。
自動インデント(indent.txt
挿入補完(i_CTRL-N
ユーザ補完(i_CTRL-X_CTRL-U
タグ検索(tagsrch.txt
クイックフィックス(quickfix.txt
バックスペース処理('backspace'
コメント処理('comments''commentstring'
このプラグインは、Adaファイルが開かれた場合にのみAdaモードの機能をアクティブにし、メインメニューとポップアップメニューにAda関連のエントリを追加します。

3. オムニ補完~

ft-ada-omni
Adaのオムニ補完(i_CTRL-X_CTRL-O)は、「gnat xref -v」または「Universal Ctags」(https://ctags.io)によって作成されたタグデータベースを使用します。補完機能は、タグファイルの作成に使用されたツールを自動的に検出します。

3.1 "gnat xref"によるオムニ補完~

gnat-xref
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」を挿入することを忘れないでください。

3.2 "ctags"によるオムニ補完~

ada-ctags
Universal/Exuberant Ctagsは独自の多言語コードパーサーを使用します。パーサーは非常に高速で、多くの追加情報を生成し、現在コンパイルされていないファイルでも実行できます。
Universal/Exuberant Ctagsを使用する他のVimツールもたくさんあります。Universal Ctagsが推奨され、Exuberant Ctagsは開発が終了しています。
https://ctags.ioから入手できるUniversal Ctagsをインストールする必要があります。
Universal/Exuberant CtagsのAdaパーサーはまだ新しいものです。完全なサポートはまだ期待しないでください。

4. コンパイラサポート~

ada-compiler
Adaモードは複数のAdaコンパイラをサポートしており、Adaソースが開かれるたびにg:ada_default_compilerに設定されているコンパイラを自動的にロードします。提供されているコンパイラプラグインは、実際のコンパイラプラグインと、サポート関数と変数の集合に分割されています。これにより、開発環境に合わせて微調整された特殊なコンパイラプラグインを簡単に開発できます。

4.1 GNAT~

compiler-gnat
GNATは、利用可能な唯一のフリー(ビールとスピーチ)のAdaコンパイラです。使用されるライセンス条項が異なるいくつかのバージョンがあります。
GNATコンパイラプラグインは、<F7>を押すとコンパイルを実行し、すぐに結果を表示します。使用するプロジェクトファイルを設定するには、以下のように設定します。
call g:gnat.Set_Project_File ('my_project.gpr')
プロジェクトファイルを設定すると、Vimセッション(views-sessions)も作成されるため、GPSと同様に、開いているファイル、ウィンドウの位置などは、プロジェクトごとに個別に記憶されます。
gnat_members
GNAT オブジェクト
g:gnat.Make()
g:gnat.Make() はg:gnat.Make_Commandを呼び出し、結果をクイックフィックスウィンドウに表示します。
g:gnat.Pretty()
g:gnat.Pretty() はg:gnat.Pretty_Programを呼び出します。
g:gnat.Find()
g:gnat.Find() はg:gnat.Find_Programを呼び出します。
g:gnat.Tags()
g:gnat.Tags() はg:gnat.Tags_Commandを呼び出します。
g:gnat.Set_Project_File()
g:gnat.Set_Project_File([`{file}`]) GNATプロジェクトファイルを設定し、関連付けられたセッションをロードします。開いているプロジェクトは閉じられ、セッションが書き込まれます。ファイル名なしで呼び出された場合は、プロジェクトファイルを選択するためのファイルセレクタが開きます。空の文字列で呼び出された場合は、プロジェクトと関連付けられたセッションが閉じられます。
g:gnat.Project_File
g:gnat.Project_File 文字列 現在のプロジェクトファイル。
g:gnat.Make_Command
g:gnat.Make_Command 文字列 g:gnat.Make()に使用される外部コマンド('makeprg')。
g:gnat.Pretty_Program
g:gnat.Pretty_Program 文字列 g:gnat.Pretty()に使用される外部コマンド。
g:gnat.Find_Program
g:gnat.Find_Program 文字列 g:gnat.Find()に使用される外部コマンド。
g:gnat.Tags_Command
g:gnat.Tags_Command 文字列 g:gnat.Tags()に使用される外部コマンド。
g:gnat.Error_Format
g:gnat.Error_Format 文字列 エラーフォーマット('errorformat')。
Dec Ada(時系列順にVAX Ada、Dec Ada、Compaq Ada、HP Adaとしても知られています)は、かなり古いAda 83コンパイラです。サポートは基本的なもので、<F7>で現在のユニットをコンパイルします。
Dec Adaコンパイラは、ファイル名ではなくパッケージ名をパラメータとして渡すことを期待しています。コンパイラプラグインは、ファイル名をユニット名に変換するための通常のファイル名規則をサポートしています。「-」と「__」の両方がセパレータとして許可されています。
decada_members
DEC ADA オブジェクト
g:decada.Make()
g:decada.Make() 関数 g:decada.Make_Commandを呼び出し、結果をクイックフィックスウィンドウに表示します。
g:decada.Unit_Name()
g:decada.Unit_Name() 関数 現在のファイルのユニット名を取得します。
g:decada.Make_Command
g:decada.Make_Command 文字列 g:decada.Make()に使用される外部コマンド('makeprg')。
g:decada.Error_Format
g:decada.Error_Format 文字列 エラーフォーマット('errorformat')。

5. 参照~

ada-reference

5.1 オプション~

ft-ada-options
g:ada_standard_types
g:ada_standard_types bool(存在する場合true)パッケージStandard(例:「Float」)の型をハイライト表示します。
g:ada_space_errors
g:ada_no_trail_space_error
g:ada_no_tab_space_error
g:ada_all_tab_usage
g:ada_space_errors bool(存在する場合true)スペースの余分なエラーをハイライト表示します...g:ada_no_trail_space_error
ただし、行末の末尾スペースは無視します。g:ada_no_tab_space_error
ただし、スペースの後のタブは無視します。g:ada_all_tab_usage
すべてのタブの使用をハイライト表示します。
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_omni_with_keywords
g:ada_omni_with_keywords omni補完(compl-omni)にキーワード、プラグマ、属性を追加します。注記: ユーザー補完(i_CTRL-X_CTRL-U)でも常に補完できます。
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'がまとめて補完されます。
g:ada_gnat_extensions
g:ada_gnat_extensions bool (存在する場合true) GNAT拡張をサポートします。
g:ada_with_gnat_project_files
g:ada_with_gnat_project_files bool (存在する場合true) GNATプロジェクトファイルのキーワードと属性を追加します。
g:ada_default_compiler
g:ada_default_compiler string デフォルトコンパイラを設定します。現在サポートされているのは"gnat"と"decada"です。
"exists"型は、変数が定義されている場合はtrue、定義されていない場合はfalseと見なされるブール値です。変数が設定される値は関係ありません。

5.2 コマンド~

ft-ada-commands
:AdaRainbow :AdaRainbow
'('と')'のレインボーカラー(g:ada_rainbow_color)モードを切り替えます。
:AdaLines :AdaLines
行エラー(g:ada_line_errors)の表示を切り替えます。
:AdaSpaces :AdaSpaces
スペースエラー(g:ada_space_errors)の表示を切り替えます。
:AdaTagDir :AdaTagDir
現在のファイルのディレクトリ用のタグファイルを作成します。
:AdaTagFile :AdaTagFile
現在のファイル用のタグファイルを作成します。
:AdaTypes :AdaTypes
標準型(g:ada_standard_types)の色を切り替えます。
:GnatFind :GnatFind
g:gnat.Find()を呼び出します。
:GnatPretty :GnatPretty
g:gnat.Pretty()を呼び出します。
:GnatTags :GnatTags
g:gnat.Tags()を呼び出します。

5.3 変数~

ft-ada-variables
g:gnat
g:gnat object GNATコンパイルを管理する制御オブジェクト。 g:ada_default_compilerが"gnat"に設定されている場合、最初のAdaソースコードがロードされるときにオブジェクトが作成されます。gnat_membersで詳細を参照してください。
g:decada
g:decada object Dec Adaコンパイルを管理する制御オブジェクト。 g:ada_default_compilerが"decada"に設定されている場合、最初のAdaソースコードがロードされるときにオブジェクトが作成されます。decada_membersで詳細を参照してください。

5.4 定数~

ft-ada-constants
すべての定数はロックされています。:lockvarで詳細を参照してください。
g:ada#WordRegex
g:ada#WordRegex string Adaの単語を検索するための正規表現。
g:ada#DotWordRegex
g:ada#DotWordRegex string ドットで区切られたAdaの単語を検索するための正規表現。
g:ada#Comment
g:ada#Comment string Adaのコメントを検索するための正規表現。
g:ada#Keywords
g:ada#Keywords list of dictionaries omni補完で使用される形式のキーワード、属性などをリスト化したものです。complete-itemsで詳細を参照してください。
g:ada#Ctags_Kinds
g:ada#Ctags_Kinds dictionary of lists AdaのCtagsサポートが生成する様々な種類のアイテムの辞書。

5.5 関数~

ft-ada-functions
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#Insert_Tags_Header()
GNAT XREF出力から欠落しているタグファイルヘッダー(_TAG_)情報を現在のファイルに追加します。
ada#Switch_Syntax_Option ({option}) ada#Switch_Syntax_Option()
ハイライトオプションのオン/オフを切り替えます。Adaメニューで使用されます。
gnat#New()
gnat#New () 新しいgnatオブジェクトを作成します。g:gnatで詳細を参照してください。

6. 追加プラグイン~

ada-extra-plugins
必要に応じて、以下の追加プラグインをインストールできます。これらはAdaと連携して動作し、Adaモードの機能を強化します。
backup.vim https://www.vim.org/scripts/script.php?script_id=1537 必要に応じて、好きなだけ多くのバックアップを保持します。
rainbow_parenthesis.vim https://www.vim.org/scripts/script.php?script_id=1561 Adaは '(' と ')' だけを使用するため非常に役立ちます。
nerd_comments.vim https://www.vim.org/scripts/script.php?script_id=1218 ほとんどすべてのプログラミング言語で優れたコメントとコメント解除のサポートを提供します。
matchit.vim https://www.vim.org/scripts/script.php?script_id=39 任意の言語の '%' ジャンプ。通常の '%' ジャンプは '{}' スタイルの言語でのみ機能します。Adaモードは必要な検索パターンを設定します。
taglist.vim https://www.vim.org/scripts/script.php?script_id=273 ソースコードエクスプローラーサイドバー。Ada用のパッチがあります。
VimのGNU Ada Project配布版(http://gnuada.sourceforge.net)には、上記のすべてが含まれています。

vim: textwidth=78 nowrap tabstop=8 shiftwidth=4 softtabstop=4 noexpandtab

メイン
コマンド索引
クイックリファレンス