Neovim で GraphQL ファイルの閲覧時、 LSP を使わずに定義元にジャンプする
投稿: 2022年8月9日
Neovim で GraphQL のスキーマを見ている時、定義元に飛びたいときがよくある。GraphQL-LSP を入れてリッチな編集環境を整えるのも良いが、インストール及びプロジェクトごとの設定がやや面倒だったので、単純に GraphQL の文法に従って検索するコマンドを定義した。
正規表現の部分はやや見にくいが、 GraphQL でありえる宣言を羅列して、そのどれかに引っかかるようにしているだけである。 interface
も入れても良いかもしれない。
vim.api.nvim_create_autocmd({ "BufReadPost" }, {
pattern = { "*.gql", "*.graphql" },
callback = function()
vim.keymap.set(
"n",
"gh",
"/\\(\\(type\\)\\|\\(input\\)\\|\\(enum\\)\\|\\(scalar\\)\\) [\\n| ]:nohl",
{ buffer = true }
)
end,
})
なお、既に gh
を vim.lsp.buf.definition
に割り当てているので、ほぼ同じ操作感でいけるようになった。嬉しい。