local builtin = require('telescope.builtin') local Job = require("plenary.job") local vks = function(mode, key, action, desc) vim.keymap.set(mode, key, action , { noremap = true, desc = desc }) end local function search_emoji() builtin.symbols({ sources = {'emoji'} }) end local function grep_string() builtin.grep_string({ search = "", only_sort_text = true }) end -- borrowed from ThePrimeagen/harpoon/utils.lua local function get_os_command_output(cmd, cwd) if type(cmd) ~= "table" then print("Harpoon: [get_os_command_output]: cmd has to be a table") return {} end local command = table.remove(cmd, 1) local stderr = {} local stdout, ret = Job :new({ command = command, args = cmd, cwd = cwd, on_stderr = function(_, data) table.insert(stderr, data) end, }) :sync() return stdout, ret, stderr end local function project_files() local _, ret, _ = get_os_command_output({ 'git', 'rev-parse', '--is-inside-wirk-tree', }) if ret == 0 then builtin.git_files({ prompt_title = 'Git Files', prompt_prefix = '>>' }) else builtin.find_files() end end -- direct commands vks('n', 'b', builtin.buffers, 'Buffers') vks('n', 'r', builtin.grep_string, 'References') vks('n', 'p', project_files, 'Paths' ) -- project_files unifies git_files and find_files -- vks('n', 'sf', builtin.git_files, 'Git files') -- vks('n', 'sp', builtin.find_files, 'Paths' ) -- search submenu vks('n', 'sc', builtin.commands, 'Commands') vks('n', 's:', builtin.command_history, 'Command history') vks('n', 'sC', builtin.colorscheme, 'Colorchemes') vks('n', 'ss', grep_string, 'String (like ag)') -- Emulate fzf's Ag: vks('n', 'sb', builtin.buffers, 'Buffers') vks('n', 'se', search_emoji, 'Emojis') vks('n', 'sg', builtin.live_grep, 'Find/grep' ) vks('n', 'sh', builtin.help_tags, 'Help') vks('n', 'sk', builtin.keymaps, 'Key mappings') vks('n', 'so', builtin.oldfiles, 'Recent Opened files') vks('n', 'sr', builtin.registers, 'Registers') vks('n', 'sd', builtin.lsp_document_symbols, 'Symbols - document') vks('n', 'sw', builtin.lsp_workspace_symbols, 'Symbols - workspace') vks('n', 'st', builtin.tags, 'Tags') vks('n', 's?', builtin.resume, 'Resume previous search') -- vim.keymap.set('n', '/', builtin.current_buffer_fuzzy_find, { desc = '[/] Fuzzily search in current buffer]' }) -- E5108: Error executing lua: ...r/start/telescope.nvim/lua/telescope/builtin/__files.lua:413: attempt to call method '_get_hl_from_capture' (a nil value)