From 3e9eb8d1d7b1af1625763eeb3e5cc8c4e940c6c9 Mon Sep 17 00:00:00 2001 From: Rakshit Sinha Date: Mon, 9 Dec 2024 17:04:19 -0800 Subject: [PATCH] Added some documetation for nivm-tree, treesitter and more keymaps for noice --- lua/rakshit/core/keymaps.lua | 34 +++++++++- lua/rakshit/plugins/nvim-tree.lua | 64 +++++++++++++++++++ lua/rakshit/plugins/treesitter.lua | 99 +++++++++++++++--------------- 3 files changed, 146 insertions(+), 51 deletions(-) diff --git a/lua/rakshit/core/keymaps.lua b/lua/rakshit/core/keymaps.lua index 68494b28..db37fd7a 100644 --- a/lua/rakshit/core/keymaps.lua +++ b/lua/rakshit/core/keymaps.lua @@ -16,8 +16,6 @@ vim.keymap.set("i", "", "") -- Diagnostic keymaps vim.keymap.set("n", "[d", vim.diagnostic.goto_next, { desc = "Go to next [D]iagnostic message" }) vim.keymap.set("n", "]d", vim.diagnostic.goto_prev, { desc = "Go to previous [D]iagnostic message" }) -vim.keymap.set("n", "e", vim.diagnostic.open_float, { desc = "Show diagnostic [E]rror message" }) -vim.keymap.set("n", "q", vim.diagnostic.setloclist, { desc = "Open diagnostic [Q]uickfix list" }) -- Exit terminal mode in the builtin terminal with a shortcut that is a bit easier -- for people to discover. Otherwise, you normally need to press , which @@ -96,3 +94,35 @@ end -- Noice vim.keymap.set("n", "nd", "NoiceDismiss", { desc = "Dismiss Noice Message" }) +vim.keymap.set("n", "ndb", "NoiceDisable", { desc = "Dismiss Noice Message" }) +vim.keymap.set("n", "ne", "NoiceEnable", { desc = "Dismiss Noice Message" }) +vim.keymap.set("n", "nl", "NoiceLast", { desc = "Dismiss Noice Message" }) +vim.keymap.set("n", "nt", "NoiceTelescope", { desc = "Dismiss Noice Message" }) +--[[ +-- +- `:Noice` or `:Noice history` shows the message history +- `:Noice last` shows the last message in a popup +- `:Noice dismiss` dismiss all visible messages +- `:Noice errors` shows the error messages in a split. Last errors on top +- `:Noice disable` disables **Noice** +- `:Noice enable` enables **Noice** +- `:Noice stats` shows debugging stats +- `:Noice telescope` opens message history in Telescope + +Alternatively, all commands also exist as a full name like `:NoiceLast`, +`:NoiceDisable`. + +You can also use `Lua` equivalents. + +>lua + vim.keymap.set("n", "nl", function() + require("noice").cmd("last") + end) + + vim.keymap.set("n", "nh", function() + require("noice").cmd("history") + end) +--]] + +-- Execute highlighted lua commands +vim.keymap.set("v", "ex", ":lua", { desc = "[EX]ecute highlighted lua code" }) diff --git a/lua/rakshit/plugins/nvim-tree.lua b/lua/rakshit/plugins/nvim-tree.lua index 73adfb23..0ccdcf32 100644 --- a/lua/rakshit/plugins/nvim-tree.lua +++ b/lua/rakshit/plugins/nvim-tree.lua @@ -79,4 +79,68 @@ return { -- New ones I'm adding just for testing and hopefully that works -- keymap.set('n', 'h', 'NvimTreeCollapse', { desc = 'Collapse file explorer' }) -- collapse file explorer end, + + --[[ + -- Pasting default keymaps below for quick reference: + BEGIN_DEFAULT_ON_ATTACH + vim.keymap.set("n", "", api.tree.change_root_to_node, opts("CD")) + vim.keymap.set("n", "", api.node.open.replace_tree_buffer, opts("Open: In Place")) + vim.keymap.set("n", "", api.node.show_info_popup, opts("Info")) + vim.keymap.set("n", "", api.fs.rename_sub, opts("Rename: Omit Filename")) + vim.keymap.set("n", "", api.node.open.tab, opts("Open: New Tab")) + vim.keymap.set("n", "", api.node.open.vertical, opts("Open: Vertical Split")) + vim.keymap.set("n", "", api.node.open.horizontal, opts("Open: Horizontal Split")) + vim.keymap.set("n", "", api.node.navigate.parent_close, opts("Close Directory")) + vim.keymap.set("n", "", api.node.open.edit, opts("Open")) + vim.keymap.set("n", "", api.node.open.preview, opts("Open Preview")) + vim.keymap.set("n", ">", api.node.navigate.sibling.next, opts("Next Sibling")) + vim.keymap.set("n", "<", api.node.navigate.sibling.prev, opts("Previous Sibling")) + vim.keymap.set("n", ".", api.node.run.cmd, opts("Run Command")) + vim.keymap.set("n", "-", api.tree.change_root_to_parent, opts("Up")) + vim.keymap.set("n", "a", api.fs.create, opts("Create File Or Directory")) + vim.keymap.set("n", "bd", api.marks.bulk.delete, opts("Delete Bookmarked")) + vim.keymap.set("n", "bt", api.marks.bulk.trash, opts("Trash Bookmarked")) + vim.keymap.set("n", "bmv", api.marks.bulk.move, opts("Move Bookmarked")) + vim.keymap.set("n", "B", api.tree.toggle_no_buffer_filter, opts("Toggle Filter: No Buffer")) + vim.keymap.set("n", "c", api.fs.copy.node, opts("Copy")) + vim.keymap.set("n", "C", api.tree.toggle_git_clean_filter, opts("Toggle Filter: Git Clean")) + vim.keymap.set("n", "[c", api.node.navigate.git.prev, opts("Prev Git")) + vim.keymap.set("n", "]c", api.node.navigate.git.next, opts("Next Git")) + vim.keymap.set("n", "d", api.fs.remove, opts("Delete")) + vim.keymap.set("n", "D", api.fs.trash, opts("Trash")) + vim.keymap.set("n", "E", api.tree.expand_all, opts("Expand All")) + vim.keymap.set("n", "e", api.fs.rename_basename, opts("Rename: Basename")) + vim.keymap.set("n", "]e", api.node.navigate.diagnostics.next, opts("Next Diagnostic")) + vim.keymap.set("n", "[e", api.node.navigate.diagnostics.prev, opts("Prev Diagnostic")) + vim.keymap.set("n", "F", api.live_filter.clear, opts("Live Filter: Clear")) + vim.keymap.set("n", "f", api.live_filter.start, opts("Live Filter: Start")) + vim.keymap.set("n", "g?", api.tree.toggle_help, opts("Help")) + vim.keymap.set("n", "gy", api.fs.copy.absolute_path, opts("Copy Absolute Path")) + vim.keymap.set("n", "ge", api.fs.copy.basename, opts("Copy Basename")) + vim.keymap.set("n", "H", api.tree.toggle_hidden_filter, opts("Toggle Filter: Dotfiles")) + vim.keymap.set("n", "I", api.tree.toggle_gitignore_filter, opts("Toggle Filter: Git Ignore")) + vim.keymap.set("n", "J", api.node.navigate.sibling.last, opts("Last Sibling")) + vim.keymap.set("n", "K", api.node.navigate.sibling.first, opts("First Sibling")) + vim.keymap.set("n", "L", api.node.open.toggle_group_empty, opts("Toggle Group Empty")) + vim.keymap.set("n", "M", api.tree.toggle_no_bookmark_filter, opts("Toggle Filter: No Bookmark")) + vim.keymap.set("n", "m", api.marks.toggle, opts("Toggle Bookmark")) + vim.keymap.set("n", "o", api.node.open.edit, opts("Open")) + vim.keymap.set("n", "O", api.node.open.no_window_picker, opts("Open: No Window Picker")) + vim.keymap.set("n", "p", api.fs.paste, opts("Paste")) + vim.keymap.set("n", "P", api.node.navigate.parent, opts("Parent Directory")) + vim.keymap.set("n", "q", api.tree.close, opts("Close")) + vim.keymap.set("n", "r", api.fs.rename, opts("Rename")) + vim.keymap.set("n", "R", api.tree.reload, opts("Refresh")) + vim.keymap.set("n", "s", api.node.run.system, opts("Run System")) + vim.keymap.set("n", "S", api.tree.search_node, opts("Search")) + vim.keymap.set("n", "u", api.fs.rename_full, opts("Rename: Full Path")) + vim.keymap.set("n", "U", api.tree.toggle_custom_filter, opts("Toggle Filter: Hidden")) + vim.keymap.set("n", "W", api.tree.collapse_all, opts("Collapse")) + vim.keymap.set("n", "x", api.fs.cut, opts("Cut")) + vim.keymap.set("n", "y", api.fs.copy.filename, opts("Copy Name")) + vim.keymap.set("n", "Y", api.fs.copy.relative_path, opts("Copy Relative Path")) + vim.keymap.set("n", "<2-LeftMouse>", api.node.open.edit, opts("Open")) + vim.keymap.set("n", "<2-RightMouse>", api.tree.change_root_to_node, opts("CD")) + -- END_DEFAULT_ON_ATTACH + --]] } diff --git a/lua/rakshit/plugins/treesitter.lua b/lua/rakshit/plugins/treesitter.lua index 771b393f..43300243 100644 --- a/lua/rakshit/plugins/treesitter.lua +++ b/lua/rakshit/plugins/treesitter.lua @@ -1,59 +1,60 @@ return { -- Highlight, edit, and navigate code - 'nvim-treesitter/nvim-treesitter', - event = { 'BufReadPre', 'BufNewFile' }, - build = ':TSUpdate', + "nvim-treesitter/nvim-treesitter", + event = { "BufReadPre", "BufNewFile" }, + build = ":TSUpdate", dependencies = { - 'windwp/nvim-ts-autotag', + "windwp/nvim-ts-autotag", }, - main = 'nvim-treesitter.configs', -- Sets main module to use for opts + main = "nvim-treesitter.configs", -- Sets main module to use for opts -- [[ Configure Treesitter ]] See `:help nvim-treesitter` opts = { ensure_installed = { - 'bash', + --[[ 'c', 'diff', - 'lua', - 'luadoc', - 'markdown', - 'markdown_inline', 'query', - 'vim', - 'vimdoc', - 'go', - 'gomod', - 'gosum', - 'helm', - 'http', - 'json', - 'java', - 'jq', - 'javascript', - 'typescript', - 'tsx', - 'yaml', - 'html', - 'pem', - 'perl', 'proto', - 'python', - 'rust', - 'scss', - 'sql', - 'ssh_config', - 'terraform', - 'tmux', - 'make', - 'css', 'graphql', 'svelte', - 'bash', - 'dockerfile', - 'gitignore', - 'git_config', - 'git_rebase', - 'gitcommit', - 'query', - 'csv', + --]] + "bash", + "lua", + "luadoc", + "markdown", + "markdown_inline", + "vim", + "vimdoc", + "go", + "gomod", + "gosum", + "helm", + "http", + "json", + "java", + "jq", + "javascript", + "typescript", + "tsx", + "yaml", + "html", + "pem", + "perl", + "python", + "rust", + "scss", + "sql", + "ssh_config", + "terraform", + "tmux", + "make", + "css", + "dockerfile", + "gitignore", + "git_config", + "git_rebase", + "gitcommit", + "query", + "csv", }, -- Autoinstall languages that are not installed auto_install = true, @@ -62,9 +63,9 @@ return { -- Highlight, edit, and navigate code -- Some languages depend on vim's regex highlighting system (such as Ruby) for indent rules. -- If you are experiencing weird indenting issues, add the language to -- the list of additional_vim_regex_highlighting and disabled languages for indent. - additional_vim_regex_highlighting = { 'ruby' }, + additional_vim_regex_highlighting = { "ruby" }, }, - indent = { enable = true, disable = { 'ruby' } }, + indent = { enable = true, disable = { "ruby" } }, -- enable auto tagging autotag = { @@ -74,10 +75,10 @@ return { -- Highlight, edit, and navigate code incremental_selection = { enable = true, keymaps = { - init_selection = '', - node_incremental = '', + init_selection = "", + node_incremental = "", scope_incremental = false, - node_decremental = '', + node_decremental = "", }, }, },