1
0
Fork 0
dotfiles/config/nvim/plugins/treesitter.fnl

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}}))