diff --git a/nvim/init.lua b/nvim/init.lua index 80e6725..d48d117 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -273,6 +273,7 @@ require('lazy').setup({ end, }, { 'nvim-telescope/telescope-ui-select.nvim' }, + { 'nvim-telescope/telescope-live-grep-args.nvim' }, -- Useful for getting pretty icons, but requires a Nerd Font. { 'nvim-tree/nvim-web-devicons', enabled = vim.g.have_nerd_font }, @@ -328,6 +329,9 @@ require('lazy').setup({ -- Enable Telescope extensions if they are installed pcall(require('telescope').load_extension, 'fzf') pcall(require('telescope').load_extension, 'ui-select') + pcall(require('telescope').load_extension 'live_grep_args') + + local live_grep_args = require('telescope').extensions.live_grep_args -- See `:help telescope.builtin` local builtin = require 'telescope.builtin' @@ -377,6 +381,14 @@ require('lazy').setup({ vim.keymap.set('n', 'sn', function() builtin.find_files { cwd = vim.fn.stdpath 'config' } end, { desc = '[S]earch [N]eovim files' }) + + -- Search for TODO items in the current file + vim.keymap.set('n', 'sT', function() + live_grep_args.live_grep_args { + default_text = '(TODO|XXX):.*', + search_dirs = { vim.fn.expand '%' }, + } + end, { desc = '[S]earch [T]odo current file' }) end, },