34 lines
2.2 KiB
Text
34 lines
2.2 KiB
Text
|
(let [treesitter (require :nvim-treesitter)
|
||
|
treesitter-config (require :nvim-treesitter.configs)
|
||
|
treesitter-parsers (require :nvim-treesitter.parsers)
|
||
|
set-bufvar vim.api.nvim_buf_set_var
|
||
|
rainbow-parsers [:fennel]]
|
||
|
(treesitter.define_modules {:nifoc_hooks {:enable false
|
||
|
:attach (lambda [bufnr]
|
||
|
(set-bufvar bufnr
|
||
|
:nifoc_treesitter_enabled
|
||
|
1))
|
||
|
:detach (lambda [bufnr]
|
||
|
(set-bufvar bufnr
|
||
|
:nifoc_treesitter_enabled
|
||
|
0))
|
||
|
:is_supported #true}})
|
||
|
(treesitter-config.setup {:ensure_installed :maintained
|
||
|
:highlight {:enable true}
|
||
|
:indent {:enable true}
|
||
|
:textobjects {:select {:enable true
|
||
|
:keymaps {:af "@function.outer"
|
||
|
:if "@function.inner"
|
||
|
:ac "@conditional.outer"
|
||
|
:ic "@conditional.inner"}}}
|
||
|
:rainbow {:enable true
|
||
|
:disable (vim.tbl_filter (fn [parser]
|
||
|
(not (vim.tbl_contains rainbow-parsers
|
||
|
parser)))
|
||
|
(treesitter-parsers.available_parsers))}
|
||
|
:matchup {:enable true}
|
||
|
:autopairs {:enable true}
|
||
|
:autotag {:enable true}
|
||
|
:playground {:enable true}
|
||
|
:nifoc_hooks {:enable true}}))
|