too many things
This commit is contained in:
@@ -1,29 +0,0 @@
|
||||
return {
|
||||
"neovim/nvim-lspconfig", -- REQUIRED: for native Neovim LSP integration
|
||||
lazy = false, -- REQUIRED: tell lazy.nvim to start this plugin at startup
|
||||
dependencies = {
|
||||
-- main one
|
||||
{ "ms-jpq/coq_nvim", branch = "coq" },
|
||||
|
||||
-- 9000+ Snippets
|
||||
{ "ms-jpq/coq.artifacts", branch = "artifacts" },
|
||||
|
||||
-- lua & third party sources -- See https://github.com/ms-jpq/coq.thirdparty
|
||||
-- Need to **configure separately**
|
||||
{ 'ms-jpq/coq.thirdparty', branch = "3p" }
|
||||
-- - shell repl
|
||||
-- - nvim lua api
|
||||
-- - scientific calculator
|
||||
-- - comment banner
|
||||
-- - etc
|
||||
},
|
||||
init = function()
|
||||
vim.g.coq_settings = {
|
||||
auto_start = true, -- if you want to start COQ at startup
|
||||
-- Your COQ settings here
|
||||
}
|
||||
end,
|
||||
config = function()
|
||||
-- Your LSP settings here
|
||||
end,
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
return {
|
||||
'saecki/crates.nvim',
|
||||
event = { "BufRead Cargo.toml" },
|
||||
verylazy = true,
|
||||
config = function()
|
||||
require('crates').setup()
|
||||
end,
|
||||
}
|
||||
84
.config/nvim/lua/plugins/debugging.lua
Normal file
84
.config/nvim/lua/plugins/debugging.lua
Normal file
@@ -0,0 +1,84 @@
|
||||
return {
|
||||
{
|
||||
"mfussenegger/nvim-dap",
|
||||
lazy = true,
|
||||
keys = {
|
||||
{
|
||||
"<leader>db",
|
||||
function() require("dap").toggle_breakpoint() end,
|
||||
desc = "Toggle Breakpoint",
|
||||
},
|
||||
{
|
||||
"<leader>dc",
|
||||
function() require("dap").continue() end,
|
||||
desc = "Continue",
|
||||
},
|
||||
{
|
||||
"<leader>dC",
|
||||
function() require("dap").run_to_cursor() end,
|
||||
desc = "Run to Cursor",
|
||||
},
|
||||
{
|
||||
"<leader>dT",
|
||||
function() require("dap").terminate() end,
|
||||
desc = "Terminate",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"rcarriga/nvim-dap-ui",
|
||||
config = true,
|
||||
lazy = true,
|
||||
keys = {
|
||||
{
|
||||
"<leader>du",
|
||||
function() require("dapui").toggle({}) end,
|
||||
desc = "Dap UI",
|
||||
},
|
||||
},
|
||||
dependencies = {
|
||||
"jay-babu/mason-nvim-dap.nvim",
|
||||
"leoluz/nvim-dap-go",
|
||||
"mfussenegger/nvim-dap-python",
|
||||
"nvim-neotest/nvim-nio",
|
||||
"theHamsta/nvim-dap-virtual-text",
|
||||
},
|
||||
},
|
||||
-- debugging virtual text to show output
|
||||
-- {
|
||||
-- "theHamsta/nvim-dap-virtual-text",
|
||||
-- event = "VeryLazy",
|
||||
-- config = true,
|
||||
-- dependencies = {
|
||||
-- "mfussenegger/nvim-dap",
|
||||
-- },
|
||||
-- },
|
||||
-- debugging languages
|
||||
{
|
||||
{
|
||||
-- Automatically sets up LSP, so lsp.lua doesn't include rust.
|
||||
-- Makes debugging work seamlessly.
|
||||
"mrcjkb/rustaceanvim",
|
||||
version = "^5", -- Recommended by module.
|
||||
lazy = true,
|
||||
ft = "rust",
|
||||
dependencies = {
|
||||
"mfussenegger/nvim-dap",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"mfussenegger/nvim-dap-python",
|
||||
lazy = true,
|
||||
ft = "python",
|
||||
config = function()
|
||||
local python = vim.fn.expand("~/.local/share/nvim/mason/packages/debugpy/venv/bin/python")
|
||||
require("dap-python").setup(python)
|
||||
end,
|
||||
-- Consider the mappings at
|
||||
-- https://github.com/mfussenegger/nvim-dap-python?tab=readme-ov-file#mappings
|
||||
dependencies = {
|
||||
"mfussenegger/nvim-dap",
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -1,41 +1,256 @@
|
||||
return {
|
||||
-- LSP Support
|
||||
-- {
|
||||
-- 'VonHeikemen/lsp-zero.nvim',
|
||||
-- branch = "v3.x",
|
||||
-- lazy = true,
|
||||
-- config = false,
|
||||
-- },
|
||||
{
|
||||
"mason-org/mason.nvim",
|
||||
lazy = false,
|
||||
--cmd = { "Mason", "MasonInstall", "MasonUninstall", "MasonUpdate", "MasonUninstallAll", "MasonLog" },
|
||||
opts = {},
|
||||
},
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter",
|
||||
lazy = false,
|
||||
build = ":TSUpdate",
|
||||
event = { "BufRead" },
|
||||
opts = {
|
||||
sync_install = false,
|
||||
auto_install = true,
|
||||
highlight = {
|
||||
enable = true,
|
||||
-- disable for files bigger than 500KB
|
||||
disable = function(lang, buf)
|
||||
local max_filesize = 500 * 1024 -- 500 KB
|
||||
local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf))
|
||||
if ok and stats and stats.size > max_filesize then return true end
|
||||
end,
|
||||
additional_vim_regex_highlighting = false,
|
||||
},
|
||||
indent = {
|
||||
enable = true,
|
||||
},
|
||||
ensure_installed = {
|
||||
"html",
|
||||
"javascript",
|
||||
"gdscript",
|
||||
"lua",
|
||||
"php",
|
||||
"python",
|
||||
"rust",
|
||||
"typescript",
|
||||
"vim",
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"mason-org/mason-lspconfig.nvim",
|
||||
lazy = false,
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"rust_analyzer",
|
||||
"ruff",
|
||||
--"quick_lint_js",
|
||||
--"eslint",
|
||||
"html",
|
||||
"cssls",
|
||||
"gdscript",
|
||||
"sqls",
|
||||
"hyprls",
|
||||
"lua_ls",
|
||||
"ast-grep",
|
||||
-- "pylyzer",
|
||||
"vimls",
|
||||
"ts_ls",
|
||||
},
|
||||
automatic_enable = { true, rust_analyzer = false },
|
||||
},
|
||||
config = function()
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
|
||||
callback = function(ev)
|
||||
-- Enable completion triggered by <c-x><c-o>
|
||||
vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc"
|
||||
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev)
|
||||
vim.keymap.set("n", "]d", vim.diagnostic.goto_next)
|
||||
vim.keymap.set("n", "<leader>le", vim.diagnostic.open_float)
|
||||
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts)
|
||||
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
|
||||
vim.keymap.set("n", "<leader>K", vim.lsp.buf.hover, opts)
|
||||
vim.keymap.set("n", "<leader>wa", vim.lsp.buf.add_workspace_folder, opts)
|
||||
vim.keymap.set("n", "<leader>wr", vim.lsp.buf.remove_workspace_folder, opts)
|
||||
vim.keymap.set("n", "<leader>f", function() vim.lsp.buf.format({ async = true }) end, opts)
|
||||
end,
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"neovim/nvim-lspconfig",
|
||||
-- dependencies = {
|
||||
-- {"hrsh7th/cmp-nvim-lsp"},
|
||||
-- },
|
||||
lazy = true,
|
||||
},
|
||||
{
|
||||
"williamboman/mason.nvim",
|
||||
lazy = true,
|
||||
},
|
||||
{
|
||||
"williamboman/mason-lspconfig.nvim",
|
||||
lazy = true,
|
||||
lazy = false, -- REQUIRED: tell lazy.nvim to start this plugin at startup
|
||||
dependencies = {
|
||||
-- main one
|
||||
{ "ms-jpq/coq_nvim", branch = "coq", lazy = false },
|
||||
|
||||
-- 9000+ Snippets
|
||||
{ "ms-jpq/coq.artifacts", branch = "artifacts", lazy = false },
|
||||
|
||||
-- lua & third party sources -- See https://github.com/ms-jpq/coq.thirdparty
|
||||
-- Need to **configure separately**
|
||||
--{ "ms-jpq/coq.thirdparty", branch = "3p", lazy = false },
|
||||
-- - shell repl
|
||||
-- - nvim lua api
|
||||
-- - scientific calculator
|
||||
-- - comment banner
|
||||
-- - etc
|
||||
},
|
||||
init = function()
|
||||
vim.g.coq_settings = {
|
||||
auto_start = true, -- if you want to start COQ at startup
|
||||
-- Your COQ settings here
|
||||
display = { statusline = { helo = false } }, -- disable greeting notification
|
||||
}
|
||||
end,
|
||||
config = function()
|
||||
vim.lsp.config(
|
||||
"rust_analyzer",
|
||||
coq.lsp_ensure_capabilities({
|
||||
settings = {
|
||||
["rust-analyzer"] = {
|
||||
imports = {
|
||||
granularity = {
|
||||
group = "module",
|
||||
},
|
||||
prefix = "self",
|
||||
},
|
||||
cargo = {
|
||||
buildScripts = {
|
||||
enable = true,
|
||||
},
|
||||
},
|
||||
procMacro = {
|
||||
enable = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
)
|
||||
vim.lsp.config("gdscript", coq.lsp_ensure_capabilities({}))
|
||||
|
||||
--vim.lsp.enable({ "lua_ls" })
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
|
||||
callback = function(ev)
|
||||
-- Enable completion triggered by <c-x><c-o>
|
||||
vim.bo[ev.buf].omnifunc = "v:lua.vim.lsp.omnifunc"
|
||||
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev)
|
||||
vim.keymap.set("n", "]d", vim.diagnostic.goto_next)
|
||||
vim.keymap.set("n", "<leader>le", vim.diagnostic.open_float)
|
||||
vim.keymap.set("n", "gD", vim.lsp.buf.declaration, opts)
|
||||
vim.keymap.set("n", "gd", vim.lsp.buf.definition, opts)
|
||||
vim.keymap.set("n", "<leader>K", vim.lsp.buf.hover, opts)
|
||||
vim.keymap.set("n", "<leader>wa", vim.lsp.buf.add_workspace_folder, opts)
|
||||
vim.keymap.set("n", "<leader>wr", vim.lsp.buf.remove_workspace_folder, opts)
|
||||
vim.keymap.set("n", "<leader>f", function() vim.lsp.buf.format({ async = true }) end, opts)
|
||||
end,
|
||||
})
|
||||
end,
|
||||
},
|
||||
{
|
||||
"mfussenegger/nvim-lint",
|
||||
lazy = false,
|
||||
event = { "BufWritePre", "InsertLeave" },
|
||||
lazy = true,
|
||||
opts = {
|
||||
linters_by_ft = {
|
||||
cpp = { "cpplint" },
|
||||
gdscript = { "gdlint" },
|
||||
gitcommit = { "commitlint" },
|
||||
lua = { "ast-grep" },
|
||||
fish = { "fish_lsp" },
|
||||
markdown = {},
|
||||
sql = { "sqruff" },
|
||||
python = { "ruff" },
|
||||
r = { "r-languageserver" },
|
||||
javascript = { "eslint" },
|
||||
typescript = { "eslint" },
|
||||
},
|
||||
},
|
||||
config = function()
|
||||
local lint = require("lint")
|
||||
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
|
||||
callback = function() lint.try_lint() end,
|
||||
})
|
||||
end,
|
||||
},
|
||||
-- supposedly faster formatter
|
||||
{
|
||||
"stevearc/conform.nvim",
|
||||
opts = {},
|
||||
lazy = true,
|
||||
event = { "BufWritePre" },
|
||||
|
||||
--keys = { "<leader>i", "F3" },
|
||||
opts = {
|
||||
vim.api.nvim_create_autocmd({ "BufWritePost" }, {
|
||||
pattern = "*",
|
||||
callback = function(args) require("conform").format({ bufnr = args.buf }) end,
|
||||
}),
|
||||
formatters_by_ft = {
|
||||
lua = { "stylua" },
|
||||
rust = { "rustfmt", lsp_format = "fallback" },
|
||||
-- Conform will run multiple formatters sequentially
|
||||
python = { "ruff", "autopep8", lsp_format = "fallback" },
|
||||
gdscript = { "gdformat" },
|
||||
bash = { "shellharden" },
|
||||
javascript = { "biome" },
|
||||
typescript = { "biome" },
|
||||
markdown = { "prettier" },
|
||||
r = { "air" }, -- how to make air use tabs not spaces
|
||||
css = { "ast-grep" },
|
||||
html = { "ast-grep" },
|
||||
-- sql = { "sqruff" },
|
||||
json = { "biome" },
|
||||
yaml = { "biome" },
|
||||
vue = { "biome" },
|
||||
},
|
||||
format_on_save = {
|
||||
timeout_ms = 700,
|
||||
lsp_format = "fallback",
|
||||
},
|
||||
log_level = vim.log.levels.WARNING,
|
||||
function()
|
||||
require("conform").formatters.prettier = {
|
||||
inherit = true,
|
||||
command = "prettier",
|
||||
prepend_args = { "--tab-width", "4" },
|
||||
}
|
||||
require("conform").formatters.biome = {
|
||||
command = "biome format",
|
||||
prepend_args = "--indent-width=4 --use-editorconfig=true",
|
||||
}
|
||||
require("lua").formatters.stylua = {
|
||||
prepend = "--column-width=80",
|
||||
}
|
||||
end,
|
||||
},
|
||||
},
|
||||
{ "nvim-treesitter/nvim-treesitter-textobjects", lazy = true, event = "BufRead" },
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter-context",
|
||||
lazy = true,
|
||||
event = "BufRead",
|
||||
opts = {
|
||||
enable = true, -- Enable this plugin (Can be enabled/disabled later via commands)
|
||||
max_lines = 4, -- How many lines the window should span. Values <= 0 mean no limit.
|
||||
min_window_height = 35, -- Minimum editor window height to enable context. Values <= 0 mean no limit.
|
||||
line_numbers = true,
|
||||
lazy = true,
|
||||
multiline_threshold = 4, -- Maximum number of lines to show for a single context
|
||||
trim_scope = "outer", -- Which context lines to discard if `max_lines` is exceeded. Choices: 'inner', 'outer'
|
||||
mode = "topline", -- Line used to calculate context. Choices: 'cursor', 'topline'.
|
||||
-- Separator between context and content. Should be a single character string, like '-'.
|
||||
-- When separator is set, the context will only show up when there are at least 2 lines above cursorline.
|
||||
separator = "—",
|
||||
zindex = 20, -- The Z-index of the context window
|
||||
on_attach = nil, -- (fun(buf: integer): boolean) return false to disable attaching
|
||||
},
|
||||
},
|
||||
{
|
||||
"jubnzv/virtual-types.nvim",
|
||||
lazy = false,
|
||||
},
|
||||
-- Autocompletion
|
||||
-- {
|
||||
-- "hrsh7th/nvim-cmp",
|
||||
-- dependencies = {
|
||||
-- {"L3MON4D3/LuaSnip"}
|
||||
-- },
|
||||
-- lazy = true,
|
||||
-- },
|
||||
}
|
||||
|
||||
180
.config/nvim/lua/plugins/lualine.lua
Normal file
180
.config/nvim/lua/plugins/lualine.lua
Normal file
@@ -0,0 +1,180 @@
|
||||
return {
|
||||
"nvim-lualine/lualine.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
lazy = false,
|
||||
opts = {
|
||||
options = {
|
||||
icons_enabled = true,
|
||||
theme = "everforest",
|
||||
component_separators = { left = "", right = "" },
|
||||
--component_separators = { left = '', right = '' },
|
||||
section_separators = { left = "", right = "" },
|
||||
disabled_filetypes = {
|
||||
statusline = {},
|
||||
winbar = {},
|
||||
},
|
||||
ignore_focus = {},
|
||||
always_divide_middle = false,
|
||||
globalstatus = true,
|
||||
refresh = {
|
||||
statusline = 200,
|
||||
tabline = 200,
|
||||
winbar = 500,
|
||||
events = {
|
||||
"WinEnter",
|
||||
"BufEnter",
|
||||
"BufWritePost",
|
||||
"SessionLoadPost",
|
||||
"FileChangedShellPost",
|
||||
"VimResized",
|
||||
"Filetype",
|
||||
"CursorMoved",
|
||||
"CursorMovedI",
|
||||
"ModeChanged",
|
||||
},
|
||||
},
|
||||
symbols = {
|
||||
--modified = " ●", -- Text to show when the buffer is modified
|
||||
alternate_file = "#", -- Text to show to identify the alternate file
|
||||
directory = "", -- Text to show when the buffer is a directory
|
||||
modified = "[+]", -- Text to show when the file is modified.
|
||||
readonly = "[-]", -- Text to show when the file is non-modifiable or readonly.
|
||||
unnamed = "[No Name]", -- Text to show for unnamed buffers.
|
||||
newfile = "[New]", -- Text to show for newly created file before first write
|
||||
},
|
||||
},
|
||||
sections = {
|
||||
lualine_a = { "mode" },
|
||||
lualine_b = { "branch", "diff", "diagnostics" },
|
||||
lualine_c = {
|
||||
-- {
|
||||
-- require("noice").api.status.mode.get,
|
||||
-- cond = require("noice").api.status.mode.has,
|
||||
-- color = { fg = "#ff9e64" },
|
||||
-- },
|
||||
-- {
|
||||
-- require("noice").api.status.search.get,
|
||||
-- cond = require("noice").api.status.search.has,
|
||||
-- color = { fg = "#ff9e64" },
|
||||
-- },
|
||||
"pwd",
|
||||
|
||||
-- { "filename", path = 3 },
|
||||
},
|
||||
lualine_x = {
|
||||
{
|
||||
require("noice").api.status.command.get,
|
||||
cond = require("noice").api.status.command.has,
|
||||
color = { fg = "#ff9e64" },
|
||||
},
|
||||
{
|
||||
require("noice").api.statusline.mode.get,
|
||||
cond = require("noice").api.statusline.mode.has,
|
||||
color = { fg = "#ff9e64" },
|
||||
},
|
||||
{
|
||||
require("noice").api.status.search.get,
|
||||
cond = require("noice").api.status.search.has,
|
||||
color = { fg = "#ff9e64" },
|
||||
},
|
||||
"filesize",
|
||||
{
|
||||
"fileformat",
|
||||
symbols = {
|
||||
unix = "LF",
|
||||
dos = "CRLF",
|
||||
},
|
||||
},
|
||||
"filetype",
|
||||
'require"lsp-status".status()',
|
||||
},
|
||||
lualine_y = { "searchcount", "progress" },
|
||||
lualine_z = { "selectioncount", "location" },
|
||||
},
|
||||
inactive_sections = {},
|
||||
tabline = {
|
||||
lualine_a = {
|
||||
{
|
||||
"tabs",
|
||||
mode = 2,
|
||||
path = 1,
|
||||
max_length = 320,
|
||||
tab_max_length = 40,
|
||||
use_mode_colors = true,
|
||||
},
|
||||
},
|
||||
lualine_b = {},
|
||||
lualine_c = {},
|
||||
lualine_d = {},
|
||||
lualine_x = {
|
||||
{
|
||||
function()
|
||||
if require("nvim-possession").status then
|
||||
return require("nvim-possession").status()
|
||||
else
|
||||
end
|
||||
end,
|
||||
cond = function() return require("nvim-possession").status() ~= nil end,
|
||||
},
|
||||
},
|
||||
lualine_y = { { "datetime", style = "%H:%M" } },
|
||||
lualine_z = {},
|
||||
},
|
||||
winbar = {
|
||||
lualine_a = {},
|
||||
-- 0: Just the filename
|
||||
-- 1: Relative path
|
||||
-- 2: Absolute path
|
||||
-- 3: Absolute path, with tilde as the home directory
|
||||
-- 4: Filename and parent dir, with tilde as the home directory
|
||||
lualine_b = { separator = nil, { "bufnr" }, { "filename", path = 3 } },
|
||||
lualine_c = {
|
||||
{
|
||||
"diagnostics",
|
||||
|
||||
-- Table of diagnostic sources, available sources are:
|
||||
-- 'nvim_lsp', 'nvim_diagnostic', 'nvim_workspace_diagnostic', 'coc', 'ale', 'vim_lsp'.
|
||||
-- or a function that returns a table as such:
|
||||
-- { error=error_cnt, warn=warn_cnt, info=info_cnt, hint=hint_cnt }
|
||||
sources = { "nvim_diagnostic", "coc" },
|
||||
|
||||
-- Displays diagnostics for the defined severity types
|
||||
sections = { "error", "warn" },
|
||||
-- sections = { "error", "warn", "info", "hint" },
|
||||
|
||||
diagnostics_color = {
|
||||
-- Same values as the general color option can be used here.
|
||||
error = "DiagnosticError", -- Changes diagnostics' error color.
|
||||
warn = "DiagnosticWarn", -- Changes diagnostics' warn color.
|
||||
-- info = "DiagnosticInfo", -- Changes diagnostics' info color.
|
||||
-- hint = "DiagnosticHint", -- Changes diagnostics' hint color.
|
||||
},
|
||||
symbols = { error = "E", warn = "W", info = "I", hint = "H" },
|
||||
colored = true, -- Displays diagnostics status in color if set to true.
|
||||
update_in_insert = false, -- Update diagnostics in insert mode.
|
||||
always_visible = false, -- Show diagnostics even if there are none.
|
||||
},
|
||||
},
|
||||
lualine_x = {
|
||||
--[["filesize", "filetype"]]
|
||||
},
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
},
|
||||
inactive_winbar = {
|
||||
lualine_a = {},
|
||||
lualine_b = {},
|
||||
lualine_c = {
|
||||
"bufnr",
|
||||
{
|
||||
"filename",
|
||||
path = 4,
|
||||
},
|
||||
},
|
||||
lualine_x = {},
|
||||
lualine_y = {},
|
||||
lualine_z = {},
|
||||
},
|
||||
extensions = {},
|
||||
},
|
||||
}
|
||||
@@ -1,9 +1,19 @@
|
||||
return {
|
||||
{ "gennaro-tedesco/nvim-possession",
|
||||
dependencies = {
|
||||
"ibhagwan/fzf-lua",
|
||||
},
|
||||
lazy = true,
|
||||
config = true,
|
||||
},
|
||||
{
|
||||
"gennaro-tedesco/nvim-possession",
|
||||
lazy = true,
|
||||
keys = { "<Leader>s" },
|
||||
config = true,
|
||||
opts = {
|
||||
autoload = false, -- default false
|
||||
autosave = true,
|
||||
autoswitch = {
|
||||
enable = true,
|
||||
},
|
||||
sessions = {
|
||||
sessions_path = "/home/felix/.cache/nvim/sessions/",
|
||||
},
|
||||
},
|
||||
},
|
||||
{ "ibhagwan/fzf-lua", lazy = true },
|
||||
}
|
||||
|
||||
@@ -2,57 +2,193 @@ return {
|
||||
-- not deps
|
||||
--{ "xiyaowong/transparent.nvim" },
|
||||
-- { "olimorris/onedarkpro.nvim" },
|
||||
{ "neanias/everforest-nvim" },
|
||||
{ "ibhagwan/fzf-lua", lazy = true },
|
||||
{ "nvim-treesitter/nvim-treesitter", build = ":TSUpdate", lazy = true },
|
||||
{ "nvim-treesitter/nvim-treesitter-context", lazy = true },
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
tag = "0.1.2",
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
"MunifTanjim/nui.nvim",
|
||||
"neanias/everforest-nvim",
|
||||
lazy = false,
|
||||
priority = 1000,
|
||||
name = "everforest",
|
||||
opts = {
|
||||
on_highlights = function(hl, palette)
|
||||
hl.MiniCursorword = { underdotted = true }
|
||||
hl.MiniCursorwordCurrent = {} -- just needs to be mentioned to override color theme default and clone MiniCursorword
|
||||
end,
|
||||
},
|
||||
},
|
||||
|
||||
{
|
||||
"alex-popov-tech/store.nvim",
|
||||
dependencies = {
|
||||
"OXY2DEV/markview.nvim", -- optional, for pretty readme preview / help window
|
||||
},
|
||||
cmd = "Store",
|
||||
opts = {
|
||||
width = 1000,
|
||||
height = 500,
|
||||
},
|
||||
lazy = true,
|
||||
},
|
||||
{
|
||||
"nvim-lualine/lualine.nvim",
|
||||
dependencies = { "nvim-tree/nvim-web-devicons" },
|
||||
lazy = false,
|
||||
},
|
||||
{ "stevearc/aerial.nvim" },
|
||||
{
|
||||
"folke/noice.nvim",
|
||||
event = "VeryLazy",
|
||||
opts = {},
|
||||
dependencies = {
|
||||
"MunifTanjim/nui.nvim",
|
||||
--OPTIONAL:
|
||||
-- `nvim-notify` is only needed, if you want to use the notification view.
|
||||
-- If not available, we use `mini` as the fallback
|
||||
"rcarriga/nvim-notify",
|
||||
lazy = true,
|
||||
opts = {
|
||||
-- cmdline = {
|
||||
-- view = "cmdline",
|
||||
-- },
|
||||
routes = {
|
||||
{
|
||||
filter = {
|
||||
event = "msg_show",
|
||||
kind = "",
|
||||
find = "written",
|
||||
},
|
||||
opts = { skip = true },
|
||||
},
|
||||
},
|
||||
},
|
||||
dependencies = {},
|
||||
},
|
||||
{ "MunifTanjim/nui.nvim", lazy = true }, -- dep of noice.nvim
|
||||
{ "rcarriga/nvim-notify", lazy = true }, -- dep of noice.nvim
|
||||
{
|
||||
"echasnovski/mini.nvim",
|
||||
lazy = true,
|
||||
version = false,
|
||||
},
|
||||
{
|
||||
"danielfalk/smart-open.nvim",
|
||||
branch = "0.2.x",
|
||||
lazy = true,
|
||||
"nvim-neo-tree/neo-tree.nvim",
|
||||
branch = "v3.x",
|
||||
dependencies = {
|
||||
"kkharji/sqlite.lua",
|
||||
-- Only required if using match_algorithm fzf
|
||||
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
|
||||
-- Optional. If installed, native fzy will be used when match_algorithm is fzy
|
||||
{ "nvim-telescope/telescope-fzy-native.nvim" },
|
||||
"nvim-lua/plenary.nvim",
|
||||
"MunifTanjim/nui.nvim",
|
||||
"nvim-tree/nvim-web-devicons", -- optional, but recommended
|
||||
},
|
||||
cmd = "Neotree",
|
||||
lazy = true, -- neo-tree will lazily load itself
|
||||
},
|
||||
{
|
||||
"gelguy/wilder.nvim",
|
||||
lazy = true,
|
||||
event = { "CmdlineEnter" },
|
||||
opts = {
|
||||
modes = { ":", "/", "?" },
|
||||
},
|
||||
},
|
||||
{ "gelguy/wilder.nvim", lazy = true },
|
||||
{ "norcalli/nvim-colorizer.lua", verylazy = true },
|
||||
{ "ziontee113/color-picker.nvim", verylazy = true },
|
||||
{ "lewis6991/gitsigns.nvim", verylazy = true },
|
||||
-- optional
|
||||
{ "nvim-treesitter/nvim-treesitter-textobjects", lazy = true },
|
||||
{ "OXY2DEV/markview.nvim", lazy = true, ft = "Markdown", cmd = "Markview", event = { "BufRead *.md" } },
|
||||
{
|
||||
"norcalli/nvim-colorizer.lua",
|
||||
lazy = true,
|
||||
event = { "BufRead" },
|
||||
opts = {
|
||||
"*",
|
||||
css = { rgb_fn = true, hsl_fn = true },
|
||||
scss = { rgb_fn = true, hsl_fn = true },
|
||||
"javascript",
|
||||
"html",
|
||||
},
|
||||
mode = "background",
|
||||
},
|
||||
{
|
||||
"ziontee113/color-picker.nvim",
|
||||
lazy = true,
|
||||
keys = {
|
||||
{ "<C-c>", mode = { "n" }, "<cmd>PickColorInsert<cr>", desc = "open color widget" },
|
||||
{ "<C-c>", mode = { "i" }, "<cmd>PickColor<cr>", desc = "open color widget" },
|
||||
},
|
||||
cmd = { "PickColor", "PickColorInsert" },
|
||||
opts = {
|
||||
["icons"] = { "ﱢ", "" },
|
||||
-- ["icons"] = { "ﮊ", "" },
|
||||
-- ["icons"] = { "", "ﰕ" },
|
||||
-- ["icons"] = { "", "" },
|
||||
-- ["icons"] = { "", "" },
|
||||
["border"] = "rounded", -- none | single | double | rounded | solid | shadow
|
||||
["keymap"] = { -- mapping example:
|
||||
["U"] = "<Plug>ColorPickerSlider5Decrease",
|
||||
["O"] = "<Plug>ColorPickerSlider5Increase",
|
||||
},
|
||||
["background_highlight_group"] = "Normal", -- default
|
||||
["border_highlight_group"] = "FloatBorder", -- default ["text_highlight_group"] = "Normal", --default })
|
||||
vim.cmd([[hi FloatBorder guibg=NONE]]), -- if you don't want weird border background colors around the popup.
|
||||
},
|
||||
-- },
|
||||
-- config = {
|
||||
-- vim.cmd([[hi FloatBorder guibg=NONE]]), -- if you don't want weird border background colors around the popup.
|
||||
-- },
|
||||
},
|
||||
{
|
||||
"jiaoshijie/undotree",
|
||||
dependencies = "nvim-lua/plenary.nvim",
|
||||
config = true,
|
||||
keys = {
|
||||
{ "<leader>u", function() require("undotree").toggle() end, desc = "toggle undotree" },
|
||||
},
|
||||
},
|
||||
{
|
||||
"saecki/crates.nvim",
|
||||
lazy = true,
|
||||
event = { "BufReadPost Cargo.toml" },
|
||||
opts = {},
|
||||
-- config = function() require("crates").setup() end,
|
||||
},
|
||||
{
|
||||
"folke/trouble.nvim",
|
||||
opts = {},
|
||||
cmd = "Trouble",
|
||||
lazy = true,
|
||||
keys = { "<leader>x" },
|
||||
},
|
||||
{
|
||||
"lewis6991/gitsigns.nvim",
|
||||
lazy = false,
|
||||
opts = {
|
||||
signs = {
|
||||
add = { text = "│" },
|
||||
change = { text = "│" },
|
||||
delete = { text = "_" },
|
||||
topdelete = { text = "‾" },
|
||||
changedelete = { text = "~" },
|
||||
untracked = { text = "┆" },
|
||||
},
|
||||
signcolumn = true, -- Toggle with `:Gitsigns toggle_signs`
|
||||
numhl = true, -- Toggle with `:Gitsigns toggle_numhl`
|
||||
linehl = false, -- Toggle with `:Gitsigns toggle_linehl`
|
||||
word_diff = false, -- Toggle with `:Gitsigns toggle_word_diff`
|
||||
watch_gitdir = {
|
||||
follow_files = true,
|
||||
},
|
||||
attach_to_untracked = true,
|
||||
current_line_blame = true, -- Toggle with `:Gitsigns toggle_current_line_blame`
|
||||
current_line_blame_opts = {
|
||||
virt_text = true,
|
||||
virt_text_pos = "eol", -- 'eol' | 'overlay' | 'right_align'
|
||||
delay = 150,
|
||||
ignore_whitespace = false,
|
||||
virt_text_priority = 0,
|
||||
},
|
||||
current_line_blame_formatter = "<author>, <author_time:%Y-%m-%d> - <summary>",
|
||||
sign_priority = 6,
|
||||
update_debounce = 100,
|
||||
status_formatter = nil, -- Use default
|
||||
max_file_length = 40000, -- Disable if file is longer than this (in lines)
|
||||
preview_config = {
|
||||
-- Options passed to nvim_open_win
|
||||
border = "single",
|
||||
style = "minimal",
|
||||
relative = "cursor",
|
||||
row = 0,
|
||||
col = 1,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"nvzone/typr",
|
||||
dependencies = "nvzone/volt",
|
||||
opts = {},
|
||||
lazy = true,
|
||||
cmd = { "Typr", "TyprStats" },
|
||||
},
|
||||
}
|
||||
|
||||
77
.config/nvim/lua/plugins/telescope.lua
Normal file
77
.config/nvim/lua/plugins/telescope.lua
Normal file
@@ -0,0 +1,77 @@
|
||||
return {
|
||||
{
|
||||
"nvim-telescope/telescope.nvim",
|
||||
tag = "0.1.2",
|
||||
lazy = true,
|
||||
keys = {
|
||||
{ "<leader><leader>", mode = { "n" }, "<cmd>Telescope smart_open<cr>", desc = "smart_open" },
|
||||
{ "<leader>ff", mode = { "n" }, "<cmd>Telescope find_files<cr>", desc = "Find File" },
|
||||
{ "<leader>fh", mode = { "n" }, "<cmd>Telescope help_tags<cr>", desc = "Find Help" },
|
||||
{ "<leader>fs", mode = { "n" }, "<cmd>Telescope live_grep<cr>", desc = "Live Grep" },
|
||||
},
|
||||
cmd = { "Telescope" },
|
||||
opts = {
|
||||
defaults = {
|
||||
sorting_strategy = "descending",
|
||||
scroll_strategy = "limit",
|
||||
scroll_speed = 7,
|
||||
layout_strategy = "vertical",
|
||||
layout_config = {
|
||||
prompt_position = "top",
|
||||
preview_cutoff = 0,
|
||||
horizontal = {
|
||||
height = 0.9,
|
||||
},
|
||||
vertical = {
|
||||
prompt_position = "top",
|
||||
height = 0.9,
|
||||
width = 0.8,
|
||||
mirror = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
extensions = {
|
||||
smart_open = {
|
||||
match_algorithm = "fzy",
|
||||
disable_devicons = false,
|
||||
},
|
||||
fzy_native = {},
|
||||
},
|
||||
pickers = {
|
||||
buffers = {
|
||||
mappings = {
|
||||
n = {
|
||||
["<leader>ww"] = "which_key",
|
||||
["dd"] = function() require("telescope.actions").delete_buffer() end,
|
||||
},
|
||||
i = {
|
||||
["<c-h>"] = "which_key",
|
||||
["<c-x>"] = function() require("telescope.actions").delete_buffer() end,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
"danielfalk/smart-open.nvim",
|
||||
branch = "0.3.x",
|
||||
lazy = true,
|
||||
-- keys = { "<leader><leader>", "<cmd>Telescope smart_open<cr>", desc = "smart open" },
|
||||
config = {
|
||||
function() require("telescope").load_extension("smart_open") end,
|
||||
},
|
||||
},
|
||||
{ "nvim-lua/plenary.nvim", lazy = true },
|
||||
{ "MunifTanjim/nui.nvim", lazy = true },
|
||||
-- Only required if using match_algorithm fzf
|
||||
-- { "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
|
||||
-- faster and better matching than fzf
|
||||
{
|
||||
"nvim-telescope/telescope-fzy-native.nvim",
|
||||
config = {
|
||||
function() require("telescope").load_extension("fzy_native") end,
|
||||
},
|
||||
},
|
||||
{ "kkharji/sqlite.lua", lazy = true },
|
||||
}
|
||||
@@ -1,37 +0,0 @@
|
||||
return {
|
||||
"folke/trouble.nvim",
|
||||
opts = {},
|
||||
cmd = "Trouble",
|
||||
keys = {
|
||||
{
|
||||
"<leader>xx",
|
||||
"<cmd>Trouble diagnostics toggle<cr>",
|
||||
desc = "Diagnostics (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>xX",
|
||||
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
|
||||
desc = "Buffer Diagnostics (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>cs",
|
||||
"<cmd>Trouble symbols toggle focus=false<cr>",
|
||||
desc = "Symbols (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>cl",
|
||||
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
|
||||
desc = "LSP Definitions / references / ... (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>xL",
|
||||
"<cmd>Trouble loclist toggle<cr>",
|
||||
desc = "Location List (Trouble)",
|
||||
},
|
||||
{
|
||||
"<leader>xQ",
|
||||
"<cmd>Trouble qflist toggle<cr>",
|
||||
desc = "Quickfix List (Trouble)",
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
return {
|
||||
"jiaoshijie/undotree",
|
||||
dependencies = "nvim-lua/plenary.nvim",
|
||||
config = true,
|
||||
keys = { -- load the plugin only when using it's keybinding:
|
||||
{ "<leader>u", "<cmd>lua require('undotree').toggle()<cr>" },
|
||||
},
|
||||
}
|
||||
@@ -1,9 +0,0 @@
|
||||
return {
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
init = function()
|
||||
vim.o.timeout = true
|
||||
vim.o.timeoutlen = 50
|
||||
end,
|
||||
opts = {},
|
||||
}
|
||||
262
.config/nvim/lua/plugins/which_key.lua
Normal file
262
.config/nvim/lua/plugins/which_key.lua
Normal file
@@ -0,0 +1,262 @@
|
||||
return {
|
||||
"folke/which-key.nvim",
|
||||
event = "VeryLazy",
|
||||
init = function()
|
||||
vim.o.timeout = true
|
||||
vim.o.timeoutlen = 50
|
||||
end,
|
||||
opts = {
|
||||
spec = {
|
||||
{ "<leader>c", group = "crates" },
|
||||
{ "<leader>cA", function() require("crates").upgrade_all_crates() end, desc = "Upgrade all crates" },
|
||||
{ "<leader>cC", function() require("crates").open_creates_io() end, desc = "Open crates.io" },
|
||||
{ "<leader>cD", function() require("crates").open_documentation() end, desc = "Open documentation" },
|
||||
{ "<leader>cH", function() require("crates").open_homepage() end, desc = "Open homepage" },
|
||||
{ "<leader>cR", function() require("crates").open_repository() end, desc = "Open repository" },
|
||||
{ "<leader>cU", function() require("crates").upgrade_crate() end, desc = "Upgrade crate" },
|
||||
{
|
||||
"<leader>cX",
|
||||
function() require("crates").extract_crate_into_table() end,
|
||||
desc = "Extract crate into table",
|
||||
},
|
||||
{ "<leader>ca", function() require("crates").update_all_crates() end, desc = "Update all crates" },
|
||||
{
|
||||
"<leader>cd",
|
||||
function() require("crates").show_dependencies_popup() end,
|
||||
desc = "Show dependencies popup",
|
||||
},
|
||||
{ "<leader>cf", function() require("crates").show_features_popup() end, desc = "Show features popup" },
|
||||
{ "<leader>cr", function() require("crates").reload() end, desc = "Reload" },
|
||||
{ "<leader>ct", function() require("crates").toggle() end, desc = "Toggle" },
|
||||
{ "<leader>cu", function() require("crates").update_crate() end, desc = "Update crate" },
|
||||
{ "<leader>cv", function() require("crates").show_versions_popup() end, desc = "Show versions popup" },
|
||||
{
|
||||
"<leader>cx",
|
||||
function() require("crates").expand_plain_crate_to_inline_table() end,
|
||||
desc = "Expand plain crate to inline table",
|
||||
},
|
||||
|
||||
{ "<leader>lp", "<cmd>Lazy profile<cr>", desc = "show Lazy profiler" },
|
||||
|
||||
{ "<leader>e", "<cmd>lua MiniFiles.open()<cr>", desc = "Files w/ Mini" },
|
||||
{ "<leader>E", "<cmd>Lexplore<cr>", desc = "Files Sidebar" },
|
||||
{ "<leader>f", group = "Telescope" },
|
||||
{ "<leader>fb", "<cmd>Telescope buffers<cr>", desc = "Find Buffer" },
|
||||
{ "<leader>fd", "<cmd>Telescope lsp_document_symbols<cr>", desc = "Find LSP Symbols" },
|
||||
{ "<leader>ff", "<cmd>Telescope find_files<cr>", desc = "Find File" },
|
||||
{ "<leader>fh", "<cmd>Telescope help_tags<cr>", desc = "Find Help" },
|
||||
{ "<leader>fr", "<cmd>Telescope oldfiles<cr>", desc = "Open Recent File", remap = true },
|
||||
{ "<leader>fs", "<cmd>Telescope live_grep<cr>", desc = "Live Grep" },
|
||||
{ "<leader>fw", "<cmd>Telescope grep_string<cr>", desc = "Find string under cursor" },
|
||||
{
|
||||
"<leader><leader>",
|
||||
function() require("telescope").extensions.smart_open.smart_open() end,
|
||||
mode = "n",
|
||||
silent = true,
|
||||
desc = "Smart open",
|
||||
},
|
||||
|
||||
{ "<leader>g", group = "Gitsigns" },
|
||||
{ "<leader>gB", "<cmd>Gitsigns blame<cr>", desc = "Toggle Blame Sidebar" },
|
||||
{ "<leader>gb", "<cmd>Gitsigns blame_line<cr>", desc = "Show Blame Inline" },
|
||||
{ "<leader>gd", "<cmd>Gitsigns toggle_deleted<cr>", desc = "Toggle deleted lines" },
|
||||
{ "<leader>gh", group = "hunks" },
|
||||
{ "<leader>ghl", "<cmd>Gitsigns setloclist<cr>", desc = "List file Changes" },
|
||||
{ "<leader>ghn", "<cmd>Gitsigns nav_hunk<cr>", desc = "Nav Hunk" },
|
||||
{ "<leader>gr", group = "reset" },
|
||||
{ "<leader>grb", "<cmd>Gitsigns reset_buffer<cr>", desc = "Reset Buffer" },
|
||||
{ "<leader>grh", "<cmd>Gitsigns reset_hunk<cr>", desc = "Reset Hunk" },
|
||||
{ "<leader>gs", group = "stage" },
|
||||
{ "<leader>gsb", "<cmd>Gitsigns stage_buffer<cr>", desc = "Stage Buffer" },
|
||||
{ "<leader>gsh", "<cmd>Gitsigns stage_hunk<cr>", desc = "Stage Hunk" },
|
||||
{ "<leader>gu", "<cmd>Gitsigns undo_stage_hunk<cr>", desc = "Undo Stage Hunk" },
|
||||
|
||||
-- lsp and debugging
|
||||
{
|
||||
"<leader>i",
|
||||
function() require("conform").format({ async = true }) end,
|
||||
desc = "Auto format file with linter(?), also on F3",
|
||||
},
|
||||
{
|
||||
"F3",
|
||||
function() require("conform").format({ async = true }) end,
|
||||
mode = "ni",
|
||||
desc = "Auto format file with formatter",
|
||||
},
|
||||
{ "<leader>le", vim.diagnostic.open_float, desc = "Open diagnostic float" },
|
||||
{ "<leader>K", desc = "Show definition" },
|
||||
-- { "<Leader>d", group = "Debugging" },
|
||||
-- {
|
||||
-- { mode = "n" },
|
||||
-- { "<Leader>dn", require("dap").new, desc = "Start Debugger" },
|
||||
-- { "<Leader>db", require("dap").toggle_breakpoint, desc = "Toggle breakpoint" },
|
||||
-- { "<Leader>dc", require("dap").continue, desc = "Continue" },
|
||||
-- },
|
||||
|
||||
-- trouble plugin
|
||||
{ "<leader>xx", "<cmd>Trouble diagnostics toggle<cr>", desc = "Diagnostics (Trouble)" },
|
||||
{
|
||||
"<leader>xX",
|
||||
"<cmd>Trouble diagnostics toggle filter.buf=0<cr>",
|
||||
desc = "Buffer Diagnostics (Trouble)",
|
||||
},
|
||||
{ "<leader>xs", "<cmd>Trouble symbols toggle focus=false<cr>", desc = "Symbols (Trouble)" },
|
||||
{
|
||||
"<leader>xl",
|
||||
"<cmd>Trouble lsp toggle focus=false win.position=right<cr>",
|
||||
desc = "LSP Definitions / references / ... (Trouble)",
|
||||
},
|
||||
{ "<leader>xL", "<cmd>Trouble loclist toggle<cr>", desc = "Location List (Trouble)" },
|
||||
{ "<leader>xQ", "<cmd>Trouble qflist toggle<cr>", desc = "Quickfix List (Trouble)" },
|
||||
|
||||
-- QOL shortcuts
|
||||
{ "<leader>n", "<cmd>nohl<cr>", desc = "Stop highlighting search results" },
|
||||
{ "<leader>m", "<cmd>NoiceDismiss<cr>", desc = "Dismiss notifications" },
|
||||
{ "<leader>M", "<cmd>Markview toggle<cr>", desc = "Markview toggle source view" },
|
||||
|
||||
{ "<leader>r", group = "Rename" },
|
||||
{ "<leader>rr", vim.lsp.buf.rename, opts, desc = "Rename Variable" },
|
||||
|
||||
{ "<leader>s", group = "Sessions" },
|
||||
{ "<leader>sl", function() require("nvim-possession").list() end, desc = "List sesssions" },
|
||||
{ "<leader>sn", function() require("nvim-possession").new() end, desc = "Create new session" },
|
||||
{ "<leader>su", function() require("nvim-possession").update() end, desc = "Update Session" },
|
||||
{ "<leader>sd", function() require("nvim-possession").delete() end, desc = "Delete Session" },
|
||||
|
||||
{ "<leader>t", group = "tabs" },
|
||||
{ "<leader>ta", "<cmd>tabnew<cr>", desc = "Add new Tab" },
|
||||
{ "<leader>tc", "<cmd>tabclose<cr>", desc = "Close Tab" },
|
||||
{ "<leader>tf", "<cmd>tabfirst<cr>", desc = "First Tab" },
|
||||
{ "<leader>tl", "<cmd>tablast<cr>", desc = "Last Tab" },
|
||||
{ "<leader>tm", group = "Move Tab" },
|
||||
{ "<leader>tmf", "<cmd>tabmove 0<cr>", desc = "Move Tab to First" },
|
||||
{ "<leader>tmi", ":tabmove ", desc = "Input position to move Tab to" },
|
||||
{ "<leader>tml", "<cmd>tabmove $<cr>", desc = "Move Tab to Last" },
|
||||
{ "<leader>tn", "<cmd>tabnext<cr>", desc = "Next Tab" },
|
||||
{ "<leader>tp", "<cmd>tabprevious<cr>", desc = "Previous Tab" },
|
||||
|
||||
{ "<leader>u", desc = "Toggle undo-tree" },
|
||||
{ "<leader>w", group = "Workspaces + Whichkey" },
|
||||
{ "<leader>wa", desc = "Add workspace folder" },
|
||||
{ "<leader>wr", desc = "Remove workspace folder" },
|
||||
{ "<leader>ww", "<cmd>WhichKey<cr>", desc = "Show keybindings" },
|
||||
{ "<leader>y", desc = "Copy to system clipboard" },
|
||||
{ "<leader>Y", desc = "Copy line to system clipboard" },
|
||||
|
||||
-- mini.nvim additions
|
||||
{ "va", group = "select around" }, --{{{1 mini.ai
|
||||
{ "va(", desc = "() parens" },
|
||||
{ "va)", desc = "() parens" },
|
||||
{ "va[", desc = "[] brackets" },
|
||||
{ "va]", desc = "[] brackets" },
|
||||
{ "va{", desc = "{} braces" },
|
||||
{ "va}", desc = "{} braces" },
|
||||
{ "va<", desc = "<> braces" },
|
||||
{ "va>", desc = "<> braces" },
|
||||
{ 'va"', desc = '""' },
|
||||
{ "va'", desc = "''" },
|
||||
{ "val", desc = "last selection" },
|
||||
|
||||
{ "vi", group = "select inside" },
|
||||
{ "vi(", desc = "() parens" },
|
||||
{ "vi)", desc = "() parens" },
|
||||
{ "vi[", desc = "[] brackets" },
|
||||
{ "vi]", desc = "[] brackets" },
|
||||
{ "vi{", desc = "{} braces" },
|
||||
{ "vi}", desc = "{} braces" },
|
||||
{ "vi<", desc = "<> braces" },
|
||||
{ "vi>", desc = "<> braces" },
|
||||
{ 'vi"', desc = '""' },
|
||||
{ "vi'", desc = "''" },
|
||||
{ "vil", desc = "last selection" },
|
||||
--}}}
|
||||
|
||||
{ "[", group = "move to prev" }, --{{{2 "brackets"
|
||||
{ "[B", desc = "First Buffer" },
|
||||
{ "[b", desc = "Prev Buffer" },
|
||||
{ "[X", desc = "First Conflict" },
|
||||
{ "[x", desc = "Prev Conflict" },
|
||||
{ "[I", desc = "First Indent" },
|
||||
{ "[i", desc = "Prev Indent" },
|
||||
{ "[I", desc = "First Indent" },
|
||||
{ "[i", desc = "Prev Indent" },
|
||||
{ "[W", desc = "First Window in Tab" },
|
||||
{ "[w", desc = "Prev Window in Tab" },
|
||||
{ "[F", desc = "First File" },
|
||||
{ "[f", desc = "Prev File" },
|
||||
{ "[O", desc = "First Oldfile" },
|
||||
{ "[o", desc = "Prev Oldfile" },
|
||||
{ "[Q", desc = "First Quickfix" },
|
||||
{ "[q", desc = "Prev Quickfix" },
|
||||
{ "[Y", desc = "First Yank selection replacing latest put region" },
|
||||
{ "[y", desc = "Prev Yank selection replacing latest put region" },
|
||||
|
||||
{ "]", group = "move next" },
|
||||
{ "]B", desc = "Last Buffer" },
|
||||
{ "]b", desc = "Next Buffer" },
|
||||
{ "]X", desc = "Last Conflict" },
|
||||
{ "]x", desc = "Next Conflict" },
|
||||
{ "]I", desc = "Last Indent" },
|
||||
{ "]i", desc = "Next Indent" },
|
||||
{ "]I", desc = "Last Indent" },
|
||||
{ "]i", desc = "Next Indent" },
|
||||
{ "]W", desc = "Last Window in Tab" },
|
||||
{ "]w", desc = "Next Window in Tab" },
|
||||
{ "]F", desc = "Last File" },
|
||||
{ "]f", desc = "Next File" },
|
||||
{ "]O", desc = "Last Oldfile" },
|
||||
{ "]o", desc = "Next Oldfile" },
|
||||
{ "]Q", desc = "Last Quickfix" },
|
||||
{ "]q", desc = "Next Quickfix" },
|
||||
{ "]Y", desc = "Last Yank selection replacing latest put region" },
|
||||
{ "]y", desc = "Next Yank selection replacing latest put region" },
|
||||
--}}}
|
||||
|
||||
{ "gcc", desc = "Comment Line" },
|
||||
{
|
||||
mode = { "v" },
|
||||
{ "gc", group = "Comment" },
|
||||
{ "g=", desc = "evaluate expression" },
|
||||
{ "gm", desc = "duplicate" },
|
||||
{ "gr", desc = "replace with register" },
|
||||
{ "gs", desc = "sort" },
|
||||
{ "gx", desc = "exchange region" },
|
||||
},
|
||||
-- These somehow have no effect whatsoever
|
||||
-- { "c", group = "change" },
|
||||
-- { "c[", group = "back" },
|
||||
-- { "c]", group = "forward" },
|
||||
-- { "cg", group = "jump" },
|
||||
--
|
||||
-- { "d", group = "delete" },
|
||||
-- { "d[", group = "back" },
|
||||
-- { "d]", group = "forward" },
|
||||
-- { "dg", group = "jump" },
|
||||
|
||||
{ "K", desc = "Show definition" },
|
||||
{ "[", group = "jump backward" },
|
||||
{ "[c", desc = "Previous diff change" },
|
||||
{ "[d", desc = "Previous Diagnostic" },
|
||||
{ "[h", "<cmd>Gitsigns prev_hunk<cr><cr>", desc = "Previous changed git block" },
|
||||
{ "]", group = "jump forward" },
|
||||
{ "]c", desc = "Next diff change" },
|
||||
{ "]d", desc = "Next Diagnostic" },
|
||||
{ "]h", "<cmd>Gitsigns next_hunk<cr><cr>", desc = "Next changed git block" },
|
||||
{ "g", group = "lsp functions" },
|
||||
{ "gD", desc = "go to declaration" },
|
||||
{ "gd", desc = "go to definition" },
|
||||
{ "gi", desc = "show implementations" },
|
||||
{ "gr", desc = "list all references to symbol under cursor" },
|
||||
|
||||
--undotree
|
||||
{ "j", desc = "jump to next undo node" },
|
||||
{ "gj", desc = "jump to the parent node of the node under the cursor" },
|
||||
{ "k", desc = "jump to previous undo node" },
|
||||
{ "J", desc = "jump to next undo node and undo to this state" },
|
||||
{ "K", desc = "jump to previous undo node and undo to this state" },
|
||||
{ "q", desc = "quit undotree" },
|
||||
{ "p", desc = "jump into undetree diff window" },
|
||||
{ "<cr>", desc = "undo to this state" },
|
||||
},
|
||||
},
|
||||
}
|
||||
Reference in New Issue
Block a user