diff --git a/lua/lazyvim/plugins/editor.lua b/lua/lazyvim/plugins/editor.lua index 9426ddf2..b7f72ef4 100644 --- a/lua/lazyvim/plugins/editor.lua +++ b/lua/lazyvim/plugins/editor.lua @@ -43,10 +43,10 @@ return { version = false, -- telescope did only one release, so use HEAD for now keys = { { "/", util.telescope("live_grep"), desc = "Find in Files (Grep)" }, - { "", util.telescope("find_files"), desc = "Find Files (root dir)" }, + { "", util.telescope("files"), desc = "Find Files (root dir)" }, { "fb", "Telescope buffers", desc = "Buffers" }, - { "ff", util.telescope("find_files"), desc = "Find Files (root dir)" }, - { "fF", util.telescope("find_files", { cwd = false }), desc = "Find Files (cwd)" }, + { "ff", util.telescope("files"), desc = "Find Files (root dir)" }, + { "fF", util.telescope("files", { cwd = false }), desc = "Find Files (cwd)" }, { "fr", "Telescope oldfiles", desc = "Recent" }, { "gc", "Telescope git_commits", desc = "commits" }, { "gs", "Telescope git_status", desc = "status" }, diff --git a/lua/lazyvim/util.lua b/lua/lazyvim/util.lua index 4ebebe4a..512ce265 100644 --- a/lua/lazyvim/util.lua +++ b/lua/lazyvim/util.lua @@ -54,9 +54,24 @@ function M.get_root() return root end +-- this will return a function that calls telescope. +-- cwd will defautlt to lazyvim.util.get_root +-- for `files`, git_files or find_files will be chosen depending on .git function M.telescope(builtin, opts) + local params = { builtin = builtin, opts = opts } return function() - require("telescope.builtin")[builtin](vim.tbl_deep_extend("force", { cwd = M.get_root() }, opts or {})) + builtin = params.builtin + opts = params.opts + opts = vim.tbl_deep_extend("force", { cwd = M.get_root() }, opts or {}) + if builtin == "files" then + if vim.loop.fs_stat((opts.cwd or vim.loop.cwd()) .. "/.git") then + opts.show_untracked = true + builtin = "git_files" + else + builtin = "find_files" + end + end + require("telescope.builtin")[builtin](opts) end end