63 lines
3.1 KiB
Fennel
63 lines
3.1 KiB
Fennel
(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
|
|
install-parsers [:bash
|
|
:comment
|
|
:css
|
|
:dockerfile
|
|
:eex
|
|
:elixir
|
|
:erlang
|
|
:fennel
|
|
:fish
|
|
:heex
|
|
:help
|
|
:html
|
|
:http
|
|
:javascript
|
|
:jsdoc
|
|
:json
|
|
:lua
|
|
:make
|
|
:nix
|
|
:query
|
|
:regex
|
|
:ruby
|
|
:scss
|
|
:svelte
|
|
:toml
|
|
:tsx
|
|
:typescript
|
|
:vim
|
|
:yaml]
|
|
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 install-parsers
|
|
:sync_install true
|
|
: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)))
|
|
install-parsers)}
|
|
:matchup {:enable true}
|
|
:autopairs {:enable true}
|
|
:autotag {:enable true}
|
|
:playground {:enable true}
|
|
:nifoc_hooks {:enable true}}))
|