diff options
author | sefidel <contact@sefidel.net> | 2022-02-26 23:33:46 +0900 |
---|---|---|
committer | sefidel <contact@sefidel.net> | 2022-02-26 23:33:46 +0900 |
commit | e1d93225e090c68b0a7d4f37f31eab16e06e2a02 (patch) | |
tree | d18aa953615e3923207ca5d599d8a5559f0f744a | |
parent | 50221c9e9c73be4d28e3bc3ce85c69938ec410c1 (diff) | |
download | nvimrc-e1d93225e090c68b0a7d4f37f31eab16e06e2a02.tar.gz nvimrc-e1d93225e090c68b0a7d4f37f31eab16e06e2a02.zip |
feat(pack): add treesitter-{refactor,textobjects}
-rw-r--r-- | fnl/nvrc/pack.fnl | 4 | ||||
-rw-r--r-- | fnl/nvrc/packs/treesitter.fnl | 53 |
2 files changed, 51 insertions, 6 deletions
diff --git a/fnl/nvrc/pack.fnl b/fnl/nvrc/pack.fnl index 1e544da..e52b711 100644 --- a/fnl/nvrc/pack.fnl +++ b/fnl/nvrc/pack.fnl @@ -7,7 +7,9 @@ (pack! :nanotech/jellybeans.vim {:config "require('nvrc.colors').apply('jellybeans')"}) (pack! :nvim-treesitter/nvim-treesitter {:req :treesitter - :requires [(pack :p00f/nvim-ts-rainbow {:after :nvim-treesitter})]}) + :requires [(pack :p00f/nvim-ts-rainbow {:after :nvim-treesitter}) + (pack :nvim-treesitter/nvim-treesitter-refactor {:after :nvim-treesitter}) + (pack :nvim-treesitter/nvim-treesitter-textobjects {:after :nvim-treesitter})]}) (pack! :feline-nvim/feline.nvim {:req :feline}) (pack! :Pocco81/TrueZen.nvim {:cmd :TZAtaraxis}) diff --git a/fnl/nvrc/packs/treesitter.fnl b/fnl/nvrc/packs/treesitter.fnl index 2d12e1a..5ffd1fa 100644 --- a/fnl/nvrc/packs/treesitter.fnl +++ b/fnl/nvrc/packs/treesitter.fnl @@ -3,15 +3,58 @@ (local colors (require :nvrc.colors)) (setup {:ensure_installed [:fennel :lua :nix] - :highlight {:enable true - :use_languagetree true} + :highlight {:enable true :use_languagetree true} :rainbow {:enable true :extended_mode true :max_file_lines 2000 - :disable ["c" "cpp"] - :colors [ - (. colors :skyblue) + :disable [:c :cpp] + :colors [(. colors :skyblue) (. colors :blue) (. colors :violet) (. colors :magenta)]} + :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 :<M-2> + :goto_previous_usage :<M-1>}}} + :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 {:<M-l> "@parameter.inner" + :<M-j> "@function.outer"} + :swap_previous {:<M-h> "@parameter.inner" + :<M-k> "@function.outer"}} + :move {:enable true + :set_jumps true + :goto_next_start {"]m" "@function.outer" + "][" "@class.outer"} + :goto_next_end {"]M" "@function.outer" + "]]" "@class.outer"} + :goto_previous_start {"[m" "@function.outer" + "[[" "@class.outer"} + :goto_previous_end {"[M" "@function.outer" + "[]" "@class.outer"}}} :indent {:enable true}}) |