diff --git a/config/nvim/lua/config/keymaps.lua b/config/nvim/lua/config/keymaps.lua index 141880e..3de2ce2 100644 --- a/config/nvim/lua/config/keymaps.lua +++ b/config/nvim/lua/config/keymaps.lua @@ -18,6 +18,11 @@ keymap("n", "", ":Telescope find_files") keymap("n", "", ":Telescope live_grep") keymap("n", "", ":Telescope buffers") +-- SplitJoin +keymap("n", "gs", ":TSJSplit", { desc = "Split block" }) +keymap("n", "gj", ":TSJJoin", { desc = "Join blocks" }) +keymap("n", "gm", ":TSJToggle", { desc = "SplitJoin togggle" }) + -- Formatting keymap("n", "f", vim.lsp.buf.format, { desc = "Format buffer" }) diff --git a/config/nvim/lua/config/plugins/null-ls.lua b/config/nvim/lua/config/plugins/null-ls.lua index 6b97949..baa04c3 100644 --- a/config/nvim/lua/config/plugins/null-ls.lua +++ b/config/nvim/lua/config/plugins/null-ls.lua @@ -24,6 +24,7 @@ return function() "vue", "yaml", }, + timeout = 5000, }), null_ls.builtins.formatting.rustfmt, null_ls.builtins.formatting.standardrb, diff --git a/config/nvim/lua/config/plugins/tree-sitter.lua b/config/nvim/lua/config/plugins/tree-sitter.lua index baac91f..7f3039a 100644 --- a/config/nvim/lua/config/plugins/tree-sitter.lua +++ b/config/nvim/lua/config/plugins/tree-sitter.lua @@ -2,12 +2,14 @@ return function() require("nvim-treesitter.configs").setup({ highlight = { enable = true }, indent = { enable = true }, + endwise = { enable = true }, context_commentstring = { enable = true }, auto_install = true, sync_install = false, ensure_installed = { "bash", "c", + "comment", "css", "dockerfile", "eex", diff --git a/config/nvim/lua/config/plugins/treesj.lua b/config/nvim/lua/config/plugins/treesj.lua new file mode 100644 index 0000000..15a291c --- /dev/null +++ b/config/nvim/lua/config/plugins/treesj.lua @@ -0,0 +1,3 @@ +return function() + require("treesj").setup() +end diff --git a/config/nvim/lua/plugins/init.lua b/config/nvim/lua/plugins/init.lua index 495783c..f5eaac1 100644 --- a/config/nvim/lua/plugins/init.lua +++ b/config/nvim/lua/plugins/init.lua @@ -7,6 +7,11 @@ return { "hrsh7th/vim-vsnip", "tpope/vim-fugitive", "preservim/nerdcommenter", + { + "Wansmer/treesj", + dependencies = { "nvim-treesitter/nvim-treesitter" }, + config = require("config.plugins.treesj"), + }, { "MaximilianLloyd/ascii.nvim", dependencies = { diff --git a/config/nvim/lua/plugins/tree-sitter.lua b/config/nvim/lua/plugins/tree-sitter.lua index e587652..621c682 100644 --- a/config/nvim/lua/plugins/tree-sitter.lua +++ b/config/nvim/lua/plugins/tree-sitter.lua @@ -9,7 +9,7 @@ return { init = function() -- PERF: no need to load the plugin, if we only need its queries for mini.ai local plugin = - require("lazy.core.config").spec.plugins["nvim-treesitter"] + require("lazy.core.config").spec.plugins["nvim-treesitter"] local opts = require("lazy.core.plugin").values(plugin, "opts", false) local enabled = false if opts.textobjects then @@ -28,6 +28,7 @@ return { end, }, "JoosepAlviste/nvim-ts-context-commentstring", + "RRethy/nvim-treesitter-endwise", }, config = require("config.plugins.tree-sitter"), },