(import-macros {: highlight!} :nvrc.macro.color) (local {: setup} (require :nvim-treesitter.configs)) (setup {:ensure_installed [:fennel :lua :nix :rust :haskell :c :go :typst :comment] :highlight {:enable true :use_languagetree true} :incremental_selection {:enable true :keymaps {:init_selection :gnn :node_incremental :grn :scope_incremental :grc :node_decremental :grm}} :refactor {:highlight_definitions {:enable true} :highlight_current_scope {:enable false} :smart_rename {:enable true :keymaps {:smart_rename :grr}} :navigation {:enable true :keymaps {:goto_definition :gnd :list_definitions :gnD :goto_next_usage : :goto_previous_usage :}}} :textobjects {:select {:enable true :lookahead true :keymaps {:af "@function.outer" :if "@function.inner" :aC "@class.outer" :iC "@class.inner" :ac "@conditional.outer" :ic "@conditional.inner" :ae "@block.outer" :ie "@block.inner" :al "@loop.outer" :il "@loop.inner" :is "@statement.inner" :as "@statement.outer" :ad "@comment.outer" :am "@call.outer" :im "@call.inner"}} :swap {:enable true :swap_next {: "@parameter.inner" : "@parameter.inner" : "@function.outer"} :swap_previous {: "@parameter.inner" : "@parameter.inner" : "@function.outer"}} :move {:enable true :set_jumps true :goto_next_start {"]f" "@function.outer" "][" "@class.outer"} :goto_next_end {"]F" "@function.outer" "]]" "@class.outer"} :goto_previous_start {"[f" "@function.outer" "[[" "@class.outer"} :goto_previous_end {"[F" "@function.outer" "[]" "@class.outer"}}} :indent {:enable true}}) ; Treesitter colour corrections ; Match jellybeans.vim colourscheme (highlight! "@variable" {:link :Normal}) ; (highlight! "@constant.builtin" {:link :Constant}) ; ; (highlight! "@type.builtin" {:link :Type}) (highlight! "@keyword.modifier" {:link :StorageClass}) (highlight! "@keyword.directive" {:link :PreProc}) ; (highlight! "@keyword.function" {:link :Define}) ; (highlight! "@punctuation.delimiter" {:link :Normal}) (highlight! "@punctuation.bracket" {:link :Normal}) ;; C/C++ (highlight! "@keyword.import.c" {:link :PreProc}) (highlight! "@keyword.import.cpp" {:link "@keyword.import.c"}) ;; Ruby (highlight! "@variable.member.ruby" {:link :rubyInstanceVariable}) (highlight! "@keyword.type.ruby" {:link :rubyClass}) (highlight! "@keyword.ruby" {:link :rubyClass})