Run "nvim +GoToFile" to open Neovim and automatically open Telescope to find the file that I need. The idea was taken from @joshmedeski when he mentioned it in a podcast with @nicknisi. https://youtu.be/17o9QrCcF_o https://github.com/joshmedeski/dotfiles/search?q=GoToFile
52 lines
1.5 KiB
Lua
52 lines
1.5 KiB
Lua
TelescopeMapArgs = TelescopeMapArgs or {}
|
|
|
|
local telescope = require "telescope"
|
|
|
|
local telescope_mapper = function(key, f, options, buffer)
|
|
local map_key = vim.api.nvim_replace_termcodes(key .. f, true, true, true)
|
|
|
|
TelescopeMapArgs[map_key] = options or {}
|
|
|
|
local mode = "n"
|
|
local rhs = string.format("<cmd>lua R('opdavies.telescope')['%s'](TelescopeMapArgs['%s'])<CR>", f, map_key)
|
|
|
|
local map_options = {
|
|
noremap = true,
|
|
silent = true,
|
|
}
|
|
|
|
if not buffer then
|
|
vim.api.nvim_set_keymap(mode, key, rhs, map_options)
|
|
else
|
|
vim.api.nvim_buf_set_keymap(0, mode, key, rhs, map_options)
|
|
end
|
|
end
|
|
|
|
telescope_mapper("<leader>fb", "buffers")
|
|
telescope_mapper("<leader>fd", "fd")
|
|
telescope_mapper("<leader>fe", "file_browser")
|
|
telescope_mapper("<leader>ff", "current_buf")
|
|
telescope_mapper("<leader>fg", "git_files")
|
|
telescope_mapper("<leader>fh", "help_tags")
|
|
telescope_mapper("<leader>fl", "live_grep")
|
|
|
|
telescope_mapper("<leader>ds", "lsp_document_symbols")
|
|
telescope_mapper("<leader>dl", "diagnostics")
|
|
|
|
telescope_mapper("<leader>en", "edit_neovim")
|
|
telescope_mapper("<leader>ez", "edit_zsh")
|
|
|
|
local nmap = require("opdavies.keymap").nmap
|
|
|
|
nmap { "<leader>gm", telescope.extensions.git_worktree.create_git_worktree }
|
|
nmap { "<leader>gw", telescope.extensions.git_worktree.git_worktrees }
|
|
|
|
-- Create a command to open Telescope, can be used when starting nvim -
|
|
-- "e.g. nvim +GoToFile".
|
|
vim.api.nvim_create_user_command(
|
|
"GoToFile",
|
|
telescope.fd,
|
|
{}
|
|
)
|
|
|
|
return telescope_mapper
|