feat(nvim): add mini plugins, smart open and formatting
This commit is contained in:
28
.config/nvim/lua/plug_init/conform_init.lua
Normal file
28
.config/nvim/lua/plug_init/conform_init.lua
Normal file
@@ -0,0 +1,28 @@
|
||||
require("conform").setup({
|
||||
vim.api.nvim_create_autocmd({ "BufWritePre", "InsertLeave" }, {
|
||||
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" },
|
||||
gdscript = { "gdtoolkit" },
|
||||
bash = { "shellharden" },
|
||||
javascript = { "prettier" },
|
||||
typescript = { "prettier" },
|
||||
markdown = { "prettier" },
|
||||
css = { "prettier" },
|
||||
html = { "prettier" },
|
||||
json = { "prettier" },
|
||||
yaml = { "prettier" },
|
||||
},
|
||||
format_on_save = {
|
||||
timeout_ms = 700,
|
||||
lsp_format = "fallback",
|
||||
},
|
||||
log_level = vim.log.levels.DEBUG,
|
||||
})
|
||||
@@ -3,9 +3,7 @@ require("plug_init.lazy_path")
|
||||
require("lazy").setup("plugins")
|
||||
--require("onedarkpro").setup({
|
||||
-- filetypes = {
|
||||
-- all = true
|
||||
-- },
|
||||
-- options = {
|
||||
-- all = true }, options = {
|
||||
-- transparency = true
|
||||
-- }
|
||||
--})
|
||||
@@ -14,22 +12,26 @@ require("everforest").load()
|
||||
require("plug_init.which_key_init")
|
||||
require("plug_init.lualine_init")
|
||||
require("plug_init.aerial_init")
|
||||
require("plug_init.crates_init")
|
||||
require("plug_init.wilder_init")
|
||||
require("plug_init.telescope_init")
|
||||
require("plug_init.nvim_possession_init")
|
||||
require("plug_init.treesitter_init")
|
||||
--require("plug_init.noice_init")
|
||||
require("plugins.lsp_config")
|
||||
require("plug_init.lsp_init")
|
||||
require("plug_init.smart-open_init")
|
||||
require("plug_init.gitsigns")
|
||||
require("colorizer").setup {
|
||||
'css',
|
||||
'scss',
|
||||
'javascript',
|
||||
html = {
|
||||
mode = 'foreground',
|
||||
}
|
||||
}
|
||||
require("plug_init.mini_init")
|
||||
require("plug_init.nvim_possession_init")
|
||||
require("plug_init.treesitter_init")
|
||||
require("plug_init.conform_init")
|
||||
require("plug_init.crates_init")
|
||||
require("plug_init.color-picker_init")
|
||||
require("plug_init.lsp_init")
|
||||
--require("plug_init.noice_init")
|
||||
require("plugins.lsp_config")
|
||||
require("plugins.coq_nvim")
|
||||
require("plugins.trouble")
|
||||
require("colorizer").setup({
|
||||
"css",
|
||||
"scss",
|
||||
"javascript",
|
||||
html = {
|
||||
mode = "foreground",
|
||||
},
|
||||
})
|
||||
|
||||
@@ -1,63 +1,64 @@
|
||||
local lsp_zero = require('lsp-zero')
|
||||
lsp_zero.extend_lspconfig()
|
||||
------------
|
||||
vim.api.nvim_create_autocmd("LspAttach", {
|
||||
group = vim.api.nvim_create_augroup("UserLspConfig", {}),
|
||||
callback = function(ev)
|
||||
-- integrated by default now?
|
||||
-- vim.keymap.set('n', '[d', vim.diagnostic.goto_prev)
|
||||
-- vim.keymap.set('n', "]d", vim.diagnostic.goto_next)
|
||||
-- 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.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', '<leader>rr', vim.lsp.buf.rename, 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>i', function()
|
||||
vim.lsp.buf.format { async = true }
|
||||
end, opts)
|
||||
end,
|
||||
})
|
||||
|
||||
-----------------
|
||||
lsp_zero.on_attach(function(client, bufnr)
|
||||
-- see :help lsp-zero-keybindings
|
||||
-- to learn the available actions
|
||||
lsp_zero.default_keymaps({buffer = bufnr})
|
||||
end)
|
||||
|
||||
require('lspconfig').lua_ls.setup(lsp_zero.nvim_lua_ls())
|
||||
|
||||
require('lspconfig').rust_analyzer.setup{
|
||||
settings = {
|
||||
['rust-analyzer'] = {
|
||||
imports = {
|
||||
granularity = {
|
||||
group = "module",
|
||||
},
|
||||
prefix = "self",
|
||||
},
|
||||
cargo = {
|
||||
buildScripts = {
|
||||
enable = true,
|
||||
},
|
||||
},
|
||||
procMacro = {
|
||||
enable = true
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
require('mason').setup({})
|
||||
require('mason-lspconfig').setup({
|
||||
-- Replace the language servers listed here
|
||||
-- with the ones you want to install
|
||||
ensure_installed = {'rust_analyzer', 'ruff', 'quick_lint_js',
|
||||
'html', 'cssls', 'lua_ls', 'vimls'},
|
||||
handlers = {
|
||||
lsp_zero.default_setup,
|
||||
},
|
||||
-- vim.keymap.set("n", "<leader>rr", vim.lsp.buf.rename, opts)
|
||||
-- vim.keymap.set("n", "<leader>le", vim.diagnostic.open_float)
|
||||
-- vim.keymap.set("n", "<leader>i", function()
|
||||
-- require("conform").format({ async = true })
|
||||
-- -- vim.lsp.buf.format { async = true } -- fallback if without conform
|
||||
-- end, opts)
|
||||
end,
|
||||
})
|
||||
|
||||
require("lspconfig").rust_analyzer.setup({
|
||||
settings = {
|
||||
["rust-analyzer"] = {
|
||||
imports = {
|
||||
granularity = {
|
||||
group = "module",
|
||||
},
|
||||
prefix = "self",
|
||||
},
|
||||
cargo = {
|
||||
buildScripts = {
|
||||
enable = true,
|
||||
},
|
||||
},
|
||||
procMacro = {
|
||||
enable = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
require("mason").setup({})
|
||||
require("mason-lspconfig").setup({
|
||||
-- Replace the language servers listed here
|
||||
-- with the ones you want to install
|
||||
ensure_installed = { "rust_analyzer", "ruff", "quick_lint_js", "html", "cssls", "lua_ls", "vimls" },
|
||||
})
|
||||
|
||||
require("lint").linters_by_ft = {
|
||||
cpp = { "cpplint" },
|
||||
gdscript = { "gdtoolkit" },
|
||||
gitcommit = { "commitlint" },
|
||||
markdown = {},
|
||||
python = { "ruff" },
|
||||
}
|
||||
require("lint").config = function()
|
||||
local lint = require("lint")
|
||||
vim.api.nvim_create_autocmd({ "BufEnter", "BufWritePost", "InsertLeave" }, {
|
||||
callback = function()
|
||||
lint.try_lint()
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
@@ -11,10 +11,10 @@ require('lualine').setup {
|
||||
},
|
||||
ignore_focus = {},
|
||||
always_divide_middle = false,
|
||||
globalstatus = false,
|
||||
globalstatus = true,
|
||||
refresh = {
|
||||
statusline = 1000,
|
||||
tabline = 2000,
|
||||
statusline = 200,
|
||||
tabline = 200,
|
||||
winbar = 20000,
|
||||
},
|
||||
symbols = {
|
||||
@@ -37,13 +37,25 @@ require('lualine').setup {
|
||||
-- cond = require("noice").api.status.search.has,
|
||||
-- color = { fg = "#ff9e64" },
|
||||
-- },
|
||||
'pwd',
|
||||
'filename',
|
||||
},
|
||||
lualine_x = {
|
||||
-- {
|
||||
-- require("noice").api.status.command.get,
|
||||
-- cond = require("noice").api.status.command.has,
|
||||
-- color = { fg = "#ff9e64" },
|
||||
-- },
|
||||
{
|
||||
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',
|
||||
'filetype',
|
||||
'require"lsp-status".status()'
|
||||
@@ -66,8 +78,8 @@ require('lualine').setup {
|
||||
'tabs',
|
||||
mode = 2,
|
||||
path = 1,
|
||||
max_length = 60,
|
||||
tab_max_length = 13,
|
||||
max_length = 320,
|
||||
tab_max_length = 40,
|
||||
use_mode_colors = true,
|
||||
},
|
||||
},
|
||||
|
||||
14
.config/nvim/lua/plug_init/mini_init.lua
Normal file
14
.config/nvim/lua/plug_init/mini_init.lua
Normal file
@@ -0,0 +1,14 @@
|
||||
require("mini.surround").setup({}) --surround strings with objects in one go (parens etc.)
|
||||
require("mini.pairs").setup({}) --put down parens etc in pairs
|
||||
require("mini.ai").setup({}) --selection with textobjects, such as "indside quotes, parens etc"
|
||||
require("mini.bracketed").setup({}) -- move to textobjects with brackets
|
||||
require("mini.jump2d").setup({}) -- jump to any point with Enter+ 2 letters in 2d matrix
|
||||
require("mini.files").setup({}) -- floating file manager in vim editor style
|
||||
require("mini.comment").setup({}) -- block comments etc
|
||||
|
||||
-- sugar ↓↓↓↓↓↓
|
||||
require("mini.indentscope").setup({}) -- show indent scope
|
||||
|
||||
-- potentially interesting
|
||||
--require("mini.align").setup({}) -- split lines in multiple sections, align these to rules, look into it more
|
||||
--require("mini.git").setup({}) -- git shortcuts, but collisions with gitsigns
|
||||
@@ -1,18 +1,41 @@
|
||||
require("noice").setup({
|
||||
lsp = {
|
||||
{
|
||||
cmdline = {
|
||||
enabled = true, -- enables the Noice cmdline UI
|
||||
view = "cmdline", -- view for rendering the cmdline. Change to `cmdline` to get a classic cmdline at the bottom
|
||||
opts = {}, -- global options for the cmdline. See section on views
|
||||
---@type table<string, CmdlineFormat>
|
||||
format = {
|
||||
-- conceal: (default=true) This will hide the text in the cmdline that matches the pattern.
|
||||
-- view: (default is cmdline view)
|
||||
-- opts: any options passed to the view
|
||||
-- icon_hl_group: optional hl_group for the icon
|
||||
-- title: set to anything or empty string to hide
|
||||
cmdline = { pattern = "^:", icon = "", lang = "vim" },
|
||||
search_down = { kind = "search", pattern = "^/", icon = " ", lang = "regex" },
|
||||
search_up = { kind = "search", pattern = "^%?", icon = " ", lang = "regex" },
|
||||
filter = { pattern = "^:%s*!", icon = "$", lang = "bash" },
|
||||
lua = { pattern = { "^:%s*lua%s+", "^:%s*lua%s*=%s*", "^:%s*=%s*" }, icon = "", lang = "lua" },
|
||||
help = { pattern = "^:%s*he?l?p?%s+", icon = "" },
|
||||
input = { view = "cmdline_input", icon = " " }, -- Used by input()
|
||||
-- lua = false, -- to disable a format, set to `false`
|
||||
},
|
||||
},
|
||||
},
|
||||
-- lsp = {
|
||||
-- override markdown rendering so that **cmp** and other plugins use **Treesitter**
|
||||
-- override = {
|
||||
-- ["vim.lsp.util.convert_input_to_markdown_lines"] = true,
|
||||
-- ["vim.lsp.util.stylize_markdown"] = true,
|
||||
-- ["cmp.entry.get_documentation"] = true, -- requires hrsh7th/nvim-cmp
|
||||
-- },
|
||||
},
|
||||
-- you can enable a preset for easier configuration
|
||||
-- presets = {
|
||||
-- --bottom_search = cmdline, -- use a classic bottom cmdline for search
|
||||
-- command_palette = true, -- position the cmdline and popupmenu together
|
||||
-- long_message_to_split = true, -- long messages will be sent to a split
|
||||
-- inc_rename = false, -- enables an input dialog for inc-rename.nvim
|
||||
-- lsp_doc_border = false, -- add a border to hover docs and signature help
|
||||
-- },
|
||||
-- you can enable a preset for easier configuration
|
||||
--presets = {
|
||||
--bottom_search = cmdline, -- use a classic bottom cmdline for search
|
||||
--command_palette = true, -- position the cmdline and popupmenu together
|
||||
--long_message_to_split = true, -- long messages will be sent to a split
|
||||
--inc_rename = false, -- enables an input dialog for inc-rename.nvim
|
||||
--lsp_doc_border = false, -- add a border to hover docs and signature help
|
||||
--},
|
||||
})
|
||||
|
||||
@@ -2,7 +2,7 @@ local wk = require("which-key")
|
||||
|
||||
require("telescope").load_extension("smart_open")
|
||||
require("smart-open").setup({
|
||||
lazy = true,
|
||||
lazy = false,
|
||||
wk.add({
|
||||
{ "<leader><leader>", "<cmd>Telescope smart_open<cr>", desc="Smart open" },
|
||||
})
|
||||
|
||||
@@ -3,8 +3,8 @@ vim.opt.showmatch = true
|
||||
vim.opt.hlsearch = true
|
||||
vim.opt.incsearch = false
|
||||
vim.opt.tabstop = 4
|
||||
vim.opt.softtabstop = 4
|
||||
vim.opt.expandtab = true -- spaces not tabs
|
||||
vim.opt.softtabstop = -1 -- use shiftwidth value
|
||||
vim.opt.expandtab = false -- tabs not spaces
|
||||
vim.opt.shiftwidth = 4
|
||||
vim.opt.autoindent = true
|
||||
vim.opt.relativenumber = true
|
||||
@@ -17,12 +17,13 @@ vim.opt.wrap = false
|
||||
vim.opt.mouse = ""
|
||||
vim.opt.termguicolors = true -- enable truecolor
|
||||
vim.opt.undofile = true
|
||||
vim.opt.undodir = os.getenv("HOME").."/.local/share/nvim/undodir"
|
||||
vim.opt.updatetime = 50
|
||||
vim.opt.undodir = os.getenv("HOME") .. "/.local/share/nvim/undodir"
|
||||
vim.opt.updatetime = 30
|
||||
vim.opt.colorcolumn = "79"
|
||||
vim.opt.cmdheight = 0 -- remove the last interface line under statusline
|
||||
vim.opt.showmode = false -- stop noice from showing mode, lualine will show mode anyway
|
||||
---
|
||||
vim.g.netrw_preview = 1
|
||||
vim.g.netrw_preview = 1
|
||||
vim.g.netrw_liststyle = 3
|
||||
vim.g.netrw_winsize = 25
|
||||
--
|
||||
@@ -41,12 +42,12 @@ vim.keymap.set("v", "J", ":m '>+1<CR>gv=gv")
|
||||
vim.keymap.set("v", "K", ":m '<-2<CR>gv=gv")
|
||||
|
||||
-- replace highlighted area without adding to register
|
||||
vim.keymap.set("x", "<leader>p", "\"_dP")
|
||||
vim.keymap.set("x", "<leader>p", '"_dP')
|
||||
|
||||
-- copy to system clipboard
|
||||
vim.keymap.set("n", "<leader>y", "\"+y")
|
||||
vim.keymap.set("v", "<leader>y", "\"+y")
|
||||
vim.keymap.set("n", "<leader>Y", "\"+Y")
|
||||
-- copy to system clipboard
|
||||
vim.keymap.set("n", "<leader>y", '"+y')
|
||||
vim.keymap.set("v", "<leader>y", '"+y')
|
||||
vim.keymap.set("n", "<leader>Y", '"+Y')
|
||||
|
||||
-- open side panel explorer
|
||||
vim.keymap.set("n", "<leader>e", ":Lexplore<CR>")
|
||||
--vim.keymap.set("n", "<leader>e", ":Lexplore<CR>") -- now via whichkey
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
local wk = require("which-key")
|
||||
|
||||
wk.add({
|
||||
{ "<leader>c", group = "crates" },
|
||||
{ "<leader>c", group = "crates" },
|
||||
{ "<leader>cA", desc = "Upgrade all crates" },
|
||||
{ "<leader>cC", desc = "Open crates.io" },
|
||||
{ "<leader>cD", desc = "Open documentation" },
|
||||
@@ -18,76 +18,84 @@ wk.add({
|
||||
{ "<leader>cv", desc = "Show versions popup" },
|
||||
{ "<leader>cx", desc = "Expand plain crate to inline table" },
|
||||
|
||||
{ "<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>e", "<cmd>Lexplore<cr>", desc = "Files Sidebar" },
|
||||
{ "<leader>e", "<cmd>lua MiniFiles.open()<cr>", desc = "Files w/ Mini" },
|
||||
{ "<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>g", group = "Gitsigns" },
|
||||
{ "<leader>gB", "<cmd>Gitsigns blame<cr>", desc = "Toggle Blame Sidebar" },
|
||||
{ "<leader>gb", "<cmd>Gitsigns blameline<cr>", desc = "Show Blame Inline" },
|
||||
{ "<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>gd", "<cmd>Gitsigns toggle_deleted<cr>", desc = "Toggle deleted lines" },
|
||||
{ "<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" },
|
||||
{ "<leader>g", group = "Gitsigns" },
|
||||
{ "<leader>gB", "<cmd>Gitsigns blame<cr>", desc = "Toggle Blame Sidebar" },
|
||||
{ "<leader>gb", "<cmd>Gitsigns blameline<cr>", desc = "Show Blame Inline" },
|
||||
{ "<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>gd", "<cmd>Gitsigns toggle_deleted<cr>", desc = "Toggle deleted lines" },
|
||||
{ "<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" },
|
||||
|
||||
{ "<leader>i", desc = "Auto format file with linter(?), also on F3" },
|
||||
{ "<leader>le", desc = "Open diagnostic float" },
|
||||
{ "<leader>K", desc = "Show definition" },
|
||||
{ "<leader>n", "<cmd>nohl<cr>", desc = "Stop highlighting search results" },
|
||||
{
|
||||
"<leader>i",
|
||||
function()
|
||||
require("conform").format({ async = true })
|
||||
end,
|
||||
desc = "Auto format file with linter(?), also on F3",
|
||||
},
|
||||
{ "<leader>le", vim.diagnostic.open_float, desc = "Open diagnostic float" },
|
||||
{ "<leader>K", desc = "Show definition" },
|
||||
{ "<leader>n", "<cmd>nohl<cr>", desc = "Stop highlighting search results" },
|
||||
|
||||
{ "<leader>r", group = "Rename" },
|
||||
{ "<leader>rr", desc = "Rename Variable" },
|
||||
{ "<leader>r", group = "Rename" },
|
||||
{ "<leader>rr", vim.lsp.buf.rename, opts, desc = "Rename Variable" },
|
||||
|
||||
{ "<leader>s", group = "Sessions" },
|
||||
{ "<leader>sd", desc = "Delete Session" },
|
||||
{ "<leader>sl", desc = "Load Session" },
|
||||
{ "<leader>sn", desc = "New Session" },
|
||||
{ "<leader>su", desc = "Update Session" },
|
||||
{ "<leader>s", group = "Sessions" },
|
||||
{ "<leader>sd", desc = "Delete Session" },
|
||||
{ "<leader>sl", desc = "Load Session" },
|
||||
{ "<leader>sn", desc = "New Session" },
|
||||
{ "<leader>su", desc = "Update 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>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" },
|
||||
{ "<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" },
|
||||
})
|
||||
|
||||
wk.add({
|
||||
{ "K", desc = "Show definition" },
|
||||
{ "[", group = "jump backward" },
|
||||
{ "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" },
|
||||
{ "[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" },
|
||||
{ "]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" },
|
||||
|
||||
Reference in New Issue
Block a user