From 014b8d7bd5c2a7b96cce3e25eddc393eb4195624 Mon Sep 17 00:00:00 2001 From: iGor milhit Date: Tue, 13 Aug 2024 07:29:57 +0200 Subject: [PATCH] keymaps: set prefixes to improve search experience Co-Authored-by: iGor milhit --- init.lua.save | 530 -------------------------------- lua/core/options.lua | 2 - lua/plugins/lsp/lspconfig.lua | 47 ++- lua/plugins/markdown/pandoc.lua | 18 +- lua/plugins/nvim-tree.lua | 2 +- lua/plugins/telescope.lua | 116 +++---- lua/plugins/treesitter.lua | 8 +- 7 files changed, 95 insertions(+), 628 deletions(-) delete mode 100644 init.lua.save diff --git a/init.lua.save b/init.lua.save deleted file mode 100644 index a50f302..0000000 --- a/init.lua.save +++ /dev/null @@ -1,530 +0,0 @@ --- Load options from core -require("core") -require("config.lazy") - --- Install package manager --- https://github.com/folke/lazy.nvim --- `:help lazy.nvim.txt` for more info -local lazypath = vim.fn.stdpath 'data' .. '/lazy/lazy.nvim' -if not vim.loop.fs_stat(lazypath) then - vim.fn.system { - 'git', - 'clone', - '--filter=blob:none', - 'https://github.com/folke/lazy.nvim.git', - '--branch=stable', -- latest stable release - lazypath, - } -end -vim.opt.rtp:prepend(lazypath) - --- NOTE: Here is where you install your plugins. --- You can configure plugins using the `config` key. --- --- You can also configure plugins after the setup call, --- as they will be available in your neovim runtime. -require('lazy').setup({ - -- NOTE: First, some plugins that don't require any configuration - - -- Git related plugins - 'tpope/vim-fugitive', - - -- Detect tabstop and shiftwidth automatically - 'tpope/vim-sleuth', - - -- Improve surroundings management - 'tpope/vim-surround', - - -- NOTE: This is where your plugins related to LSP can be installed. - -- The configuration is done below. Search for lspconfig to find it below. - { - -- LSP Configuration & Plugins - 'neovim/nvim-lspconfig', - dependencies = { - -- Automatically install LSPs to stdpath for neovim - { 'williamboman/mason.nvim', config = true }, - 'williamboman/mason-lspconfig.nvim', - - -- Useful status updates for LSP - -- NOTE: `opts = {}` is the same as calling `require('fidget').setup({})` - { 'j-hui/fidget.nvim', tag = "legacy", opts = {} }, - - -- Additional lua configuration, makes nvim stuff amazing! - 'folke/neodev.nvim', - }, - }, - - { - -- Autocompletion - -- See Configure nvim-cmp at the end of this file - 'hrsh7th/nvim-cmp', - dependencies = { - -- Snippet Engine & its associated nvim-cmp source - { - 'L3MON4D3/LuaSnip', - -- follow latest release - version = "v2.*", - -- install jsregexp (optional) - build = "make install_jsregexp" - }, - 'saadparwaiz1/cmp_luasnip', - - -- Adds LSP completion capabilities - 'hrsh7th/cmp-nvim-lsp', - - -- Adds completion capabilities for text in buffers - 'hrsh7th/cmp-buffer', - - -- Adds path completion capabilities - 'hrsh7th/cmp-path', - - -- Adds a number of user-friendly snippets - 'rafamadriz/friendly-snippets', - }, - }, - - -- Useful plugin to show you pending keybinds. - { 'folke/which-key.nvim', opts = {} }, - { - -- Adds git releated signs to the gutter, as well as utilities for managing changes - 'lewis6991/gitsigns.nvim', - opts = { - -- See `:help gitsigns.txt` - signs = { - add = { text = '+' }, - change = { text = '~' }, - delete = { text = '_' }, - topdelete = { text = '‾' }, - changedelete = { text = '~' }, - }, - on_attach = function(bufnr) - vim.keymap.set('n', '[c', require('gitsigns').prev_hunk, { buffer = bufnr, desc = 'Go to Previous Hunk' }) - vim.keymap.set('n', ']c', require('gitsigns').next_hunk, { buffer = bufnr, desc = 'Go to Next Hunk' }) - vim.keymap.set('n', 'ph', require('gitsigns').preview_hunk, { buffer = bufnr, desc = '[P]review [H]unk' }) - end, - }, - }, - - { - -- Set lualine as statusline - 'nvim-lualine/lualine.nvim', - -- See `:help lualine.txt` - opts = { - options = { - icons_enabled = true, - theme = 'adwaita', - component_separators = '|', - section_separators = '', - }, - }, - }, - - { - -- Add indentation guides even on blank lines - 'lukas-reineke/indent-blankline.nvim', - -- Enable `lukas-reineke/indent-blankline.nvim` - -- See `:help indent_blankline.txt` - main = "ibl", - opts = { - indent = {char = '┊'}, - whitespace = {remove_blankline_trail = false}, - }, - }, - - -- "gc" to comment visual regions/lines - { 'numToStr/Comment.nvim', opts = {} }, - - -- Fuzzy Finder (files, lsp, etc) - { 'nvim-telescope/telescope.nvim', branch = '0.1.x', dependencies = { 'nvim-lua/plenary.nvim' } }, - - -- Fuzzy Finder Algorithm which requires local dependencies to be built.  - -- Only load if `make` is available. Make sure you have the system - -- requirements installed. - { - 'nvim-telescope/telescope-fzf-native.nvim', - -- NOTE: If you are having trouble with this installation, - -- refer to the README for telescope-fzf-native for more instructions. - build = 'make', - cond = function() - return vim.fn.executable 'make' == 1 - end, - }, - - -- Extension to telescope to use Ag (or ripgrep) to filter results - { - 'kelly-lin/telescope-ag' - }, - - -- Allow to search for snippets - { - 'benfowler/telescope-luasnip.nvim' - }, - - { - -- Highlight, edit, and navigate code - 'nvim-treesitter/nvim-treesitter', - dependencies = { - 'nvim-treesitter/nvim-treesitter-textobjects', - }, - build = ':TSUpdate', - }, - - -- NOTE: Next Step on Your Neovim Journey: Add/Configure additional "plugins" for kickstart - -- These are some example plugins that I've included in the kickstart repository. - -- Uncomment any of the lines below to enable them. - -- require 'kickstart.plugins.autoformat', - -- require 'kickstart.plugins.debug', - - -- NOTE: The import below automatically adds your own plugins, configuration, etc from `lua/custom/plugins/*.lua` - -- You can use this folder to prevent any conflicts with this init.lua if you're interested in keeping - -- up-to-date with whatever is in the kickstart repo. - -- - -- For additional information see: https://github.com/folke/lazy.nvim#-structuring-your-plugins - { import = 'custom.plugins' }, -}, {}) - --- Restore the site folder of .local/share/nvim/ in the runtime rewritten by --- lazy. See https://github.com/neovim/neovim/issues/23082#issuecomment-1510812311 -vim.opt.rtp:append (vim.fn.stdpath ('data') .. '/site') - --- [[ Setting options ]] --- See `:help vim.o` --- NOTE: You can change these options as you wish! - --- Set a python virtualenv as python3 provider. --- `vim.env.HOME` uses the neovim API to fetch the $HOME env. --- The `..` appends strings in lua. --- vim.g.python3_host_prog = vim.env.HOME .. '/.pyenv/versions/neovim3/bin/python' - --- [[ Basic Keymaps ]] - --- [[ Configure Telescope ]] --- See `:help telescope` and `:help telescope.setup()` -require('telescope').setup { - defaults = { - mappings = { - i = { - [''] = false, - [''] = false, - }, - }, - }, - pickers = { - command_history = { - theme = "dropdown", - } - } -} - --- Enable telescope fzf native, if installed -pcall(require('telescope').load_extension, 'fzf') --- Enable telescope luasnip extension, if installed -pcall(require('telescope').load_extension, 'luasnip') --- Enable telescope-ag extension, if installed -pcall(require('telescope').load_extension, 'ag') - --- See `:help telescope.builtin` -vim.keymap.set('n', '?', require('telescope.builtin').oldfiles, { desc = '[?] Find recently opened files' }) -vim.keymap.set('n', '', require('telescope.builtin').buffers, { desc = '[ ] Find existing buffers' }) -vim.keymap.set('n', '/', function() - -- You can pass additional configuration to telescope to change theme, layout, etc. - require('telescope.builtin').current_buffer_fuzzy_find(require('telescope.themes').get_dropdown { - winblend = 10, - previewer = false, - }) -end, { desc = '[/] Fuzzily search in current buffer' }) - -vim.keymap.set('n', 'gf', require('telescope.builtin').git_files, { desc = 'Search [G]it [F]iles' }) -vim.keymap.set('n', 'sf', require('telescope.builtin').find_files, { desc = '[S]earch [F]iles' }) -vim.keymap.set('n', 'sh', require('telescope.builtin').help_tags, { desc = '[S]earch [H]elp' }) -vim.keymap.set('n', 'sw', require('telescope.builtin').grep_string, { desc = '[S]earch current [W]ord' }) -vim.keymap.set('n', 'sg', require('telescope.builtin').live_grep, { desc = '[S]earch by [G]rep' }) -vim.keymap.set('n', 'sd', require('telescope.builtin').diagnostics, { desc = '[S]earch [D]iagnostics' }) -vim.keymap.set('n', 'sb', require('telescope.builtin').buffers, { desc = '[S]earch [B]uffers' }) -vim.keymap.set('n', 'ch', require('telescope.builtin').command_history, { desc = '[C]command [H]istory' }) -vim.keymap.set('n', 'ss', require'telescope'.extensions.luasnip.luasnip , { desc = '[S]earch [S]nippets' }) - --- [[ Configure Treesitter ]] --- See `:help nvim-treesitter` -require('nvim-treesitter.configs').setup { - -- Add languages to be installed here that you want installed for treesitter - ensure_installed = { 'c', 'cpp', 'go', 'lua', 'python', 'rust', 'tsx', 'typescript', 'vimdoc', 'vim', 'json' }, - - -- Do not install parses synchronously - sync_install = false, - - -- Autoinstall languages that are not installed. Defaults to false (but you can change for yourself!) - auto_install = false, - - -- List of parsers to ignore installing - ignore_install = { - "markdown" - }, - - -- Required property, but empr? - modules = {}, - - highlight = { - enable = true, - disable = { "markdown" }, - }, - indent = { enable = true, disable = { 'python' } }, - incremental_selection = { - enable = true, - keymaps = { - init_selection = '', - node_incremental = '', - scope_incremental = '', - node_decremental = '', - }, - }, - textobjects = { - select = { - enable = true, - lookahead = true, -- Automatically jump forward to textobj, similar to targets.vim - keymaps = { - -- You can use the capture groups defined in textobjects.scm - ['aa'] = '@parameter.outer', - ['ia'] = '@parameter.inner', - ['af'] = '@function.outer', - ['if'] = '@function.inner', - ['ac'] = '@class.outer', - ['ic'] = '@class.inner', - }, - }, - move = { - enable = true, - set_jumps = true, -- whether to set jumps in the jumplist - goto_next_start = { - [']m'] = '@function.outer', - [']]'] = '@class.outer', - }, - goto_next_end = { - [']M'] = '@function.outer', - [']['] = '@class.outer', - }, - goto_previous_start = { - ['[m'] = '@function.outer', - ['[['] = '@class.outer', - }, - goto_previous_end = { - ['[M'] = '@function.outer', - ['[]'] = '@class.outer', - }, - }, - swap = { - enable = true, - swap_next = { - ['a'] = '@parameter.inner', - }, - swap_previous = { - ['A'] = '@parameter.inner', - }, - }, - }, -} - --- Diagnostic keymaps -vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, { desc = 'Go to previous diagnostic message' }) -vim.keymap.set('n', ']d', vim.diagnostic.goto_next, { desc = 'Go to next diagnostic message' }) -vim.keymap.set('n', 'e', vim.diagnostic.open_float, { desc = 'Open floating diagnostic message' }) -vim.keymap.set('n', 'q', vim.diagnostic.setloclist, { desc = 'Open diagnostics list' }) - --- [[ Configure LSP ]] --- This function gets run when an LSP connects to a particular buffer. -local on_attach = function(_, bufnr) - -- NOTE: Remember that lua is a real programming language, and as such it is possible - -- to define small helper and utility functions so you don't have to repeat yourself - -- many times. - -- - -- In this case, we create a function that lets us more easily define mappings specific - -- for LSP related items. It sets the mode, buffer and description for us each time. - local nmap = function(keys, func, desc) - if desc then - desc = 'LSP: ' .. desc - end - - vim.keymap.set('n', keys, func, { buffer = bufnr, desc = desc }) - end - - nmap('rn', vim.lsp.buf.rename, '[R]e[n]ame') - nmap('ca', vim.lsp.buf.code_action, '[C]ode [A]ction') - - nmap('gd', vim.lsp.buf.definition, '[G]oto [D]efinition') - nmap('gr', require('telescope.builtin').lsp_references, '[G]oto [R]eferences') - nmap('gI', vim.lsp.buf.implementation, '[G]oto [I]mplementation') - nmap('D', vim.lsp.buf.type_definition, 'Type [D]efinition') - nmap('ds', require('telescope.builtin').lsp_document_symbols, '[D]ocument [S]ymbols') - nmap('ws', require('telescope.builtin').lsp_dynamic_workspace_symbols, '[W]orkspace [S]ymbols') - - -- See `:help K` for why this keymap - nmap('K', vim.lsp.buf.hover, 'Hover Documentation') - nmap('', vim.lsp.buf.signature_help, 'Signature Documentation') - - -- Lesser used LSP functionality - nmap('gD', vim.lsp.buf.declaration, '[G]oto [D]eclaration') - nmap('wa', vim.lsp.buf.add_workspace_folder, '[W]orkspace [A]dd Folder') - nmap('wr', vim.lsp.buf.remove_workspace_folder, '[W]orkspace [R]emove Folder') - nmap('wl', function() - print(vim.inspect(vim.lsp.buf.list_workspace_folders())) - end, '[W]orkspace [L]ist Folders') - - -- Create a command `:Format` local to the LSP buffer - vim.api.nvim_buf_create_user_command(bufnr, 'Format', function(_) - vim.lsp.buf.format() - end, { desc = 'Format current buffer with LSP' }) -end - --- Enable the following language servers --- Feel free to add/remove any LSPs that you want here. They will automatically be installed. --- --- Add any additional override configuration in the following tables. They will be passed to --- the `settings` field of the server config. You must look up that documentation yourself. -local servers = { - -- clangd = {}, - -- gopls = {}, - pyright = {}, - -- rust_analyzer = {}, - -- tsserver = {}, - - -- marksman = { - -- ft = { - -- 'markdown', - -- 'pandoc' - -- } - -- }, - - lua_ls = { - Lua = { - workspace = { checkThirdParty = false }, - telemetry = { enable = false }, - }, - }, - - texlab = { - -- build = { - -- executable = "tectonic", - -- args = { - -- "-X", - -- "compile", - -- "%f", - -- "--synctex", - -- "--keep-logs", - -- "--keep-intermediates" - -- } - -- } - }, - - -- Require vscode-langservers-extracted - -- https://github.com/hrsh7th/vscode-langservers-extracted - -- Configure schemastore to be used - jsonls = { - settings = { - json = { - schemas = require('schemastore').json.schemas(), - validate = { enable = true }, - }, - }, - }, -} - --- Setup neovim lua configuration -require('neodev').setup() - --- nvim-cmp supports additional completion capabilities, so broadcast that to servers -local capabilities = vim.lsp.protocol.make_client_capabilities() -capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities) - --- Ensure the servers above are installed -local mason_lspconfig = require 'mason-lspconfig' - -mason_lspconfig.setup { - ensure_installed = vim.tbl_keys(servers), -} - -mason_lspconfig.setup_handlers { - function(server_name) - require('lspconfig')[server_name].setup { - capabilities = capabilities, - on_attach = on_attach, - settings = servers[server_name], - } - end, -} - --- [[ Configure nvim-cmp, and LuaSnip ]] --- See `:help cmp` -local cmp = require 'cmp' -local luasnip = require 'luasnip' -require('luasnip.loaders.from_vscode').lazy_load() -luasnip.config.setup { - -- Extend markdown snippets to pandoc filetype - -- https://github.com/L3MON4D3/LuaSnip/issues/132#issuecomment-1101710309 - snippets = { - markdown = {}, - }, - luasnip.filetype_extend("pandoc", {"markdown"}), -} - --- Load snippets from ~/.config/nvim/LuaSnip/ -require("luasnip.loaders.from_lua").load({paths = "~/.config/nvim/my_snippets/"}) - --- Keymap to reload snippets --- https://www.ejmastnak.com/tutorials/vim-latex/luasnip/#refreshing-snippets-from-a-separate-vim-instance -vim.keymap.set('n', 'L', 'lua require("luasnip.loaders.from_lua").load({paths = "~/.config/nvim/my_snippets/"})', { desc = 'Reload [L]uaSnippets' }) - --- [[ Configure nvim-cmp ]] --- See `:help cmp` -local cmp = require 'cmp' - -cmp.setup { - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end, - }, - mapping = cmp.mapping.preset.insert { - [''] = cmp.mapping.select_next_item(), - [''] = cmp.mapping.select_prev_item(), - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - [''] = cmp.mapping.complete {}, - [''] = cmp.mapping.confirm { - behavior = cmp.ConfirmBehavior.Replace, - select = true, - }, - [''] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.expand_or_locally_jumpable() then - luasnip.expand_or_jump() - else - fallback() - end - end, { 'i', 's' }), - [''] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif luasnip.locally_jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, { 'i', 's' }), - }, - sources = { - { name = 'nvim_lsp' }, - { - name = 'buffer', - option = { - keyword_length = 4, - keyword_pattern = [[\k\+]], - }, - }, - { name = 'luasnip' }, - { name = 'path' }, - }, -} - --- The line beneath this is called `modeline`. See `:help modeline` --- vim: ts=2 sts=2 sw=2 et diff --git a/lua/core/options.lua b/lua/core/options.lua index ef5c91b..c71d027 100644 --- a/lua/core/options.lua +++ b/lua/core/options.lua @@ -67,5 +67,3 @@ vim.opt.iskeyword:append("-") -- Set the folding level to 1, to allow level 2 headers to be seen. vim.opt.foldlevel = 1 - - diff --git a/lua/plugins/lsp/lspconfig.lua b/lua/plugins/lsp/lspconfig.lua index f931b2c..6782501 100644 --- a/lua/plugins/lsp/lspconfig.lua +++ b/lua/plugins/lsp/lspconfig.lua @@ -9,7 +9,7 @@ return { -- Adds code actions, such as smart file renaming, etc { "antosha417/nvim-lsp-file-operations", config = true }, -- 💫 Extensible UI for Neovim notifications and LSP progress messages - { 'j-hui/fidget.nvim', tag = "legacy", opts = {} }, + { 'j-hui/fidget.nvim', tag = "legacy", opts = {} }, }, config = function() -- Import lsp-zero @@ -22,7 +22,7 @@ return { -- Keymaps - opts.desc = "Show LSP references" + opts.desc = "[LSP] Show LSP references" vim.keymap.set( "n", "gR", @@ -30,7 +30,7 @@ return { opts ) - opts.desc = "Go to declaration" + opts.desc = "[LSP] Go to declaration" vim.keymap.set( "n", "gD", @@ -38,7 +38,7 @@ return { opts ) - opts.desc = "Show LSP definitions" + opts.desc = "[LSP] Show LSP definitions" vim.keymap.set( "n", "gd", @@ -46,7 +46,7 @@ return { opts ) - opts.desc = "Show LSP implementations" + opts.desc = "[LSP] Show LSP implementations" vim.keymap.set( "n", "gi", @@ -54,7 +54,7 @@ return { opts ) - opts.desc = "Show LSP type definitions" + opts.desc = "[LSP] Show LSP type definitions" vim.keymap.set( "n", "gt", @@ -62,7 +62,7 @@ return { opts ) - opts.desc = "Show LSP signature help" + opts.desc = "[LSP] Show LSP signature help" vim.keymap.set( "n", "gs", @@ -70,7 +70,7 @@ return { opts ) - opts.desc = "See available code actions" + opts.desc = "[LSP] See available code actions" vim.keymap.set( { "n", "v" }, "ca", @@ -78,7 +78,7 @@ return { opts ) - opts.desc = "Smart rename" + opts.desc = "[LSP] Smart rename" vim.keymap.set( "n", "rn", @@ -86,7 +86,7 @@ return { opts ) - opts.desc = "Show buffer diagnostics" + opts.desc = "[LSP] Show buffer diagnostics" vim.keymap.set( "n", "D", @@ -94,7 +94,7 @@ return { opts ) - opts.desc = "Show line diagnostics" + opts.desc = "[LSP] Show line diagnostics" vim.keymap.set( "n", "d", @@ -102,17 +102,17 @@ return { opts ) - opts.desc = "Go to previous diagnostic" + opts.desc = "[LSP] Go to previous diagnostic" vim.keymap.set("n", "[d", function() vim.diagnostic.jump({ count = -1, float = true }) end, opts) -- jump to previous diagnostic in buffer - opts.desc = "Go to next diagnostic" + opts.desc = "[LSP] Go to next diagnostic" vim.keymap.set("n", "]d", function() vim.diagnostic.jump({ count = 1, float = true }) end, opts) -- jump to next diagnostic in buffer - opts.desc = "Show documentation for what is under cursor" + opts.desc = "[LSP] Show documentation for what is under cursor" vim.keymap.set( "n", "K", @@ -120,7 +120,7 @@ return { opts ) - opts.desc = "Format buffer" + opts.desc = "[LSP] Format buffer" vim.keymap.set( { "n", "x" }, "F", @@ -128,25 +128,25 @@ return { opts ) - opts.desc = "Restart LSP" + opts.desc = "[LSP] Restart LSP" vim.keymap.set( - "n", - "rs", - ":LspRestart", - opts - ) + "n", + "rs", + ":LspRestart", + opts + ) end lsp_zero.extend_lspconfig({ -- Display diagnostic signs in the sign column sign_text = true, - -- Attach the keymap function + -- Attach the keymap function lsp_attach = lsp_attach, -- Extend the default completion capabilities by LSP suggestions capabilities = require("cmp_nvim_lsp").default_capabilities(), }) - -- Use lsp_zero to configure interface + -- Use lsp_zero to configure interface lsp_zero.ui({ float_border = "rounded", sign_text = { @@ -158,4 +158,3 @@ return { }) end, } - diff --git a/lua/plugins/markdown/pandoc.lua b/lua/plugins/markdown/pandoc.lua index 7394d6f..d76a4f0 100644 --- a/lua/plugins/markdown/pandoc.lua +++ b/lua/plugins/markdown/pandoc.lua @@ -9,23 +9,23 @@ vim.cmd([[ let g:pandoc#formatting#mode="hA" ]]) -- Keymaps to switch to soft or hardwarp, or to toggle. vim.keymap.set( -'n', -'sw', -'call pandoc#formatting#UseSoftWraps()', -{desc = 'Switch to softwrap'} + 'n', + 'sw', + 'call pandoc#formatting#UseSoftWraps()', + {desc = "[vim-pandoc] Switch to softwrap"} ) vim.keymap.set( -'n', -'hw', -'call pandoc#formatting#UseHardWraps()', -{desc = 'Switch to hardwrap'} + 'n', + 'hw', + 'call pandoc#formatting#UseHardWraps()', + {desc = "[vim-pandoc] Switch to hardwrap"} ) vim.keymap.set('n', 'tw', 'call pandoc#formatting#ToggleAutoformat()', -{desc = 'Toggle autoformat, to deactivate it'} +{desc = "[vim-pandoc] Toggle autoformat, to deactivate it"} ) vim.keymap.set( diff --git a/lua/plugins/nvim-tree.lua b/lua/plugins/nvim-tree.lua index edcce72..dc7d580 100644 --- a/lua/plugins/nvim-tree.lua +++ b/lua/plugins/nvim-tree.lua @@ -21,7 +21,7 @@ return { "n", "e", "NvimTreeFindFileToggle", - { desc = "Toggle the file explorer" } + { desc = "[nvim-tree] Toggle the file explorer" } ) end, } diff --git a/lua/plugins/telescope.lua b/lua/plugins/telescope.lua index 662a685..0ff9f3f 100644 --- a/lua/plugins/telescope.lua +++ b/lua/plugins/telescope.lua @@ -5,23 +5,23 @@ return { branch = "0.1.x", dependencies = { "nvim-lua/plenary.nvim", - -- C implementation of fzf to improve performance + -- C implementation of fzf to improve performance { - "nvim-telescope/telescope-fzf-native.nvim", - build = "make" - }, + "nvim-telescope/telescope-fzf-native.nvim", + build = "make" + }, "nvim-tree/nvim-web-devicons", - -- Extension to telescope to use Ag (or ripgrep) to filter results - 'kelly-lin/telescope-ag', - -- Allow to search for snippets - 'benfowler/telescope-luasnip.nvim', - -- Highlight, edit, and navigate code - 'nvim-treesitter/nvim-treesitter', - 'nvim-treesitter/nvim-treesitter-textobjects', - }, - - -- Configure Telescope + -- Extension to telescope to use Ag (or ripgrep) to filter results + 'kelly-lin/telescope-ag', + -- Allow to search for snippets + 'benfowler/telescope-luasnip.nvim', + -- Highlight, edit, and navigate code + 'nvim-treesitter/nvim-treesitter', + 'nvim-treesitter/nvim-treesitter-textobjects', + }, + + -- Configure Telescope config = function() local telescope = require("telescope") local actions = require("telescope.actions") @@ -39,11 +39,11 @@ return { i = { }, }, - pickers = { - command_history = { - theme = "dropdown", - } - } + pickers = { + command_history = { + theme = "dropdown", + } + } }, }) @@ -53,83 +53,83 @@ return { -- set keymaps - -- of for oldfiles - vim.keymap.set( - "n", - "of", - "Telescope oldfiles", - { desc = " [?] Find recently opened files " } - ) + -- of for oldfiles + vim.keymap.set( + "n", + "of", + "Telescope oldfiles", + { desc = "[Telescope] [?] Find recently opened files " } + ) - -- sb + -- sb vim.keymap.set( "n", "sb", - "Telescope buffers", - { desc = "[S]earch [B]uffers " } + "Telescope buffers", + { desc = "[Telescope] [S]earch [B]uffers " } ) - - -- / to fuzzily search in current buffer - vim.keymap.set( - 'n', - '/', - "Telescope current_buffer_fuzzy_find", - { desc = '[/] Fuzzily search in current buffer' }) - -- sh to search help + -- / to fuzzily search in current buffer + vim.keymap.set( + 'n', + '/', + "Telescope current_buffer_fuzzy_find", + { desc = "[Telescope] [/] Fuzzily search in current buffer" }) + + -- sh to search help vim.keymap.set( "n", "sh", - "Telescope help_tags", - { desc = "[S]earch [H]elp" } + "Telescope help_tags", + { desc = "[Telescope] [S]earch [H]elp" } ) - -- sf to search files + -- sf to search files vim.keymap.set( "n", "sf", - "Telescope find_files", - { desc = "[S]earch [F]iles" } + "Telescope find_files", + { desc = "[Telescope] [S]earch [F]iles" } ) - -- gf to search files in git history - vim.keymap.set( + -- gf to search files in git history + vim.keymap.set( "n", "gf", - "Telescope git_files", - { desc = "Search [G]it [F]iles" } + "Telescope git_files", + { desc = "[Telescope] Search [G]it [F]iles" } ) - -- sg to (rip)grep through files + -- sg to (rip)grep through files vim.keymap.set( "n", "sg", - "Telescope live_grep", - { desc = "[S]earch by [G]rep" } + "Telescope live_grep", + { desc = "[Telescope] [S]earch by [G]rep" } ) - -- sw to search for other occurrences of the current word + -- sw to search for other occurrences of the current word vim.keymap.set( "n", "sw", - "Telescope grep_string", - { desc = "[S]earch current [W]ord" } + "Telescope grep_string", + { desc = "[Telescope] [S]earch current [W]ord" } ) - -- ch to search in the command history + -- ch to search in the command history vim.keymap.set( "n", "ch", - "Telescope command_history", - { desc = "[C]ommand [H]istory" } + "Telescope command_history", + { desc = "[Telescope] [C]ommand [H]istory" } ) - -- sk to search for keymaps + -- sk to search for keymaps vim.keymap.set( "n", "sk", - "Telescope keymaps", - { desc = "[S]earch [K]eymaps" } + "Telescope keymaps", + { desc = "[Telescope] [S]earch [K]eymaps" } ) end, } diff --git a/lua/plugins/treesitter.lua b/lua/plugins/treesitter.lua index 024d41a..b6f8f08 100644 --- a/lua/plugins/treesitter.lua +++ b/lua/plugins/treesitter.lua @@ -4,28 +4,28 @@ vim.keymap.set( 'n', '[d', vim.diagnostic.goto_prev, - { desc = 'Go to previous diagnostic message' } + { desc = "[Diagnostic] Go to previous diagnostic message" } ) vim.keymap.set( 'n', ']d', vim.diagnostic.goto_next, - { desc = 'Go to next diagnostic message' } + { desc = "[Diagnostic] Go to next diagnostic message" } ) vim.keymap.set( 'n', 'e', vim.diagnostic.open_float, - { desc = 'Open floating diagnostic message' } + { desc = "[Diagnostic] Open floating diagnostic message" } ) vim.keymap.set( 'n', 'q', vim.diagnostic.setloclist, - { desc = 'Open diagnostics list' } + { desc = "[Diagnostic] Open diagnostics list" } ) -- Install and configure treesitter