wip: move various programs to nix
This commit is contained in:
parent
17a2a04b96
commit
f4e8c1725a
65 changed files with 2460 additions and 2229 deletions
144
nix/nvim/lua/plugins/cmp.lua
Normal file
144
nix/nvim/lua/plugins/cmp.lua
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
return {
|
||||
{
|
||||
"L3MON4D3/LuaSnip",
|
||||
build = (not jit.os:find("Windows"))
|
||||
and "echo -e 'NOTE: jsregexp is optional, so not a big deal if it fails to build\n'; make install_jsregexp"
|
||||
or nil,
|
||||
dependencies = {
|
||||
"rafamadriz/friendly-snippets",
|
||||
config = function()
|
||||
require("luasnip.loaders.from_vscode").lazy_load()
|
||||
end,
|
||||
},
|
||||
opts = {
|
||||
history = true,
|
||||
delete_check_events = "TextChanged",
|
||||
updateevents = "TextChanged,TextChangedI",
|
||||
enable_autosnippets = true,
|
||||
},
|
||||
keys = function()
|
||||
return {}
|
||||
end,
|
||||
config = function(_, opts)
|
||||
require("luasnip").setup(opts)
|
||||
end,
|
||||
},
|
||||
{
|
||||
"hrsh7th/nvim-cmp",
|
||||
version = false,
|
||||
event = "InsertEnter",
|
||||
dependencies = {
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
"hrsh7th/cmp-buffer",
|
||||
"FelipeLema/cmp-async-path",
|
||||
"saadparwaiz1/cmp_luasnip",
|
||||
"Saecki/crates.nvim",
|
||||
{ "roobert/tailwindcss-colorizer-cmp.nvim", config = true },
|
||||
},
|
||||
opts = function()
|
||||
vim.api.nvim_set_hl(0, "CmpGhostText", { link = "Comment", default = true })
|
||||
local cmp = require("cmp")
|
||||
local defaults = require("cmp.config.default")()
|
||||
local luasnip = require("luasnip")
|
||||
local compare = require("cmp.config.compare")
|
||||
return {
|
||||
preselect = cmp.PreselectMode.None,
|
||||
completion = {
|
||||
-- completeopt = "menu,menuone,noinsert",
|
||||
},
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
luasnip.lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
mapping = {
|
||||
["<C-b>"] = cmp.mapping.scroll_docs(-4),
|
||||
["<C-f>"] = cmp.mapping.scroll_docs(4),
|
||||
["<C-Space>"] = cmp.mapping.complete(),
|
||||
["<C-e>"] = cmp.mapping.abort(),
|
||||
["<CR>"] = cmp.mapping.confirm({ select = false }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||
["<S-CR>"] = cmp.mapping.confirm({
|
||||
behavior = cmp.ConfirmBehavior.Replace,
|
||||
select = false,
|
||||
}), -- Accept cur
|
||||
["<Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item({ behavior = cmp.SelectBehavior.Insert })
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { "i", "s" }),
|
||||
["<S-Tab>"] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item({ behavior = cmp.SelectBehavior.Insert })
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, {
|
||||
"i",
|
||||
"s",
|
||||
}),
|
||||
["<C-j>"] = cmp.mapping(function(fallback)
|
||||
if luasnip.expandable() then
|
||||
luasnip.expand()
|
||||
elseif luasnip.expand_or_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, {
|
||||
"i",
|
||||
"s",
|
||||
}),
|
||||
["<C-k>"] = cmp.mapping(function(fallback)
|
||||
if luasnip.expand_or_jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, {
|
||||
"i",
|
||||
"s",
|
||||
}),
|
||||
},
|
||||
sources = cmp.config.sources({
|
||||
{ name = "nvim_lsp", priority = 99 },
|
||||
{ name = "luasnip", priority = 3, max_item_count = 3 },
|
||||
{ name = "buffer", priority = 2, max_item_count = 2, keyword_length = 5 },
|
||||
{ name = "async_path", priority = 1, max_item_count = 2, keyword_length = 3, trigger_characters = {} },
|
||||
{ name = "crates" },
|
||||
}),
|
||||
sorting = {
|
||||
priority_weight = 90,
|
||||
comparators = {
|
||||
compare.exact,
|
||||
compare.score,
|
||||
compare.offset,
|
||||
compare.kind,
|
||||
},
|
||||
},
|
||||
formatting = {
|
||||
preselect = cmp.PreselectMode.None,
|
||||
format = function(entry, item)
|
||||
local icons = require("lazyvim.config").icons.kinds
|
||||
if icons[item.kind] then
|
||||
item.kind = icons[item.kind] .. item.kind
|
||||
end
|
||||
return require("tailwindcss-colorizer-cmp").formatter(entry, item)
|
||||
end,
|
||||
},
|
||||
experimental = {
|
||||
ghost_text = {
|
||||
hl_group = "CmpGhostText",
|
||||
},
|
||||
},
|
||||
}
|
||||
end,
|
||||
config = function(_, opts)
|
||||
local cmp = require("cmp")
|
||||
require("luasnip.loaders.from_lua").load({ paths = "~/.config/nvim/snippets" })
|
||||
cmp.setup(opts)
|
||||
end,
|
||||
},
|
||||
}
|
||||
|
||||
100
nix/nvim/lua/plugins/dashboard.lua
Normal file
100
nix/nvim/lua/plugins/dashboard.lua
Normal file
|
|
@ -0,0 +1,100 @@
|
|||
return {
|
||||
{
|
||||
"goolord/alpha-nvim",
|
||||
event = "VimEnter",
|
||||
opts = function()
|
||||
local alpha = require("alpha")
|
||||
local dashboard = require("alpha.themes.dashboard")
|
||||
dashboard.section.header.val = {
|
||||
[[ _______ ___ _______. __ __ __ _______ ]],
|
||||
[[| \ / \ / || | | | | | | ____|]],
|
||||
[[| .--. | / ^ \ | (----`| |__| | | | | |__ ]],
|
||||
[[| | | | / /_\ \ \ \ | __ | | | | __| ]],
|
||||
[[| '--' | / _____ \ .----) | | | | | | | | |____ ]],
|
||||
[[|_______/ /__/ \__\ |_______/ |__| |__| |__| |_______|]],
|
||||
[[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⢤⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ]],
|
||||
[[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠪⣍⣒⠒⠦⠤⠤⠤⠄⠠⡜⡐⠁⠪⡢⡀⠀⠀⠀⠀⠀⠀⠀⠀⣀⠤⢄⠀⠀⠀⠀⠀⠀⠀ ]],
|
||||
[[ ⠀⠀⠀⠈⠛⠯⣉⠁⣐⣂⠐⠮⠥⠟⣓⣲⣾⣿⣿⣿⣶⡃⠀⠀⠈⢞⢆⠀⠀⠀⠀⠀⠀⡰⢁⠂⠄⣇⠀⠀⠀⠀⠀⠀ ]],
|
||||
[[ ⠀⠀⠀⠀⣠⠤⠤⠭⠷⠎⡡⠔⠒⠘⠀⢹⣿⣿⣿⣿⣿⠀⠈⠀⠀⠀⢢⢣⠀⠀⠀⠀⢀⡇⠈⠀⢰⢰⠀⠀⠀⠀⠀⠀ ]],
|
||||
[[ ⠀⠀⠀⢸⢰⠀⠀⠀⡩⢋⣀⣤⣤⣤⣤⣤⣿⣿⠟⠿⣿⡀⠀⠀⠀⠀⠀⠆⢳⠀⠀⠀⢸⠀⠂⠀⠀⡈⡆⠀⠀⠀⠀⠀ ]],
|
||||
[[ ⠀⠀⠀⠀⢣⢂⠀⠮⡪⠛⠉⢋⠝⠻⢿⢿⡿⢁⠔⢋⣸⠇⠀⠀⠀⠀⠀⡘⣆⢣⠀⠀⡼⠀⠀⠀⠀⡇⣇⠀⠀⠀⠀⠀ ]],
|
||||
[[ ⠀⠀⠀⠀⠀⡣⢲⡊⠀⠀⠀⠀⠀⡴⠃⣼⠡⢪⠔⠋⠀⠀⠀⢀⠀⠀⠀⢸⣿⡄⢆⠀⡇⠀⠀⠀⠀⠁⢸⠀⠀⠀⠀⠀ ]],
|
||||
[[ ⠀⠀⠀⠀⢰⢡⡇⠀⠀⢀⠔⠠⠊⣰⠞⡇⢠⠃⠀⣠⣶⣿⣷⣷⣷⠄⠀⠈⡟⣷⡸⡄⡇⠀⠀⠀⠀⠀⢸⠀⠀⠀⠀⠀ ]],
|
||||
[[ ⠀⠀⠀⠀⡇⣾⠀⣀⠔⣁⣤⣦⢺⣿⡆⡆⡃⠀⢨⠃⢸⣿⣿⣿⠏⠀⠠⢀⢠⣿⡇⣧⡇⠀⠀⠀⠀⠀⢸⣆⢔⡲⡆⠀ ]],
|
||||
[[ ⠀⠀⣠⠞⠼⠧⢙⡒⣾⣿⣿⡷⡘⣟⣷⣜⡃⠀⡼⠀⠀⠷⠗⠋⠀⠀⠀⢀⡟⣿⣿⢀⠓⠀⠀⠀⠀⠀⢸⢋⠊⠀⡇⠀ ]],
|
||||
[[ ⠘⠛⠒⠒⠉⠉⠁⡇⣿⣽⣿⡇⠈⢹⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⣠⠟⠀⣷⣿⣇⠱⡀⠀⠀⠀⡄⢀⠃⠀⡄⡇⠀ ]],
|
||||
[[ ⠀⠀⠀⠀⠀⠀⠀⡇⢸⣏⢀⣧⠀⠈⠆⠀⠀⠀⠀⠀⠀⠀⠀⡠⢊⡴⡟⠀⡼⢁⢸⡙⣠⠁⠀⠀⠀⢇⠆⠀⢀⢳⡇⠀ ]],
|
||||
[[ ⠀⠀⠀⠀⠀⠀⠀⢳⢀⣵⢸⣯⣷⣤⣀⠀⠀⠀⠀⠀⢀⣐⠮⠔⡎⠘⠀⠈⢀⢮⣿⣷⠁⠇⠠⠀⢰⠎⠀⠀⡘⣸⠀⠀ ]],
|
||||
[[ ⠀⠀⠀⠀⠀⠀⢀⠎⢬⢘⣯⠛⢻⠏⣿⣿⣶⣶⡶⠋⠉⠀⠀⢸⠀⠀⡔⠀⣪⣿⣿⢻⠀⠸⠈⡇⠛⠀⠠⢀⢃⡇⠀⠀ ]],
|
||||
[[ ⠀⠀⠀⠀⠀⠈⡹⡡⣪⡏⠛⠀⠀⢠⡟⢻⣿⣿⡇⠀⠀⠀⠀⢼⡆⠠⡇⢰⣿⣿⣿⣻⡄⠀⡆⠁⠀⣠⠃⠌⠼⠤⠤⡀ ]],
|
||||
[[ ⠀⠀⠀⣀⡠⢞⣳⣽⢸⡇⠀⡇⠀⠸⠀⣼⣿⣿⡇⠀⠀⠀⠀⠈⡇⣰⠃⣶⡍⣼⣿⣏⠃⠀⠁⢠⠊⣀⣜⠤⠐⢂⢆⠇ ]],
|
||||
[[ ⠀⠀⠈⠉⠉⠁⠀⢇⢸⡟⠀⡇⠀⡇⢸⢷⣹⣿⡇⠀⠀⠀⠀⠀⢳⡽⠃⡞⣇⣿⣧⣿⠀⠀⢸⠃⢠⠃⠀⢀⠤⢢⠞⠀ ]],
|
||||
[[ ⠀⠀⠀⠀⠀⠀⠀⢸⡀⡇⠀⠁⢠⠁⣿⠈⣿⣿⠇⠀⠀⠀⠀⠀⠀⠁⡆⡇⣾⠿⣹⣿⠀⠀⠃⡰⠃⡰⢔⣡⠞⠁⠀⠀ ]],
|
||||
[[ ⠀⠀⠀⠀⠀⠀⠀⠀⢇⢠⠀⠂⡌⠀⢽⠁⣟⡟⠀⠀⠀⠀⠀⠀⠀⠀⣇⢶⢹⣤⣿⠇⠀⣀⣈⠝⡱⠒⠉⠀⠀⠀⠀⠀ ]],
|
||||
[[ ⠀⠀⠀⠀⠀⠀⠀⠀⠈⣎⡄⠀⡷⠀⢸⠀⢹⠇⠀⠀⠀⠀⠀⠀⠀⠀⠫⣼⣾⣿⢋⠤⠤⠥⢆⡞⠀⠀⠀⠀⠀⠀⠀⠀ ]],
|
||||
[[ ⠀⠀⠀⠀⠀⠀⠀⠀⢀⢫⣡⢸⠎⢃⢘⠀⢈⡄⠀⠀⠀⠀⠀⠀⠀⠀⢀⡽⣽⢀⡋⠉⠑⠉⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀ ]],
|
||||
[[ ⠀⠀⠀⠀⠀⠀⠀⠀⠘⠉⠳⡯⣇⢆⠻⣆⠈⣤⠀⠀⠀⠀⣀⡀⠤⢚⡨⠷⣝⠗⠑⢄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ]],
|
||||
[[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠫⣗⠳⡜⠵⠀⡍⡥⠤⠤⠤⠄⠒⠉⠀⠀⠀⠉⠉⠉⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ]],
|
||||
[[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠫⡆⣇⠇⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ]],
|
||||
[[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢰⡙⡰⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ]],
|
||||
[[ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣦⠞⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ]],
|
||||
}
|
||||
dashboard.section.buttons.val = {
|
||||
dashboard.button("f", " Find file", ":lua require('telescope.builtin').find_files()<CR>"),
|
||||
dashboard.button("y", " Yazi", ":lua require('yazi').yazi()<CR>"),
|
||||
dashboard.button("p", " Find project", ":lua require('telescope').extensions.project.project{}<CR>"),
|
||||
dashboard.button("t", " Zoxide", ":lua require('telescope').extensions.zoxide.list{}<CR>"),
|
||||
dashboard.button("c", " Configuration", ":e ~/.config/nvim/init.lua <CR>"),
|
||||
dashboard.button("q", " Quit Neovim", ":qa<CR>"),
|
||||
}
|
||||
|
||||
local function footer()
|
||||
return "dashie@dashie.org"
|
||||
end
|
||||
|
||||
dashboard.section.footer.val = footer()
|
||||
|
||||
dashboard.section.footer.opts.hl = "Type"
|
||||
dashboard.section.header.opts.hl = "Include"
|
||||
dashboard.section.buttons.opts.hl = "Keyword"
|
||||
|
||||
dashboard.opts.opts.noautocmd = true
|
||||
|
||||
-- alpha.pad_margin(dashboard.section.header.val, dashboard.opts , 0, 0)
|
||||
alpha.setup(dashboard.opts)
|
||||
end,
|
||||
config = function(_, dashboard)
|
||||
-- close Lazy and re-open when the dashboard is ready
|
||||
if vim.o.filetype == "lazy" then
|
||||
vim.cmd.close()
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "AlphaReady",
|
||||
callback = function()
|
||||
require("lazy").show()
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
require("alpha").setup({
|
||||
layout = {
|
||||
{ type = "padding", val = 1 },
|
||||
dashboard.section.header,
|
||||
{ type = "padding", val = 1 },
|
||||
dashboard.section.buttons,
|
||||
{ type = "padding", val = 1 },
|
||||
dashboard.section.footer,
|
||||
},
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd("User", {
|
||||
pattern = "LazyVimStarted",
|
||||
callback = function()
|
||||
local stats = require("lazy").stats()
|
||||
local ms = (math.floor(stats.startuptime * 100 + 0.5) / 100)
|
||||
dashboard.section.footer.val = "⚡ Neovim loaded " .. stats.count .. " plugins in " .. ms .. "ms"
|
||||
pcall(vim.cmd.AlphaRedraw)
|
||||
end,
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
8
nix/nvim/lua/plugins/disabled.lua
Normal file
8
nix/nvim/lua/plugins/disabled.lua
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
return {
|
||||
{
|
||||
{ "rcarriga/nvim-notify", enabled = false },
|
||||
},
|
||||
{ { "folke/noice.nvim", enabled = false } },
|
||||
{ { "nvimtools/none-ls.nvim", enabled = false } },
|
||||
{ { "nvimdev/dashboard-nvim", enabled = false } },
|
||||
}
|
||||
162
nix/nvim/lua/plugins/lsp.lua
Normal file
162
nix/nvim/lua/plugins/lsp.lua
Normal file
|
|
@ -0,0 +1,162 @@
|
|||
return {
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
opts = {
|
||||
ensure_installed = {},
|
||||
},
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
---@class PluginLspOpts
|
||||
opts = {
|
||||
-- inlay_hints = {
|
||||
-- enabled = true,
|
||||
-- },
|
||||
format_notify = false,
|
||||
-- LSP Server Settings
|
||||
---@type lspconfig.options
|
||||
servers = {
|
||||
rust_analyzer = {
|
||||
mason = false,
|
||||
},
|
||||
marksman = {
|
||||
mason = false,
|
||||
},
|
||||
clangd = {
|
||||
mason = false,
|
||||
},
|
||||
jdtls = {
|
||||
mason = false,
|
||||
},
|
||||
gopls = {
|
||||
mason = false,
|
||||
},
|
||||
pyright = {
|
||||
mason = false,
|
||||
},
|
||||
ruff_lsp = {
|
||||
mason = false,
|
||||
},
|
||||
texlab = {
|
||||
mason = false,
|
||||
},
|
||||
taplo = {
|
||||
keys = {
|
||||
{
|
||||
"K",
|
||||
function()
|
||||
if vim.fn.expand("%:t") == "Cargo.toml" and require("crates").popup_available() then
|
||||
require("crates").show_popup()
|
||||
else
|
||||
vim.lsp.buf.hover()
|
||||
end
|
||||
end,
|
||||
desc = "Show Crate Documentation",
|
||||
},
|
||||
},
|
||||
mason = false,
|
||||
},
|
||||
bashls = {
|
||||
mason = false,
|
||||
},
|
||||
ansiblels = {
|
||||
mason = false,
|
||||
},
|
||||
typst_lsp = {
|
||||
settings = {
|
||||
experimentalFormatterMode = "on",
|
||||
exportPdf = "onSave",
|
||||
},
|
||||
mason = false,
|
||||
},
|
||||
nil_ls = {
|
||||
settings = {
|
||||
["nil"] = {
|
||||
formatting = {
|
||||
command = { "nixpkgs-fmt" },
|
||||
},
|
||||
},
|
||||
},
|
||||
mason = false,
|
||||
},
|
||||
ltex = {
|
||||
settings = {
|
||||
ltex = {
|
||||
checkFrequency = "save",
|
||||
},
|
||||
},
|
||||
filetypes = {
|
||||
"bib",
|
||||
"gitcommit",
|
||||
"markdown",
|
||||
"org",
|
||||
"plaintex",
|
||||
"rst",
|
||||
"rnoweb",
|
||||
"tex",
|
||||
"pandoc",
|
||||
"typst",
|
||||
"typ",
|
||||
},
|
||||
mason = false,
|
||||
},
|
||||
sqlls = {
|
||||
mason = false,
|
||||
},
|
||||
lemminx = {
|
||||
mason = false,
|
||||
},
|
||||
opencl_ls = {
|
||||
mason = false,
|
||||
},
|
||||
yamlls = {
|
||||
mason = false,
|
||||
},
|
||||
lua_ls = {
|
||||
mason = false,
|
||||
{
|
||||
Lua = {
|
||||
workspace = {
|
||||
checkThirdParty = false,
|
||||
},
|
||||
completion = {
|
||||
callSnippet = "Replace",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
init = function()
|
||||
local keys = require("lazyvim.plugins.lsp.keymaps").get()
|
||||
local my_keys = require("config.lsp-keymap").get()
|
||||
local count = 0
|
||||
for _ in pairs(my_keys) do
|
||||
keys[#keys + 1] = my_keys[count]
|
||||
count = count + 1
|
||||
end
|
||||
end,
|
||||
},
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
opts = {
|
||||
keys = {
|
||||
{
|
||||
-- Customize or remove this keymap to your liking
|
||||
"<leader>cF",
|
||||
function()
|
||||
require("conform").format({ async = true, lsp_fallback = true })
|
||||
end,
|
||||
mode = "",
|
||||
desc = "Format buffer",
|
||||
},
|
||||
},
|
||||
formatters_by_ft = {
|
||||
typst = { "typstfmt" },
|
||||
nix = { "nixpkgs-fmt" },
|
||||
lua = { "stylua" },
|
||||
sh = { "shfmt" },
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
255
nix/nvim/lua/plugins/plugins.lua
Normal file
255
nix/nvim/lua/plugins/plugins.lua
Normal file
|
|
@ -0,0 +1,255 @@
|
|||
local Util = require("lazyvim.util")
|
||||
|
||||
return {
|
||||
{
|
||||
"LazyVim/LazyVim",
|
||||
opts = {
|
||||
colorscheme = "tokyonight-night",
|
||||
-- colorscheme = "catppuccin-mocha",
|
||||
},
|
||||
},
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
cmd = "Telescope",
|
||||
keys = function()
|
||||
return {}
|
||||
end,
|
||||
opts = {
|
||||
defaults = {
|
||||
layout_strategy = "flex",
|
||||
layout_config = {
|
||||
flex = {
|
||||
height = 0.95,
|
||||
width = 0.95,
|
||||
flip_columns = 100,
|
||||
},
|
||||
vertical = { preview_height = 0.5, preview_cutoff = 5 },
|
||||
horizontal = { preview_width = 0.7, preview_cutoff = 99 },
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"nvim-telescope/telescope-project.nvim",
|
||||
lazy = true,
|
||||
},
|
||||
{
|
||||
"nvim-telescope/telescope-file-browser.nvim",
|
||||
lazy = true,
|
||||
config = function()
|
||||
require("telescope").load_extension("file_browser")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"jvgrootveld/telescope-zoxide",
|
||||
lazy = true,
|
||||
config = function()
|
||||
local z_utils = require("telescope._extensions.zoxide.utils")
|
||||
local t = require("telescope")
|
||||
-- Configure the extension
|
||||
t.setup({
|
||||
extensions = {
|
||||
zoxide = {
|
||||
prompt_title = "[ Queries ]",
|
||||
mappings = {
|
||||
default = {
|
||||
after_action = function(selection)
|
||||
print("Update to (" .. selection.z_score .. ") " .. selection.path)
|
||||
end,
|
||||
},
|
||||
["<C-s>"] = {
|
||||
before_action = function(selection)
|
||||
print("before C-s")
|
||||
end,
|
||||
action = function(selection)
|
||||
vim.cmd("edit " .. selection.path)
|
||||
end,
|
||||
},
|
||||
["<C-q>"] = { action = z_utils.create_basic_command("split") },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- Load the extension
|
||||
t.load_extension("zoxide")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"lervag/vimtex",
|
||||
config = function()
|
||||
vim.cmd("let g:vimtex_quickfix_mode=0")
|
||||
vim.cmd("let g:vimtex_view_general_viewer = 'evince'")
|
||||
vim.cmd("let g:vimtex_compiler_method = 'latexmk'")
|
||||
vim.cmd(
|
||||
"let g:vimtex_compiler_latexmk = {'options': ['-pdf', '-shell-escape', '-file-line-error', '--extra-mem-bot=10000000', '-synctex=1', '-interaction=nonstopmode',],}"
|
||||
)
|
||||
end,
|
||||
},
|
||||
{
|
||||
"jbyuki/instant.nvim",
|
||||
config = function()
|
||||
vim.cmd("let g:instant_username = 'dashie'")
|
||||
end,
|
||||
},
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
opts = {
|
||||
textobjects = {
|
||||
select = {
|
||||
enable = true,
|
||||
lookahead = true,
|
||||
keymaps = {
|
||||
-- You can use the capture groups defined in textobjects.scm
|
||||
["af"] = "@function.outer",
|
||||
["if"] = "@function.inner",
|
||||
["ac"] = "@class.outer",
|
||||
["ic"] = "@class.inner",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"karb94/neoscroll.nvim",
|
||||
config = function()
|
||||
require("neoscroll").setup()
|
||||
end,
|
||||
},
|
||||
{
|
||||
"kaarmu/typst.vim",
|
||||
lazy = true,
|
||||
event = "FileType typst",
|
||||
},
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {
|
||||
plugins = { spelling = true },
|
||||
defaults = {
|
||||
mode = { "n", "v" },
|
||||
["g"] = { name = "+goto" },
|
||||
["gz"] = { name = "+surround" },
|
||||
["]"] = { name = "+next" },
|
||||
["["] = { name = "+prev" },
|
||||
["<leader><tab>"] = { name = "+tabs" },
|
||||
["<leader>b"] = { name = "+buffer" },
|
||||
["<leader>c"] = { name = "+code" },
|
||||
["<leader>f"] = { name = "+file/find" },
|
||||
["<leader>g"] = { name = "+git" },
|
||||
["<leader>gh"] = { name = "+hunks" },
|
||||
["<leader>q"] = { name = "+quit/session" },
|
||||
["<leader>s"] = { name = "+search" },
|
||||
["<leader>u"] = { name = "+ui" },
|
||||
["<leader>w"] = { name = "+windows" },
|
||||
["<leader>x"] = { name = "+diagnostics/quickfix" },
|
||||
["<leader>h"] = { name = "+harpoon" },
|
||||
["<leader>d"] = { name = "+DAP" },
|
||||
},
|
||||
},
|
||||
config = function(_, opts)
|
||||
local wk = require("which-key")
|
||||
wk.setup(opts)
|
||||
wk.register(opts.defaults)
|
||||
end,
|
||||
},
|
||||
{
|
||||
"f-person/git-blame.nvim",
|
||||
lazy = true,
|
||||
},
|
||||
{
|
||||
"mg979/vim-visual-multi",
|
||||
},
|
||||
{
|
||||
"barreiroleo/ltex_extra.nvim",
|
||||
ft = { "markdown", "tex", "typst", "typ" },
|
||||
lazy = true,
|
||||
},
|
||||
{
|
||||
"smjonas/inc-rename.nvim",
|
||||
lazy = true,
|
||||
event = "BufEnter",
|
||||
config = function()
|
||||
require("inc_rename").setup({
|
||||
cmd_name = "IncRename", -- the name of the command
|
||||
hl_group = "Substitute", -- the highlight group used for highlighting the identifier's new name
|
||||
preview_empty_name = true, -- whether an empty new name should be previewed; if false the command preview will be cancelled instead
|
||||
show_message = true, -- whether to display a `Renamed m instances in n files` message after a rename operation
|
||||
input_buffer_type = nil, -- the type of the external input buffer to use (the only supported value is currently "dressing")
|
||||
post_hook = nil, -- callback to run after renaming, receives the result table (from LSP handler) as an argument
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"nvim-neo-tree/neo-tree.nvim",
|
||||
opts = {
|
||||
window = {
|
||||
position = "right",
|
||||
mappings = {
|
||||
["l"] = "none",
|
||||
},
|
||||
},
|
||||
},
|
||||
keys = {
|
||||
{
|
||||
"<leader>fe",
|
||||
function()
|
||||
require("neo-tree.command").execute({ position = "right", toggle = true, dir = Util.root() })
|
||||
end,
|
||||
desc = "Explorer NeoTree (root dir)",
|
||||
},
|
||||
{
|
||||
"<leader>fE",
|
||||
function()
|
||||
require("neo-tree.command").execute({ position = "right", toggle = true, dir = vim.loop.cwd() })
|
||||
end,
|
||||
desc = "Explorer NeoTree (cwd)",
|
||||
},
|
||||
{ "<A-f>", "<leader>fe", desc = "Explorer NeoTree (root dir)", remap = true },
|
||||
{ "<A-F>", "<leader>fE", desc = "Explorer NeoTree (cwd)", remap = true },
|
||||
},
|
||||
},
|
||||
{
|
||||
"rcarriga/nvim-dap-ui",
|
||||
keys = {
|
||||
{
|
||||
"<leader>dk",
|
||||
function()
|
||||
require("dap").down()
|
||||
end,
|
||||
desc = "Down",
|
||||
},
|
||||
{
|
||||
"<leader>dl",
|
||||
function()
|
||||
require("dap").up()
|
||||
end,
|
||||
desc = "Up",
|
||||
},
|
||||
{
|
||||
"<leader>d;",
|
||||
function()
|
||||
require("dap").run_last()
|
||||
end,
|
||||
desc = "Run Last",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"DashieTM/test_plugin",
|
||||
lazy = false,
|
||||
opts = {
|
||||
what = 0,
|
||||
},
|
||||
},
|
||||
{
|
||||
"DreamMaoMao/yazi.nvim",
|
||||
dependencies = {
|
||||
"nvim-telescope/telescope.nvim",
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
keys = {
|
||||
{ "<leader>fy", "<cmd>Yazi<CR>", desc = "Toggle Yazi" },
|
||||
},
|
||||
},
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue