62 lines
1.8 KiB
Lua
62 lines
1.8 KiB
Lua
local ts_config = require("nvim-treesitter.configs")
|
|
|
|
local parser_config = require("nvim-treesitter.parsers").get_parser_configs()
|
|
parser_config.bp = {
|
|
install_info = {
|
|
url = "",
|
|
files = { "src/parser.c" },
|
|
},
|
|
}
|
|
|
|
ts_config.setup({
|
|
highlight = {
|
|
enable = true,
|
|
-- Avoid duplicate highlighting
|
|
additional_vim_regex_highlighting = false,
|
|
},
|
|
indent = {
|
|
enable = true,
|
|
},
|
|
textobjects = {
|
|
select = {
|
|
enable = true,
|
|
-- Jump to matching text objects
|
|
lookahead = true,
|
|
keymaps = {
|
|
["aa"] = "@parameter.outer",
|
|
["ia"] = "@parameter.inner",
|
|
["ab"] = "@block.outer",
|
|
["ib"] = "@block.inner",
|
|
["ac"] = "@class.outer",
|
|
["ic"] = "@class.inner",
|
|
["af"] = "@function.outer",
|
|
["if"] = "@function.inner",
|
|
["ak"] = "@comment.outer",
|
|
["aS"] = "@statement.outer",
|
|
},
|
|
},
|
|
move = {
|
|
enable = true,
|
|
-- Add to jump list
|
|
set_jumps = true,
|
|
goto_next_start = {
|
|
["]m"] = "@function.outer",
|
|
["]S"] = "@statement.outer",
|
|
["]]"] = "@class.outer",
|
|
},
|
|
goto_next_end = {
|
|
["]M"] = "@function.outer",
|
|
["]["] = "@class.outer",
|
|
},
|
|
goto_previous_start = {
|
|
["[m"] = "@function.outer",
|
|
["[S"] = "@statement.outer",
|
|
["[["] = "@class.outer",
|
|
},
|
|
goto_previous_end = {
|
|
["[M"] = "@function.outer",
|
|
["[]"] = "@class.outer",
|
|
},
|
|
},
|
|
},
|
|
})
|