update+spade

This commit is contained in:
2026-06-06 12:11:51 +02:00
parent 7c2edc0ea3
commit 3f4f5e47d8
5 changed files with 76 additions and 43 deletions

View File

@ -13,6 +13,24 @@ vim.pack.add(
)
local ts = require('nvim-treesitter')
-- require('nvim-treesitter.install').prefer_git = true
vim.api.nvim_create_autocmd('User', {
pattern = 'TSUpdate',
callback = function()
require('nvim-treesitter.parsers').spade = {
install_info = {
path = "~/coding-projects/tree-sitter-spade/", -- local path or git repo
generate = true,
-- optional entries:
generate_requires_npm = false, -- if stand-alone parser without npm dependencies
queries = "queries/nvim"
},
filetype = "spade"
}
end
})
ts.setup {
-- Directory to install parsers and queries to (prepended to `runtimepath` to have priority)
install_dir = vim.fn.stdpath('data') .. '/site',
@ -23,6 +41,7 @@ ts.setup {
indent = { enable = false },
}
local languages =
{
"bash",
@ -43,6 +62,7 @@ local languages =
"vimdoc",
"yaml",
"wgsl",
"spade"
}
ts.install(languages):wait(300000)
@ -51,31 +71,30 @@ for _, lang in pairs(languages) do
vim.api.nvim_create_autocmd('FileType', {
pattern = { lang },
callback = function() vim.treesitter.start() end,
})
})
end
-- Incremental selection keybindings
vim.keymap.set({ 'x' }, '<c-p>', function()
require 'vim.treesitter._select'.select_prev(vim.v.count1)
require 'vim.treesitter._select'.select_prev(vim.v.count1)
end, { desc = 'Select previous treesitter node' })
vim.keymap.set({ 'x' }, '<c-n>', function()
require 'vim.treesitter._select'.select_next(vim.v.count1)
require 'vim.treesitter._select'.select_next(vim.v.count1)
end, { desc = 'Select next treesitter node' })
vim.keymap.set({ 'x', 'o' }, 'v', function()
if vim.treesitter.get_parser(nil, nil, { error = false }) then
require 'vim.treesitter._select'.select_parent(vim.v.count1)
else
vim.lsp.buf.selection_range(vim.v.count1)
end
if vim.treesitter.get_parser(nil, nil, { error = false }) then
require 'vim.treesitter._select'.select_parent(vim.v.count1)
else
vim.lsp.buf.selection_range(vim.v.count1)
end
end, { desc = 'Select parent treesitter node or outer incremental lsp selections' })
vim.keymap.set({ 'x', 'o' }, 'V', function()
if vim.treesitter.get_parser(nil, nil, { error = false }) then
require 'vim.treesitter._select'.select_child(vim.v.count1)
else
vim.lsp.buf.selection_range(-vim.v.count1)
end
if vim.treesitter.get_parser(nil, nil, { error = false }) then
require 'vim.treesitter._select'.select_child(vim.v.count1)
else
vim.lsp.buf.selection_range(-vim.v.count1)
end
end, { desc = 'Select child treesitter node or inner incremental lsp selections' })