-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtelescope.lua
More file actions
79 lines (74 loc) · 2.77 KB
/
Copy pathtelescope.lua
File metadata and controls
79 lines (74 loc) · 2.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
return {
"nvim-telescope/telescope.nvim",
version = false,
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
"nvim-tree/nvim-web-devicons",
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
},
opts = function()
local picker = require("telescope.builtin")
local telescope = require("telescope")
-- The ~/.ignore file will affect results of various file finders,
-- so take that into consideration if results are not as expected.
vim.keymap.set("n", "<leader>sp", picker.builtin, { desc = "Telescope pickers" })
vim.keymap.set("n", "<leader>sr", picker.oldfiles, { desc = "Recent files" })
vim.keymap.set("n", "<leader>sb", picker.buffers, { desc = "Buffers" })
vim.keymap.set("n", "<leader>sf", picker.find_files, { desc = "CWD files (general)" })
vim.keymap.set("n", "<leader>sh", picker.help_tags, { desc = "Help" })
vim.keymap.set("n", "<leader>sw", picker.grep_string, { desc = "Word (grep)" })
vim.keymap.set("n", "<leader>sc", picker.live_grep, { desc = "Code (grep)" })
vim.keymap.set("n", "<leader>/", picker.current_buffer_fuzzy_find, { desc = "Current buffer search" })
vim.keymap.set("n", "<leader>sg", function()
-- local git = vim.system({ "git", "rev-parse", "--is-inside-work-tree" }):wait()
-- if git.code ~= 0 then
-- picker.find_files()
-- return
-- end
-- If CWD is somewhere inside a git repo, then it will use
-- the CWD instead of the git repo root dir.
picker.git_files()
end, { desc = "CWD files (git/general)" })
vim.keymap.set("n", "<leader>sn", function()
picker.find_files({ cwd = vim.fn.stdpath("config") })
end, { desc = "Neovim config" })
vim.keymap.set("n", "<leader>sl", function()
picker.find_files({ cwd = vim.fn.stdpath("data") })
end, { desc = "Neovim XDG data" })
telescope.load_extension("fzf")
telescope.setup({
pickers = {
git_files = {
recurse_submodules = true,
},
-- Refer `~/.ignore` if there is a directory that still isn't showing
-- up insdie "find_files" or "live_grep"
find_files = {
hidden = true,
},
live_grep = {
additional_args = { "--hidden" },
},
grep_string = {
additional_args = { "--hidden" },
},
},
defaults = {
sorting_strategy = "ascending",
layout_strategy = "flex",
layout_config = {
prompt_position = "top",
-- For some reason builtin flex is not smart enough
-- flip_columns = 120,
-- flip_lines = 40,
},
file_ignore_patterns = {
".DS_Store",
".git/",
"node_modules/",
},
},
})
end,
}