kitchen sink...

just gonna put the changes that I can remember making here:
 - replace blink with native completion (omnifunc)
 - remove some unneeded plugins
 - add a misc function for making sure complex bindings don't cause
   flickering
 - remove some stale snippets
 - remove folding (I don't find myself folding that often)
This commit is contained in:
2025-08-02 11:25:38 -04:00
parent 27f55ed03c
commit 7c96b43098
29 changed files with 504 additions and 1097 deletions

View File

@ -1,129 +0,0 @@
return { "Saghen/blink.cmp",
branch = "v1.*",
reqs = {
"xzbdmw/colorful-menu.nvim",
"L3MON4D3/LuaSnip"
},
config = function()
vim.cmd("!cargo build --release")
end,
lazy = dep_short.auto("InsertEnter"),
load = function()
local colormenu = require("colorful-menu")
require("blink.cmp").setup {
keymap = {
preset = "none", -- I don't like the default documentation scroll binds
["<C-y>"] = { "select_and_accept" },
["<C-n>"] = { "select_next", "fallback_to_mappings" },
["<C-p>"] = { "select_prev", "fallback_to_mappings" },
["<C-u>"] = { "scroll_documentation_up", "fallback" },
["<C-d>"] = { "scroll_documentation_down", "fallback" }
},
completion = {
menu = {
scrollbar = false,
border = vim.g.border_style,
draw = {
columns = {
{ "kind_icon" },
{ "label", "label_description", gap = 1 },
{ "kind" }
},
-- blink.cmp should not take this much damn work to make it look
-- semi-decent
components = {
-- we replace the kind icon with the an icon for the source
kind_icon = {
text = function(ctx)
local menu_icon = {
"?", -- fallback
lsp = "λ",
snippets = "%",
buffer = "@",
path = "#",
cmdline = "$"
}
local icon = menu_icon[ctx.source_id]
if icon == nil then
icon = menu_icon[1]
end
return icon
end,
highlight = function(_)
return { { group = "CmpItemMenu" } }
end
},
label = {
text = function(ctx)
return colormenu.blink_components_text(ctx)
end,
highlight = function(ctx)
return colormenu.blink_components_highlight(ctx)
end
},
kind = {
-- these highlights are technically for nvim-cmp, but they're
-- built into my colorscheme so I don"t mind using them here
highlight = function(ctx)
return {
{ group = "CmpItemKind"..ctx.kind, priority = 20000 }
}
end
}
}
}
},
ghost_text = {
enabled = true
},
-- documentation should show up immediately
documentation = {
auto_show = true,
auto_show_delay_ms = 0,
window = {
border = vim.g.border_style
}
}
},
-- I like the default command line completion
cmdline = {
enabled = false
},
-- signature support is necessary
signature = {
enabled = true,
window = {
border = vim.g.border_style
}
},
-- TODO: find a way to make my fancy luasnip snippets with multiple
-- triggers not look stupid e.g. "fn\|main" for a function that could
-- be triggered by fn or main
snippets = {
preset = "luasnip"
},
sources = {
default = { "lsp", "path", "snippets", "buffer" }
},
fuzzy = {
implementation = "prefer_rust_with_warning",
sorts = {
"score",
"sort_text"
}
}
}
end
}

View File

@ -40,7 +40,6 @@ return {
"nvim-telescope/telescope.nvim"
},
deps = "theHamsta/nvim-dap-virtual-text",
disable = not vim.fn.has("nvim-0.9.5"),
branch = "0.10.0",
lazy = function(load)
load:keymap("n", "<leader>ec")

View File

@ -1,88 +0,0 @@
local map = core.misc.map
return { "lewis6991/gitsigns.nvim",
disable = not vim.fn.has("nvim-0.9.0"),
lazy = function(load)
load:auto({ "BufEnter", "BufNew" }, {
callback = function()
local paths = vim.fs.find({ ".git", }, { upward = true })
if #paths > 0 then
load:cleanup()
end
end
})
load:cmd("Gitsigns")
end,
load = function()
local gs = require("gitsigns")
gs.setup {
signs = {
add = { text = "" },
change = { text = "" },
delete = { text = "-" },
topdelete = { text = "" },
changedelete = { text = "~" },
untracked = { text = "" }
},
signcolumn = true,
numhl = false,
linehl = false,
word_diff = false,
watch_gitdir = {
interval = 1000,
follow_files = true
},
attach_to_untracked = true,
current_line_blame_formatter = "<author>, <author_time:%Y-%m-%d> - <summary>",
preview_config = { border = vim.g.border_style },
on_attach = function(bufnr)
local opts = { buffer = bufnr }
-- Navigation
map("n", "]c", function()
if vim.wo.diff then
return "]c"
end
vim.schedule(function() gs.next_hunk() end)
return "<Ignore>"
end, { expr = true, buffer = bufnr })
map("n", "[c", function()
if vim.wo.diff then
return "[c"
end
vim.schedule(function() gs.prev_hunk() end)
return "<Ignore>"
end, { expr = true, buffer = bufnr })
-- Actions
map("n", "<leader>hs", gs.stage_hunk, opts)
map("n", "<leader>hr", gs.reset_hunk, opts)
map("v", "<leader>hs", function()
gs.stage_hunk { vim.fn.line("."), vim.fn.line("v") }
end, opts)
map("v", "<leader>hr", function()
gs.reset_hunk { vim.fn.line("."), vim.fn.line("v") }
end, opts)
map("n", "<leader>hS", gs.stage_buffer, opts)
map("n", "<leader>hu", gs.undo_stage_hunk, opts)
map("n", "<leader>hR", gs.reset_buffer, opts)
map("n", "<leader>hp", gs.preview_hunk, opts)
map("n", "<leader>hb", function() gs.blame_line { full=true } end, opts)
map("n", "<leader>tb", gs.toggle_current_line_blame, opts)
map("n", "<leader>hd", gs.diffthis, opts)
map("n", "<leader>hD", function() gs.diffthis("~") end, opts)
map("n", "<leader>td", gs.toggle_deleted, opts)
-- Text object
map({ "o", "x" }, "ih", ":<C-U>Gitsigns select_hunk<CR>", opts)
end
}
end
}

View File

@ -2,7 +2,6 @@ local nonels_augroup = core.misc.augroup("nullls formatting")
return {
{ "neovim/nvim-lspconfig",
disable = not vim.fn.has("nvim-0.10.0"),
reqs = {
"mason-org/mason.nvim",
"mason-org/mason-lspconfig.nvim"
@ -20,7 +19,6 @@ return {
-- python
"basedpyright",
"mypy",
"black",
"debugpy"
}
@ -29,79 +27,22 @@ return {
},
{ "mason-org/mason.nvim",
disable = not vim.fn.has("nvim-0.7.0"),
load = function()
local mason = require("mason")
mason.setup {
require("mason").setup {
ui = {
border = vim.g.border_style,
width = 0.8,
height = 0.9,
-- not sure why these are nerdfont icons by default
icons = {
package_installed = "+",
package_pending = "?",
package_uninstalled = "x"
}
},
keymaps = {
toggle_package_expand = "<CR>",
install_package = "i",
update_package = "u",
check_package_version = "c",
update_all_packages = "U",
check_outdated_packages = "C",
uninstall_package = "r",
cancel_installation = "<C-c>",
apply_language_filter = "<C-f>"
}
}
end
},
{ "j-hui/fidget.nvim",
disable = not vim.fn.has("nvim-0.9.0"),
branch = "v1.*",
lazy = dep_short.auto("LspAttach"),
load = function()
local notification_defaults = require("fidget.notification").default_config
notification_defaults["icon"] = ""
require("fidget").setup {
progress = {
display = {
progress_icon = {
pattern = "line",
period = 1
},
done_icon = ":)"
}
},
notification = {
filter = vim.log.levels.DEBUG,
override_vim_notify = true,
configs = {
default = notification_defaults
},
view = {
icon_separator = " ",
group_separator = "---",
group_separator_hl = "Comment"
},
window = {
zindex = 44,
relative = "editor"
}
}
}
end
},
{ "mfussenegger/nvim-jdtls",
disable = not vim.fn.has("nvim-0.6.0"),
reqs = "mfussenegger/nvim-dap",
lazy = dep_short.ft("java")
reqs = "mfussenegger/nvim-dap"
},
{ "nvimtools/none-ls.nvim",
@ -111,11 +52,11 @@ return {
null_ls.setup {
sources = {
null_ls.builtins.formatting.black,
null_ls.builtins.formatting.black
},
on_attach = function(client, bufnr)
if client.supports_method("textDocument/formatting") then
if client:supports_method("textDocument/formatting") then
vim.api.nvim_clear_autocmds({
group = nonels_augroup,
buffer = bufnr

View File

@ -1,75 +1,45 @@
local map, auto = core.misc.map, core.misc.auto
local map = core.misc.map
return { "L3MON4D3/LuaSnip",
branch = "v2.*",
disable = not vim.fn.has("nvim-0.7.0"),
config = function()
vim.cmd("make install_jsregexp")
end,
lazy = function(load)
load:keymap({"i", "s"}, "<c-a>")
load:keymap({"i", "s"}, "<c-e>")
load:keymap({"i", "s"}, "<c-j>")
load:keymap({"i", "s"}, "<c-k>")
end,
load = function()
local luasnip = require("luasnip")
local types = require("luasnip.util.types")
branch = "v2.*",
config = function()
vim.cmd("make install_jsregexp")
end,
lazy = function(load)
load:keymap({"i", "s"}, "<c-a>")
load:keymap({"i", "s"}, "<c-e>")
load:keymap({"i", "s"}, "<c-j>")
load:keymap({"i", "s"}, "<c-k>")
end,
load = function()
local ls = require("luasnip")
vim.snippet.expand = ls.lsp_expand
luasnip.config.set_config {
history = true, -- return back into snippet
enable_autosnippets = true,
ls.config.setup {
keep_roots = true,
link_roots = true,
link_children = true,
exit_roots = not true
}
-- update on text insert and cursor hold
updateevents = { "TextChanged", "TextChangedI", "CursorHold" },
ext_opts = {
[types.choiceNode] = {
active = {
virt_text = {{ "?", "@boolean" }}
}
}
}
}
map({"i", "s"}, "<C-e>", ls.expand)
map({"i", "s"}, "<C-j>", function() ls.jump(1) end)
map({"i", "s"}, "<C-k>", function() ls.jump(-1) end)
map({"i", "s"}, "<C-a>", function()
if ls.choice_active() then
ls.change_choice(1)
end
end)
map({"i", "s"}, "<c-a>", function()
if luasnip.choice_active() then
luasnip.change_choice(1)
end
end)
-- collect all snippets and add them
for _, file in ipairs(vim.api.nvim_get_runtime_file("lua/snippets/*.lua",
true)) do
local fn = file:gsub("^.*/", ""):gsub("%.lua$", "")
map({"i", "s"}, "<c-e>", function()
if luasnip.expandable() then
luasnip.expand()
end
end)
map({"i", "s"}, "<C-j>", function()
if luasnip.jumpable(1) then
luasnip.jump(1)
end
end)
map({"i", "s"}, "<C-k>", function()
if luasnip.jumpable(-1) then
luasnip.jump(-1)
end
end)
-- collect all snippets and add them when in the correct file type
for _, file in ipairs(vim.api.nvim_get_runtime_file("lua/snippets/*.lua",
true)) do
local fn = file:gsub("^.*/", ""):gsub("%.lua$", "")
auto("FileType", {
pattern = fn,
once = true,
callback = function()
local ret = require("snippets."..fn)
if type(ret) ~= "boolean" then
luasnip.add_snippets(fn, ret, { key = fn })
end
end
})
end
end
local ret = require("snippets."..fn)
if type(ret) ~= "boolean" then
ls.add_snippets(fn, ret, { key = fn })
end
end
end
}

View File

@ -1,5 +1,4 @@
return { "mellow-theme/mellow.nvim",
disable = not vim.fn.has("nvim-0.8.0"),
reqs = "nvim-treesitter/nvim-treesitter",
load = function()
vim.g.mellow_variant = "dark"
@ -21,6 +20,15 @@ return { "mellow-theme/mellow.nvim",
["NormalFloat"] = { fg = c.fg, bg = "#111111" },
["FloatBorder"] = { link = "NormalFloat" },
-- Make pmenu look good
["Pmenu"] = { link = "NormalFloat" },
["PmenuSel"] = { link = "Normal" },
["PmenuKind"] = { link = "@constant" },
["PmenuKindSel"] = {
fg = core.color.copyhl("Comment").fg,
bold = true
},
-- make diagnostics have an undercurl
["DiagnosticUnderlineError"] = { fg = c.red, undercurl = true },
["DiagnosticUnderlineWarn"] = { fg = c.yellow, undercurl = true },
@ -28,13 +36,6 @@ return { "mellow-theme/mellow.nvim",
["DiagnosticUnderlineHint"] = { fg = c.cyan, undercurl = true },
["DiagnosticHint"] = { fg = c.cyan }, -- revert
-- make blink actually look nice
["BlinkCmpMenu"] = { link = "NormalFloat" },
["BlinkCmpMenuBorder"] = { link = "BlinkCmpMenu" },
["BlinkCmpMenuSelection"] = { bg = c.gray01 },
["BlinkCmpLabelDeprecated"] = { link = "CmpItemAbbrDeprecated" },
["BlinkCmpLabelMatch"] = { link = "NormalFloat" }, -- reverted
-- telescope styling so I can see when coding outside (real)
["TelescopeResultsNormal"] = { bg = c.bg_dark },
["TelescopeResultsBorder"] = { link = "TelescopeResultsNormal" },

View File

@ -1,51 +1,5 @@
local map = core.misc.map
-- helper function to parse output
local function parse_output(proc)
local result = proc:wait()
local ret = {}
if result.code == 0 then
for line in vim.gsplit(result.stdout, "\n", {
plain = true, trimempty = true }) do
-- Remove trailing slash
line = line:gsub("/$", "")
ret[line] = true
end
end
return ret
end
-- build git status cache
local function new_git_status()
return setmetatable({}, {
__index = function(self, key)
local ignore_proc = vim.system(
{ "git", "ls-files", "--ignored", "--exclude-standard", "--others",
"--directory" },
{
cwd = key,
text = true,
}
)
local tracked_proc = vim.system({ "git", "ls-tree", "HEAD",
"--name-only" },
{
cwd = key,
text = true,
}
)
local ret = {
ignored = parse_output(ignore_proc),
tracked = parse_output(tracked_proc),
}
rawset(self, key, ret)
return ret
end,
})
end
local git_status = new_git_status()
local permission_hlgroups = {
["-"] = "NonText",
["r"] = "DiagnosticSignWarn",
@ -53,190 +7,34 @@ local permission_hlgroups = {
["x"] = "DiagnosticSignOk",
}
return {
{ "stevearc/oil.nvim",
disable = not vim.fn.has("nvim-0.8.0"),
lazy = dep_short.keymap("n", "-"),
load = function()
-- Clear git status cache on refresh
local refresh = require("oil.actions").refresh
local orig_refresh = refresh.callback
refresh.callback = function(...)
git_status = new_git_status()
orig_refresh(...)
end
require("oil").setup {
-- ID is automatically added at the beginning, and name at the end
-- See :help oil-columns
columns = {
{
"permissions",
highlight = function(permission_str)
local hls = {}
for i = 1, #permission_str do
local char = permission_str:sub(i, i)
table.insert(hls, { permission_hlgroups[char], i - 1, i })
end
return hls
end,
},
{ "size", highlight = "@number" }
},
-- Window-local options to use for oil buffers
win_options = {
number = false,
relativenumber = false,
wrap = false,
signcolumn = "yes:2",
cursorcolumn = false,
foldcolumn = "0",
spell = false,
list = false,
conceallevel = 3,
concealcursor = "nvic"
},
-- Send deleted files to the trash instead of permanently deleting them (:help oil-trash)
delete_to_trash = false,
-- Skip the confirmation popup for simple operations (:help oil.skip_confirm_for_simple_edits)
skip_confirm_for_simple_edits = false,
-- Selecting a new/moved/renamed file or directory will prompt you to save changes first
-- (:help prompt_save_on_select_new_entry)
prompt_save_on_select_new_entry = true,
-- Oil will automatically delete hidden buffers after this delay
-- You can set the delay to false to disable cleanup entirely
-- Note that the cleanup process only starts when none of the oil buffers are currently displayed
cleanup_delay_ms = 2000,
lsp_file_methods = {
-- Enable or disable LSP file operations
enabled = true,
-- Time to wait for LSP file operations to complete before skipping
timeout_ms = 1000,
-- Set to true to autosave buffers that are updated with LSP willRenameFiles
-- Set to "unmodified" to only save unmodified buffers
autosave_changes = "unmodified"
},
-- Constrain the cursor to the editable parts of the oil buffer
-- Set to `false` to disable, or "name" to keep it on the file names
constrain_cursor = "editable",
-- Set to true to watch the filesystem for changes and reload oil
watch_for_changes = false,
-- Keymaps in oil buffer. Can be any value that `vim.keymap.set` accepts OR a table of keymap
-- options with a `callback` (e.g. { callback = function() ... end, desc = "", mode = "n" })
-- Additionally, if it is a string that matches "actions.<name>",
-- it will use the mapping at require("oil.actions").<name>
-- Set to `false` to remove a keymap
-- See :help oil-actions for a list of all available actions
keymaps = {
["g?"] = { "actions.show_help", mode = "n" },
["<C-l>"] = "actions.refresh",
["<CR>"] = "actions.select",
["-"] = { "actions.parent", mode = "n" },
["_"] = { "actions.open_cwd", mode = "n" },
["`"] = { "actions.cd", mode = "n" },
["~"] = { "actions.cd", opts = { scope = "tab" }, mode = "n" },
["gs"] = { "actions.change_sort", mode = "n" },
["gx"] = "actions.open_external",
["g."] = { "actions.toggle_hidden", mode = "n" },
["g\\"] = { "actions.toggle_trash", mode = "n" }
},
view_options = {
-- Show files and directories that start with "."
show_hidden = false,
-- This function defines what is considered a "hidden" file
is_hidden_file = function(name, bufnr)
local dir = require("oil").get_current_dir(bufnr)
local is_dotfile = vim.startswith(name, ".") and name ~= ".."
-- if no local directory (e.g. for ssh connections), just hide dotfiles
if not dir then
return is_dotfile
return { "stevearc/oil.nvim",
lazy = dep_short.keymap("n", "-"),
load = function()
require("oil").setup {
-- ID is automatically added at the beginning, and name at the end
-- See :help oil-columns
columns = {
{
"permissions",
highlight = function(permission_str)
local hls = {}
for i = 1, #permission_str do
local char = permission_str:sub(i, i)
table.insert(hls, { permission_hlgroups[char], i - 1, i })
end
-- dotfiles are considered hidden unless tracked
if is_dotfile then
return not git_status[dir].tracked[name]
end
end,
-- This function defines what will never be shown, even when `show_hidden` is set
is_always_hidden = function(name, bufnr)
return false
end,
-- Sort file names with numbers in a more intuitive order for humans.
-- Can be "fast", true, or false. "fast" will turn it off for large directories.
natural_order = "fast",
-- Sort file and directory names case insensitive
case_insensitive = false,
sort = {
-- sort order can be "asc" or "desc"
-- see :help oil-columns to see which columns are sortable
{ "type", "asc" },
{ "name", "asc" },
},
-- Customize the highlight group for the file name
highlight_filename = function(entry, is_hidden, is_link_target, is_link_orphan)
return nil
return hls
end,
},
{ "size", highlight = "@number" }
},
-- Configuration for the floating window in oil.open_float
float = {
border = vim.g.border_style
},
-- fix the damn border
confirmation = { border = vim.o.winborder },
progress = { border = vim.o.winborder },
ssh = { border = vim.o.winborder },
keymaps_help = { border = vim.o.winborder }
}
-- Configuration for the floating action confirmation window
confirmation = {
border = vim.g.border_style
},
-- Configuration for the floating progress window
progress = {
border = vim.g.border_style
},
-- Configuration for the floating SSH window
ssh = {
border = vim.g.border_style
},
-- Configuration for the floating keymaps help window
keymaps_help = {
border = vim.g.border_style
}
}
map("n", "-", "<cmd>Oil<CR>")
end
},
{ "refractalize/oil-git-status.nvim",
reqs = "stevearc/oil.nvim",
lazy = dep_short.plugin("stevearc/oil.nvim"),
load = function()
require("oil-git-status").setup {
symbols = { -- customize the symbols that appear in the git status columns
index = {
["A"] = "+",
["D"] = "-",
["M"] = "~",
},
working_tree = {
["A"] = "+",
["D"] = "-",
["M"] = "~",
}
}
}
end
}
map("n", "-", "<cmd>Oil<CR>")
end
}

View File

@ -21,14 +21,8 @@ local function telebuilt_picker(fn)
end
return { "nvim-telescope/telescope.nvim",
disable = not vim.fn.has("nvim-0.9.0"),
reqs = {
{ "nvim-lua/plenary.nvim",
-- lazy = function(load)
-- load:cmd("PlenaryBustedDirectory")
-- load:cmd("PlenaryBustedFile")
-- end
},
"nvim-lua/plenary.nvim",
{ "nvim-telescope/telescope-fzf-native.nvim",
config = function()
vim.cmd("make")
@ -40,11 +34,8 @@ return { "nvim-telescope/telescope.nvim",
lazy = function(load)
load:cmd("Telescope")
load:keymap("n", "<leader>f")
load:keymap("n", "<leader>o")
load:keymap("n", "<leader>s")
load:keymap("n", "<leader>i")
load:keymap("n", "<leader>l")
load:keymap("n", "<leader>;")
load:keymap("n", "<leader>tc")
load:keymap("n", "<leader>tp")
end,
@ -52,35 +43,86 @@ return { "nvim-telescope/telescope.nvim",
load = function()
local telescope = require("telescope")
local actions = require("telescope.actions")
local action_state = require("telescope.actions.state")
local function send_limited_to_qflist_and_open(prompt_bufnr)
local picker = action_state.get_current_picker(prompt_bufnr)
local entries = {}
local max_items = 100
local count = 0
for entry in picker.manager:iter() do
if count >= max_items then
break
end
local filename = entry.path or entry.filename or entry.value
local text = entry.text or entry.value
if not text then
if type(entry.value) == "table" then
text = entry.value.text
else
text = entry.value
end
end
local pattern
if not entry.lnum then
if type(entry.display) == "string" then
pattern = entry.display
elseif type(entry.ordinal) == "string" then
pattern = entry.ordinal
elseif type(text) == "string" then
pattern = text
else
entry.lnum = 1
end
end
if filename then
table.insert(entries, {
filename = filename,
text = text,
lnum = entry.lnum,
col = entry.col,
-- we try and put a pattern in based on the info we receive from
-- telescope so that the qf list takes us to the correct place
pattern = pattern
})
count = count + 1
end
end
if #entries > 0 then
-- make sure errors get suppressed. I don't care
pcall(vim.fn.setqflist, {}, " ", {
title = "Telescope Limited Results",
items = entries
})
end
actions.select_default(prompt_bufnr)
end
telescope.setup {
defaults = {
borderchars = {
prompt = { " ", " ", " ", " ", " ", " ", " ", " " },
results = { " ", " ", " ", " ", " ", " ", " ", " " },
preview = { " ", " ", " ", " ", " ", " ", " ", " " },
},
winblend = 0,
layout_strategy = "horizontal",
sorting_strategy = "descending",
scroll_strategy = "limit",
layout_config = {
horizontal = {
height = 20,
prompt_position = "bottom",
anchor = "N",
}
},
layout_strategy = "bottom_pane",
borderchars = { " ", " ", " ", " ", " ", " ", " ", " " },
mappings = {
i = {
["<esc>"] = actions.close,
["<C-j>"] = actions.move_selection_next,
["<C-k>"] = actions.move_selection_previous,
["<C-u>"] = actions.preview_scrolling_up,
["<C-d>"] = actions.preview_scrolling_down,
["<CR>"] = send_limited_to_qflist_and_open,
}
}
},
pickers = {
colorscheme = {
enable_preview = true
}
},
extensions = {
fzf = {}
}
@ -95,17 +137,10 @@ return { "nvim-telescope/telescope.nvim",
map("n", "<leader>f", telebuilt_picker(telebuilt.find_files), {
desc = "Find files."
})
map("n", "<leader>o", telebuilt.oldfiles, { desc = "Find old." })
map("n", "<leader>s", telebuilt_picker(telebuilt.live_grep), {
desc = "Find strings."
})
map("n", "<leader>i", telebuilt.help_tags, { desc = "find help tags." })
map("n", "<leader>l", telebuilt.lsp_document_symbols, {
desc = "Find symbols."
})
map("n", "<leader>;", telebuilt.lsp_workspace_symbols, {
desc = "Find Workspace symbols."
})
-- find over specific directories
map("n", "<leader>tc", function()
@ -116,12 +151,5 @@ return { "nvim-telescope/telescope.nvim",
cwd = vim.fs.joinpath(vim.fn.stdpath("data"), "site/pack/deps/opt")
}
end, { desc = "find files in plugin directory" })
-- enable previewing in the default colorscheme switcher
telebuilt.colorscheme = function()
require("telescope.builtin.__internal").colorscheme {
enable_preview = true
}
end
end
}

View File

@ -1,8 +1,7 @@
local map, auto = core.misc.map, core.misc.auto
local map = core.misc.map
return {
{ "nvim-treesitter/nvim-treesitter",
disable = not vim.fn.has("nvim-0.10.0"),
config = function()
vim.cmd("TSUpdate")
end,