From 5b2e7b2b7c6b3ac3556d4caeba0116af13f9dcb3 Mon Sep 17 00:00:00 2001 From: Gustaf Rydholm Date: Sun, 17 Sep 2023 23:00:07 +0200 Subject: Add text-objects --- fnl/plugins/editor/treesitter.fnl | 71 ++++++++++++++++++++++++--------------- 1 file changed, 43 insertions(+), 28 deletions(-) (limited to 'fnl/plugins/editor') diff --git a/fnl/plugins/editor/treesitter.fnl b/fnl/plugins/editor/treesitter.fnl index bb22287..1c85ea4 100644 --- a/fnl/plugins/editor/treesitter.fnl +++ b/fnl/plugins/editor/treesitter.fnl @@ -1,40 +1,55 @@ ;; Treesitter is a tool for building syntax trees for source files. ;; In the neovim context it helps with better coloring. -(local opts {:ensure_installed [:c - :dockerfile - :erlang - :fennel - :go - :haskell - :hcl - :html - :latex - :lua - :make - :markdown - :ocaml - :org - :python - :rust - :sql - :toml - :vim - :yaml] - :sync_install false - :ignore_install [""] - :autopairs {:enable true} - :highlight {:enable true - :additional_vim_regex_highlighting [:org]} - :context_commentstring {:enable true :enable_autocmd false} - :indent {:enable true :disable [:yaml :python :css]} - :playground {:enable true}}) +(local opts + {:ensure_installed [:c + :dockerfile + :erlang + :fennel + :go + :haskell + :hcl + :html + :latex + :lua + :make + :markdown + :ocaml + :org + :python + :rust + :sql + :toml + :vim + :yaml] + :sync_install false + :ignore_install [""] + :autopairs {:enable true} + :highlight {:enable true :additional_vim_regex_highlighting [:org]} + :context_commentstring {:enable true :enable_autocmd false} + :indent {:enable true :disable [:yaml :python :css]} + :playground {:enable true} + :textobjects {:select {:enable true + :lookahead true + :keymaps {:af "@function.outer" + :if "@function.inner" + :ac "@class.outer" + :ic {:query "@class.inner" + :desc "Select inner part of a class region"} + :as {:query "@scope" + :query_group :locals + :desc "Select language scope"}} + :selection_modes {"@parameter.outer" :v + "@function.outer" :V + "@class.outer" :} + :include_surrounding_whitespace true}}}) (fn setup [] (let [treesitter (require :nvim-treesitter.configs)] (treesitter.setup opts))) {1 :nvim-treesitter/nvim-treesitter + :dependencies [{1 :nvim-treesitter/nvim-treesitter-textobjects}] :build ":TSUpdate" :event :VeryLazy :config (fn [] -- cgit v1.2.3-70-g09d2