diff options
author | Christian Segundo | 2023-10-12 15:29:11 +0200 |
---|---|---|
committer | Christian Segundo | 2023-10-12 15:29:11 +0200 |
commit | 542613a0f58ccb3722c93b4b68677d7b5053fd57 (patch) | |
tree | 04a940df3e75a4b4cbe53cc3392c4e1c63fc8c6f /public/nvim/.nvim/lua/plugins/core/treesitter.lua | |
parent | 449a6f57a36862a8ff27b2a3cee0922f4e4d949e (diff) | |
download | dotfiles-542613a0f58ccb3722c93b4b68677d7b5053fd57.tar.gz |
Add nvim
Diffstat (limited to 'public/nvim/.nvim/lua/plugins/core/treesitter.lua')
-rw-r--r-- | public/nvim/.nvim/lua/plugins/core/treesitter.lua | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/public/nvim/.nvim/lua/plugins/core/treesitter.lua b/public/nvim/.nvim/lua/plugins/core/treesitter.lua new file mode 100644 index 0000000..3818555 --- /dev/null +++ b/public/nvim/.nvim/lua/plugins/core/treesitter.lua @@ -0,0 +1,54 @@ +---@param tbl table +---@return table +local tbl_uniq = function(tbl) + ---@type table<string, boolean> + local added = {} + local res = {} + res = vim.tbl_filter(function(k) + if added[k] then + return false + end + added[k] = true + return true + end, tbl) + + return res +end + +return { + { + "nvim-treesitter/nvim-treesitter", + build = ":TSUpdate", + cmd = { "TSUpdateSync" }, + event = { "BufReadPost", "BufNewFile" }, + init = function() + vim.o.foldmethod = "expr" + vim.o.foldexpr = "nvim_treesitter#foldexpr()" + end, + opts = { + ensure_installed = { "query" }, + ignore_install = {}, + highlight = { + enable = true, + }, + query_linter = { + enable = true, + use_virtual_text = true, + lint_events = { "BufWrite", "CursorHold" }, + }, + }, + config = function(_, opts) + if type(opts.ensure_installed) == "table" then + opts.ensure_installed = tbl_uniq(opts.ensure_installed) + end + require("nvim-treesitter.configs").setup(opts) + end, + }, + + { + "nvim-treesitter/playground", + build = ":TSInstall query", + dependencies = { "nvim-treesitter" }, + cmd = { "TSPlaygroundToggle" }, + }, +} |