summaryrefslogtreecommitdiff
path: root/ar/.config/LazyVim/lua/plugins/playground.lua
diff options
context:
space:
mode:
Diffstat (limited to 'ar/.config/LazyVim/lua/plugins/playground.lua')
-rw-r--r--ar/.config/LazyVim/lua/plugins/playground.lua38
1 files changed, 38 insertions, 0 deletions
diff --git a/ar/.config/LazyVim/lua/plugins/playground.lua b/ar/.config/LazyVim/lua/plugins/playground.lua
new file mode 100644
index 0000000..e696828
--- /dev/null
+++ b/ar/.config/LazyVim/lua/plugins/playground.lua
@@ -0,0 +1,38 @@
+return {
+ "nvim-treesitter/playground",
+ dependencies = { "nvim-treesitter/nvim-treesitter" },
+ cmd = { "TSPlaygroundToggle" },
+ config = function()
+ require("nvim-treesitter.configs").setup({
+ playground = {
+ enable = true,
+ disable = {},
+ updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code
+ persist_queries = false, -- Whether the query persists across vim sessions
+ keybindings = {
+ toggle_query_editor = "o",
+ toggle_hl_groups = "i",
+ toggle_injected_languages = "t",
+ toggle_anonymous_nodes = "a",
+ toggle_language_display = "I",
+ focus_language = "f",
+ unfocus_language = "F",
+ update = "R",
+ goto_node = "<cr>",
+ show_help = "?",
+ },
+ },
+
+ query_linter = {
+ enable = true,
+ use_virtual_text = true,
+ lint_events = { "BufWrite", "CursorHold" },
+ },
+ })
+ end,
+ keys = {
+ { mode = "n", "<leader>pg", "<cmd> TSPlaygroundToggle <cr>", desc = "Toggle Playground" },
+ { mode = "n", "<leader>pc", "<cmd> TSHighlightCapturesUnderCurso <cr>", desc = "Highlight Captures" },
+ { mode = "n", "<leader>pn", "<cmd> TSNodeUnderCursor <cr>", desc = "Node Under Cursor" },
+ },
+}