言語サポートプラグイン
このページでは、言語サーバーとシンタックスハイライトに関連するプラグインを説明します。
nvim-treesitter
シンタックスハイライトとテキストオブジェクトを提供します。
設定ファイル: lua/peinan/plugins/treesitter.lua
依存関係:
- nvim-treesitter-textobjects
主な機能:
- 高速なシンタックスハイライト
- テキストオブジェクトの拡張
- インクリメンタル選択
- コードフォールディング
設定の特徴:
- 自動インストール
- テキストオブジェクトの設定
- ハイライトの優先度設定
nvim-lspconfig
LSP(Language Server Protocol)の設定を提供します。
設定ファイル: lua/peinan/native/lsp/
主な機能:
- 言語サーバーの設定
- 診断の表示
- コード補完
- 定義・参照へのジャンプ
- リネーム
- フォーマット
設定ファイル:
lua/peinan/native/lsp/init.lua- LSPの初期化と診断設定lua/peinan/native/lsp/defaults.lua- デフォルトLSP設定lua/peinan/native/lsp/tsn.lua- TypeScript/Node.js固有の設定
主な機能:
- 診断の表示(エラー、警告、情報、ヒント)
- 仮想テキスト診断(トグル可能)
- 自動フォーマット(トグル可能)
- 診断フロート表示
- 診断間の移動
キーマップ: キーマップ一覧のLSP関連セクションを参照
nvim-cmp
補完エンジンを提供します。
設定ファイル: lua/peinan/plugins/completion.lua
依存関係:
- cmp-omni
- cmp-nvim-lsp
- cmp-buffer
- cmp-path
- cmp-cmdline
- cmp_luasnip
- LuaSnip
- friendly-snippets
主な機能:
- LSP補完
- パス補完
- バッファ補完
- コマンドライン補完
- スニペット補完
設定内容:
lua
local sources = CMP.config.sources({
{ name = "nvim_lsp" },
{ name = "path" },
})キーマップ:
<C-Space>- 補完開始<C-u>/<C-d>- ドキュメントスクロール<C-e>- 補完中止<CR>- 補完確定
補完ソース:
- nvim_lsp: LSPからの補完
- path: ファイルパスの補完
- buffer: バッファ内のテキスト補完(検索時)
- cmdline: コマンドライン補完
nvim-lint
リンターを統合します。
設定ファイル: lua/peinan/plugins/linter.lua
主な機能:
- 複数のリンターの統合
- 自動リント
- 診断の表示
設定の特徴:
- LSPアタッチ時に自動的に有効化
- ファイルタイプ別のリンター設定
todo-comments.nvim
TODOコメントをハイライトし、検索可能にします。
設定ファイル: lua/peinan/plugins/todo.lua
依存関係:
- plenary.nvim
主な機能:
- TODOコメントのハイライト
- カスタムキーワードのサポート
- Telescopeとの統合
サポートされているキーワード:
FIX- バグ修正HACK- ハックTODO- タスクWARN- 警告PERF- パフォーマンスNOTE- メモTEST- テスト
設定内容:
lua
require("todo-comments").setup({
signs = false,
keywords = {
FIX = { icon = "" },
HACK = { icon = "" },
TODO = { icon = "" },
WARN = { icon = "" },
PERF = { icon = "" },
NOTE = { icon = "" },
TEST = { icon = "" },
},
})キーマップ:
ft- TODO検索(カレントディレクトリ)fT- TODO検索(Gitルート)
lazydev.nvim
Lua開発を支援します。
依存関係:
- luvit-meta
主な機能:
- Lua APIの補完
- 型情報の表示
設定の特徴:
- Luaファイルタイプでのみ有効
- LSPアタッチ時に自動的に有効化