Ft_ada
Nvim :help
頁面,從 原始碼 使用 tree-sitter-vimdoc 解析器產生。
ADA 檔案類型外掛程式參考手冊~
ADA
此模式是為 Ada 的 2005 版本("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 通常顯示良好)。
要啟用它們,請為該選項賦予一個值。例如,要開啟一個選項
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([
{檔案}
]) 設定 gnat 專案檔案並載入關聯的會期。開啟的專案將會關閉,並寫入會期。如果呼叫時沒有檔案名稱,則會開啟檔案選取器以選取專案檔案。如果呼叫時使用空字串,則會關閉專案和關聯的會期。
Dec Ada (也依年代順序稱為 VAX Ada、Dec Ada、Compaq Ada 和 HP Ada) 是一個相當舊的 Ada 83 編譯器。支援為基本:<F7>
會編譯目前的單元。
Dec Ada 編譯器預期會將套件名稱(而不是檔案名稱)作為參數傳遞。編譯器外掛程式支援常見的檔案名稱慣例,將檔案轉換為單元名稱。允許使用 '-' 和 '__' 作為分隔符號。
g:ada_rainbow_color g:ada_rainbow_color 布林值 (存在時為 true) 為 '(' 和 ')' 使用彩虹顏色。您需要 rainbow_parenthesis 才能使用此功能。
g:ada_folding g:ada_folding 設定 ("sigpft") 將摺疊用於 Ada 原始碼。's':載入時啟動語法摺疊 'p':摺疊套件 'f':摺疊函式和程序 't':摺疊類型 'c':摺疊條件式 'g':載入時啟動 gnat 美化列印摺疊 'i':將單獨的 "is" 與上一行摺疊 'b':將單獨的 "begin" 與上一行摺疊 'p':將單獨的 "private" 與上一行摺疊 'x':將單獨的 "exception" 與上一行摺疊 'i':載入時啟動縮排摺疊
注意:語法摺疊處於早期 (無法使用) 階段,建議使用縮排或 gnat 美化摺疊。
為了使 gnat 美化摺疊能夠運作,建議使用下列設定:-cl3 -M79 -c2 -c3 -c4 -A1 -A2 -A3 -A4 -A5
為了使縮排摺疊能夠運作,建議使用下列設定:shiftwidth=3 softtabstop=3
g:ada_abbrev g:ada_abbrev 布林值 (存在時為 true) 新增一些縮寫。此功能或多或少已被各種完成方法取代。
g:ada_withuse_ordinary g:ada_withuse_ordinary 布林值 (存在時為 true) 將 "with" 和 "use" 顯示為一般關鍵字 (當用於參考其他編譯單元時,它們通常會特別反白顯示)。
g:ada_extended_tagging g:ada_extended_tagging 列舉 ("jump", "list") 使用擴展標籤,有兩個選項可用:"jump":使用 tjump 來跳轉。"list":新增標籤快速修復列表。一般的標籤功能不支援函式或運算子多載,因為這些功能在 C 語言中不可用,而標籤功能最初是為 C 語言開發的。
"exists" 類型是一種布林值,當變數被定義時視為 true,而當變數未定義時則視為 false。變數設定的值沒有影響。
g:ada#Comment 字串 用於搜尋 Ada 註解的正規表示式。
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