Compare commits
73
Commits
fe912ab5fb
..
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
822b092d15
|
||
|
|
6fa41890ab
|
||
|
|
0066e28c8f
|
||
|
|
3f08c78c13
|
||
|
|
d6f6f9e11d | ||
|
|
19c17b583b | ||
|
|
8638342fa9 | ||
|
|
a62a601e1f | ||
|
|
44a24e2fe5 | ||
|
|
1a98a451ea | ||
|
|
ccf6bc397f | ||
|
|
13cce81d99 | ||
|
|
8fe6a6560e | ||
|
|
0dcd8a91b6 | ||
|
|
e9f6957b99 | ||
|
|
8aec881517 | ||
|
|
f17e83010f | ||
|
|
282a23f446 | ||
|
|
c80f3f0501 | ||
|
|
c2ec317b1b | ||
|
|
2fedda14ed | ||
|
|
e121bde8d8 | ||
|
|
9bb7dcbaf4 | ||
|
|
c8777040fb | ||
|
|
9d37797e6f | ||
|
|
ff99797242 | ||
|
|
a8413849cf | ||
|
|
fd10af115e | ||
|
|
c56f1242df | ||
|
|
250a960698 | ||
|
|
13e9b0f458 | ||
|
|
195fe4ae72 | ||
|
|
3091ea5835 | ||
|
|
215aa2bb2f | ||
|
|
617dca4dc1 | ||
|
|
de85977316 | ||
|
|
456ae88fad | ||
|
|
a69e8dc591 | ||
|
|
a9bc954d02 | ||
|
|
3f1e6d71d4 | ||
|
|
9c013a6aac | ||
|
|
d3d9aa251a | ||
|
|
46a61073a8 | ||
|
|
8ea74bc23b | ||
|
|
487ca44566 | ||
|
|
05f581918a | ||
|
|
6766acefec | ||
|
|
0e27cb4b44 | ||
|
|
682b023fb3 | ||
|
|
f18488d41c | ||
|
|
720d71b546 | ||
|
|
08f3deb901 | ||
|
|
3500e7388d | ||
|
|
83aac1ecc0 | ||
|
|
10b668d98a | ||
|
|
286c951d7b | ||
|
|
4aa283119a | ||
|
|
212bb9a66f | ||
|
|
11c839f870 | ||
|
|
d3433e3c55 | ||
|
|
8ba64ff369 | ||
|
|
e3bb39106e | ||
|
|
a18d92dfa6 | ||
|
|
d73d155287 | ||
|
|
27992efc1c | ||
|
|
1d26f9dc50 | ||
|
|
c2a0bb1684 | ||
|
|
c3c349c830 | ||
|
|
f8a489ea1a | ||
|
|
d72d935b35 | ||
|
|
9c10201ef3 | ||
|
|
582dff9458 | ||
|
|
914f9a400e |
+4
-5
@@ -15,7 +15,7 @@
|
|||||||
|
|
||||||
<div align="center">
|
<div align="center">
|
||||||
|
|
||||||
[](https://github.com/neovim/neovim)
|
[](https://github.com/neovim/neovim)
|
||||||
[](https://github.com/NvChad/NvChad/issues)
|
[](https://github.com/NvChad/NvChad/issues)
|
||||||
[](https://discord.gg/gADmkJb9Fb)
|
[](https://discord.gg/gADmkJb9Fb)
|
||||||
[](https://matrix.to/#/#nvchad:matrix.org)
|
[](https://matrix.to/#/#nvchad:matrix.org)
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
|
|
||||||
- Lazy loading is done 93% of the time meaning that plugins will not be loaded by default, they will be loaded only when required also at specific commands, events etc. This lowers the startuptime and it was like 0.07~ secs tested on an old pentium machine 1.4ghz + 4gb ram & HDD.
|
- Lazy loading is done 93% of the time meaning that plugins will not be loaded by default, they will be loaded only when required also at specific commands, events etc. This lowers the startuptime and it was like 0.07~ secs tested on an old pentium machine 1.4ghz + 4gb ram & HDD.
|
||||||
|
|
||||||
- NvChad isnt a framework! Its supposed to be used as a "base" config, so users could tweak the defaults well, can also remove the things they dont like in the default config and build their config on top of it. Users can tweak the entire default config while staying in their custom config (lua/custom dir). This is the control center of the user's config and gitignored so the users can stay update to-date with NvChad's latest config (main branch) while still controlling it with their chadrc (file that controls entire custom dir)
|
- NvChad isn't a framework! It's supposed to be used as a "base" config, so users can tweak the defaults well, and also remove the things they don't like in the default config and build their config on top of it. Users can tweak the entire default config while staying in their custom config (lua/custom dir). This is the control center of the user's config and gitignored so the users can stay up-to-date with NvChad's latest config (main branch) while still controlling it with their chadrc (file that controls entire custom dir).
|
||||||
|
|
||||||
## Theme Showcase
|
## Theme Showcase
|
||||||
|
|
||||||
@@ -88,8 +88,7 @@ A fuzzy file finder, picker, sorter, previewer and much more:
|
|||||||
|
|
||||||
- Many beautiful themes, theme toggler by our [base46 plugin](https://github.com/NvChad/base46)
|
- Many beautiful themes, theme toggler by our [base46 plugin](https://github.com/NvChad/base46)
|
||||||
- Inbuilt terminal toggling & management with [Nvterm](https://github.com/NvChad/nvterm)
|
- Inbuilt terminal toggling & management with [Nvterm](https://github.com/NvChad/nvterm)
|
||||||
- NvChad updater, hide & unhide terminal buffers with [NvChad extensions](https://github.com/NvChad/extensions)
|
- Lightweight & performant ui plugin with [NvChad UI](https://github.com/NvChad/ui) It provides statusline modules, tabufline ( tabs + buffer manager) , beautiful cheatsheets, NvChad updater, hide & unhide terminal buffers, theme switcher and much more!
|
||||||
- Lightweight & performant ui plugin with [NvChad UI](https://github.com/NvChad/ui) It provides statusline modules, tabufline ( tabs + buffer manager) , beautiful cheatsheets and much more!
|
|
||||||
- File navigation with [nvim-tree.lua](https://github.com/kyazdani42/nvim-tree.lua)
|
- File navigation with [nvim-tree.lua](https://github.com/kyazdani42/nvim-tree.lua)
|
||||||
- Beautiful and configurable icons with [nvim-web-devicons](https://github.com/kyazdani42/nvim-web-devicons)
|
- Beautiful and configurable icons with [nvim-web-devicons](https://github.com/kyazdani42/nvim-web-devicons)
|
||||||
- Git diffs and more with [gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim)
|
- Git diffs and more with [gitsigns.nvim](https://github.com/lewis6991/gitsigns.nvim)
|
||||||
@@ -113,7 +112,7 @@ A fuzzy file finder, picker, sorter, previewer and much more:
|
|||||||
If you like NvChad and would like to support & appreciate it via donation then I'll gladly accept it.
|
If you like NvChad and would like to support & appreciate it via donation then I'll gladly accept it.
|
||||||
|
|
||||||
[](https://ko-fi.com/siduck)
|
[](https://ko-fi.com/siduck)
|
||||||
[](https://paypal.me/siduck76)
|
[](https://paypal.me/siduck13)
|
||||||
[](https://www.buymeacoffee.com/siduck)
|
[](https://www.buymeacoffee.com/siduck)
|
||||||
[](https://www.patreon.com/siduck)
|
[](https://www.patreon.com/siduck)
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
spell
|
spell
|
||||||
ftplugin
|
ftplugin
|
||||||
|
syntax
|
||||||
coc-settings.json
|
coc-settings.json
|
||||||
.luarc.json
|
.luarc.json
|
||||||
lazy-lock.json
|
lazy-lock.json
|
||||||
|
after
|
||||||
|
**/.DS_Store
|
||||||
|
|||||||
+17
-17
@@ -1,18 +1,24 @@
|
|||||||
local M = {}
|
local M = {}
|
||||||
|
local fn = vim.fn
|
||||||
|
|
||||||
M.echo = function(str)
|
M.echo = function(str)
|
||||||
vim.cmd "redraw"
|
vim.cmd "redraw"
|
||||||
vim.api.nvim_echo({ { str, "Bold" } }, true, {})
|
vim.api.nvim_echo({ { str, "Bold" } }, true, {})
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function shell_call(args)
|
||||||
|
local output = fn.system(args)
|
||||||
|
assert(vim.v.shell_error == 0, "External call failed with error code: " .. vim.v.shell_error .. "\n" .. output)
|
||||||
|
end
|
||||||
|
|
||||||
M.lazy = function(install_path)
|
M.lazy = function(install_path)
|
||||||
------------- base46 ---------------
|
------------- base46 ---------------
|
||||||
local lazy_path = vim.fn.stdpath "data" .. "/lazy/base46"
|
local lazy_path = fn.stdpath "data" .. "/lazy/base46"
|
||||||
|
|
||||||
M.echo " Compiling base46 theme to bytecode ..."
|
M.echo " Compiling base46 theme to bytecode ..."
|
||||||
|
|
||||||
local base46_repo = "https://github.com/NvChad/base46"
|
local base46_repo = "https://github.com/NvChad/base46"
|
||||||
vim.fn.system { "git", "clone", "--depth", "1", "-b", "v2.0", base46_repo, lazy_path }
|
shell_call { "git", "clone", "--depth", "1", "-b", "v2.0", base46_repo, lazy_path }
|
||||||
vim.opt.rtp:prepend(lazy_path)
|
vim.opt.rtp:prepend(lazy_path)
|
||||||
|
|
||||||
require("base46").compile()
|
require("base46").compile()
|
||||||
@@ -20,32 +26,26 @@ M.lazy = function(install_path)
|
|||||||
--------- lazy.nvim ---------------
|
--------- lazy.nvim ---------------
|
||||||
M.echo " Installing lazy.nvim & plugins ..."
|
M.echo " Installing lazy.nvim & plugins ..."
|
||||||
local repo = "https://github.com/folke/lazy.nvim.git"
|
local repo = "https://github.com/folke/lazy.nvim.git"
|
||||||
vim.fn.system { "git", "clone", "--filter=blob:none", "--branch=stable", repo, install_path }
|
shell_call { "git", "clone", "--filter=blob:none", "--branch=stable", repo, install_path }
|
||||||
vim.opt.rtp:prepend(install_path)
|
vim.opt.rtp:prepend(install_path)
|
||||||
|
|
||||||
-- install plugins
|
-- install plugins
|
||||||
require "plugins"
|
require "plugins"
|
||||||
|
|
||||||
-- mason packages & show post_boostrap screen
|
-- mason packages & show post_bootstrap screen
|
||||||
require "nvchad.post_bootstrap"()
|
require "nvchad.post_install"()
|
||||||
end
|
end
|
||||||
|
|
||||||
M.gen_chadrc_template = function()
|
M.gen_chadrc_template = function()
|
||||||
if not vim.api.nvim_get_runtime_file("lua/custom/chadrc.lua", false)[1] then
|
local path = fn.stdpath "config" .. "/lua/custom"
|
||||||
local path = vim.fn.stdpath "config" .. "/lua/custom/"
|
|
||||||
local input = vim.fn.input "Do you want to install example custom config? (y/N) : "
|
|
||||||
|
|
||||||
-- clone example_config repo
|
if fn.isdirectory(path) ~= 1 then
|
||||||
if input == "y" then
|
|
||||||
M.echo "cloning example custom config repo ..."
|
|
||||||
vim.fn.system { "git", "clone", "--depth", "1", "https://github.com/NvChad/example_config", path }
|
|
||||||
vim.fn.delete(path .. ".git", "rf")
|
|
||||||
else
|
|
||||||
-- use very minimal chadrc
|
-- use very minimal chadrc
|
||||||
vim.fn.mkdir(path, "p")
|
fn.mkdir(path, "p")
|
||||||
|
|
||||||
local file = io.open(path .. "chadrc.lua", "w")
|
local file = io.open(path .. "/chadrc.lua", "w")
|
||||||
file:write "---@type ChadrcConfig \n local M = {}\n M.ui = {theme = 'onedark'}\n return M"
|
if file then
|
||||||
|
file:write "---@type ChadrcConfig\nlocal M = {}\n\nM.ui = { theme = 'onedark' }\n\nreturn M"
|
||||||
file:close()
|
file:close()
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -35,10 +35,6 @@ M.ui = {
|
|||||||
-- default/round/block/arrow separators work only for default statusline theme
|
-- default/round/block/arrow separators work only for default statusline theme
|
||||||
-- round and block will work for minimal theme only
|
-- round and block will work for minimal theme only
|
||||||
separator_style = "default",
|
separator_style = "default",
|
||||||
overriden_modules = nil,
|
|
||||||
fileInfo = function()
|
|
||||||
return require("nvchad_ui.statusline.default.fileInfo").run()
|
|
||||||
end
|
|
||||||
},
|
},
|
||||||
|
|
||||||
-- lazyload it when there are 1+ buffers
|
-- lazyload it when there are 1+ buffers
|
||||||
@@ -90,6 +86,6 @@ M.plugins = "" -- path i.e "custom.plugins", so make custom/plugins.lua file
|
|||||||
|
|
||||||
M.lazy_nvim = require "plugins.configs.lazy_nvim" -- config for lazy.nvim startup options
|
M.lazy_nvim = require "plugins.configs.lazy_nvim" -- config for lazy.nvim startup options
|
||||||
|
|
||||||
M.mappings = {}
|
M.mappings = require "core.mappings"
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|||||||
+43
-10
@@ -44,6 +44,8 @@ opt.timeoutlen = 400
|
|||||||
opt.undofile = true
|
opt.undofile = true
|
||||||
opt.scrolloff = 15
|
opt.scrolloff = 15
|
||||||
|
|
||||||
|
opt.wildignore:append "tags,Session.vim"
|
||||||
|
|
||||||
-- interval for writing swap file to disk, also used by gitsigns
|
-- interval for writing swap file to disk, also used by gitsigns
|
||||||
opt.updatetime = 250
|
opt.updatetime = 250
|
||||||
|
|
||||||
@@ -59,8 +61,8 @@ for _, provider in ipairs { "node", "perl", "python3", "ruby" } do
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- add binaries installed by mason.nvim to path
|
-- add binaries installed by mason.nvim to path
|
||||||
local is_windows = vim.loop.os_uname().sysname == "Windows_NT"
|
local is_windows = vim.fn.has "win32" ~= 0
|
||||||
vim.env.PATH = vim.env.PATH .. (is_windows and ";" or ":") .. vim.fn.stdpath "data" .. "/mason/bin"
|
vim.env.PATH = vim.fn.stdpath "data" .. "/mason/bin" .. (is_windows and ";" or ":") .. vim.env.PATH
|
||||||
|
|
||||||
-------------------------------------- autocmds ------------------------------------------
|
-------------------------------------- autocmds ------------------------------------------
|
||||||
local autocmd = vim.api.nvim_create_autocmd
|
local autocmd = vim.api.nvim_create_autocmd
|
||||||
@@ -74,11 +76,10 @@ autocmd("FileType", {
|
|||||||
})
|
})
|
||||||
|
|
||||||
-- reload some chadrc options on-save
|
-- reload some chadrc options on-save
|
||||||
vim.api.nvim_create_autocmd("BufWritePost", {
|
autocmd("BufWritePost", {
|
||||||
pattern = vim.tbl_map(
|
pattern = vim.tbl_map(function(path)
|
||||||
vim.fs.normalize,
|
return vim.fs.normalize(vim.loop.fs_realpath(path))
|
||||||
vim.fn.glob(vim.fn.stdpath "config" .. "/lua/custom/**/*.lua", true, true, true)
|
end, vim.fn.glob(vim.fn.stdpath "config" .. "/lua/custom/**/*.lua", true, true, true)),
|
||||||
),
|
|
||||||
group = vim.api.nvim_create_augroup("ReloadNvChad", {}),
|
group = vim.api.nvim_create_augroup("ReloadNvChad", {}),
|
||||||
|
|
||||||
callback = function(opts)
|
callback = function(opts)
|
||||||
@@ -97,17 +98,49 @@ vim.api.nvim_create_autocmd("BufWritePost", {
|
|||||||
vim.g.transparency = true
|
vim.g.transparency = true
|
||||||
|
|
||||||
-- statusline
|
-- statusline
|
||||||
require("plenary.reload").reload_module("nvchad_ui.statusline." .. config.ui.statusline.theme)
|
require("plenary.reload").reload_module("nvchad.statusline." .. config.ui.statusline.theme)
|
||||||
vim.opt.statusline = "%!v:lua.require('nvchad_ui.statusline." .. config.ui.statusline.theme .. "').run()"
|
vim.opt.statusline = "%!v:lua.require('nvchad.statusline." .. config.ui.statusline.theme .. "').run()"
|
||||||
|
|
||||||
|
-- tabufline
|
||||||
|
if config.ui.tabufline.enabled then
|
||||||
|
require("plenary.reload").reload_module "nvchad.tabufline.modules"
|
||||||
|
vim.opt.tabline = "%!v:lua.require('nvchad.tabufline.modules').run()"
|
||||||
|
end
|
||||||
|
|
||||||
require("base46").load_all_highlights()
|
require("base46").load_all_highlights()
|
||||||
-- vim.cmd("redraw!")
|
-- vim.cmd("redraw!")
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
-- user event that loads after UIEnter + only if file buf is there
|
||||||
|
vim.api.nvim_create_autocmd({ "UIEnter", "BufReadPost", "BufNewFile" }, {
|
||||||
|
group = vim.api.nvim_create_augroup("NvFilePost", { clear = true }),
|
||||||
|
callback = function(args)
|
||||||
|
local file = vim.api.nvim_buf_get_name(args.buf)
|
||||||
|
local buftype = vim.api.nvim_buf_get_option(args.buf, "buftype")
|
||||||
|
|
||||||
|
if not vim.g.ui_entered and args.event == "UIEnter" then
|
||||||
|
vim.g.ui_entered = true
|
||||||
|
end
|
||||||
|
|
||||||
|
if file ~= "" and buftype ~= "nofile" and vim.g.ui_entered then
|
||||||
|
vim.api.nvim_exec_autocmds("User", { pattern = "FilePost", modeline = false })
|
||||||
|
vim.api.nvim_del_augroup_by_name "NvFilePost"
|
||||||
|
|
||||||
|
vim.schedule(function()
|
||||||
|
vim.api.nvim_exec_autocmds("FileType", {})
|
||||||
|
|
||||||
|
if vim.g.editorconfig then
|
||||||
|
require("editorconfig").config(args.buf)
|
||||||
|
end
|
||||||
|
end, 0)
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
|
||||||
-------------------------------------- commands ------------------------------------------
|
-------------------------------------- commands ------------------------------------------
|
||||||
local new_cmd = vim.api.nvim_create_user_command
|
local new_cmd = vim.api.nvim_create_user_command
|
||||||
|
|
||||||
new_cmd("NvChadUpdate", function()
|
new_cmd("NvChadUpdate", function()
|
||||||
require "nvchad.update"()
|
require "nvchad.updater"()
|
||||||
end, {})
|
end, {})
|
||||||
|
|||||||
+222
-42
@@ -18,6 +18,7 @@ M.general = {
|
|||||||
n = {
|
n = {
|
||||||
["<leader>n"] = { ":noh <CR>", "Clear highlights" },
|
["<leader>n"] = { ":noh <CR>", "Clear highlights" },
|
||||||
["<leader>rr"] = { ":source $MYVIMRC<CR>", "Reload config file" },
|
["<leader>rr"] = { ":source $MYVIMRC<CR>", "Reload config file" },
|
||||||
|
["<Esc>"] = { "<cmd> noh <CR>", "Clear highlights" },
|
||||||
-- switch between windows
|
-- switch between windows
|
||||||
["<C-h>"] = { "<C-w>h", "Window left" },
|
["<C-h>"] = { "<C-w>h", "Window left" },
|
||||||
["<C-l>"] = { "<C-w>l", "Window right" },
|
["<C-l>"] = { "<C-w>l", "Window right" },
|
||||||
@@ -55,12 +56,44 @@ M.general = {
|
|||||||
-- ["<Up>"] = { 'v:count || mode(1)[0:1] == "no" ? "k" : "gk"', "Move up", opts = { expr = true } },
|
-- ["<Up>"] = { 'v:count || mode(1)[0:1] == "no" ? "k" : "gk"', "Move up", opts = { expr = true } },
|
||||||
-- ["<Down>"] = { 'v:count || mode(1)[0:1] == "no" ? "j" : "gj"', "Move down", opts = { expr = true } },
|
-- ["<Down>"] = { 'v:count || mode(1)[0:1] == "no" ? "j" : "gj"', "Move down", opts = { expr = true } },
|
||||||
|
|
||||||
["<leader>y"] = {"<cmd> :w! /tmp/vimtmp<CR>", "Save into a global tmp file"},
|
-- ["<leader>y"] = {"<cmd> :w! /tmp/vimtmp<CR>", "Save into a global tmp file"},
|
||||||
["<leader>p"] = {"<cmd> :r! cat /tmp/vimtmp<CR>", "Restore from the global tmp file"},
|
-- ["<leader>p"] = {"<cmd> :r! cat /tmp/vimtmp<CR>", "Restore from the global tmp file"},
|
||||||
|
|
||||||
|
-- (Double) Trouble
|
||||||
|
["<leader>tx"] = { ":Trouble diagnostics toggle<CR>", "[T]rouble diagnostics" },
|
||||||
|
["<leader>tX"] = { ":Trouble diagnostics toggle filter.buf=0<CR>", "[T]rouble buffer diagnostics" },
|
||||||
|
["<leader>ts"] = { ":Trouble symbols toggle focus=false<CR>", "[T]rouble [S]ymbols" },
|
||||||
|
["<leader>tl"] = { ":Trouble lsp toggle focus=false win.position=right<CR>", "[T]rouble [L]sp def / ref / ..." },
|
||||||
|
["<leader>tL"] = { ":Trouble loclist toggle<CR>", "[T]rouble [L]oclist" },
|
||||||
|
["<leader>tQ"] = { ":Trouble qflist toggle<CR>", "[T]rouble [Q]uickfix" },
|
||||||
|
|
||||||
|
["<leader>dgg"] = { ":lua require('dap').continue() <CR>", "Continue debu[g]ging" },
|
||||||
|
["<leader>dg<CR>"] = { ":lua require('dapui').toggle() <CR>", "Toggle DAP ui" },
|
||||||
|
["<leader>dgw"] = { ":lua require('dapui').eval() <CR>", "Open floating windows about current [w]ord" },
|
||||||
|
["<leader>dgb"] = { ":lua require('dap').toggle_breakpoint() <CR>", "Toggle [b]reakpoint" },
|
||||||
|
["<leader>dgf"] = { ":lua require('dap-python').test_method() <CR>", "Debug [f]unction" },
|
||||||
|
["<leader>dgo"] = { ":lua require('dap').step_over() <CR>", "DAP step [o]ver method" },
|
||||||
|
["<leader>dgt"] = { ":lua require('dap').step_into() <CR>", "DAP step in[t]o method" },
|
||||||
|
["<leader>dgp"] = { ":lua require('dap').step_back() <CR>", "DAP step back ([p]revious)" },
|
||||||
|
["<leader>dgs"] = {
|
||||||
|
function()
|
||||||
|
local widgets = require "dap.ui.widgets"
|
||||||
|
local sidebar = widgets.sidebar(widgets.scopes)
|
||||||
|
sidebar.open { widgth = "50%" }
|
||||||
|
end,
|
||||||
|
"DAP Show debugged [s]copes",
|
||||||
|
},
|
||||||
|
|
||||||
-- new buffer
|
-- new buffer
|
||||||
-- ["<leader>b"] = { "<cmd> enew <CR>", "New buffer" },
|
-- ["<leader>b"] = { "<cmd> enew <CR>", "New buffer" },
|
||||||
-- ["<leader>ch"] = { "<cmd> NvCheatsheet <CR>", "Mapping cheatsheet" },
|
-- ["<leader>ch"] = { "<cmd> NvCheatsheet <CR>", "Mapping cheatsheet" },
|
||||||
|
|
||||||
|
["<leader>fm"] = {
|
||||||
|
function()
|
||||||
|
vim.lsp.buf.format { async = true }
|
||||||
|
end,
|
||||||
|
"LSP formatting",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
t = {
|
t = {
|
||||||
@@ -70,6 +103,11 @@ M.general = {
|
|||||||
v = {
|
v = {
|
||||||
-- ["<Up>"] = { 'v:count || mode(1)[0:1] == "no" ? "k" : "gk"', "Move up", opts = { expr = true } },
|
-- ["<Up>"] = { 'v:count || mode(1)[0:1] == "no" ? "k" : "gk"', "Move up", opts = { expr = true } },
|
||||||
-- ["<Down>"] = { 'v:count || mode(1)[0:1] == "no" ? "j" : "gj"', "Move down", opts = { expr = true } },
|
-- ["<Down>"] = { 'v:count || mode(1)[0:1] == "no" ? "j" : "gj"', "Move down", opts = { expr = true } },
|
||||||
|
["<"] = { "<gv", "Indent line" },
|
||||||
|
[">"] = { ">gv", "Indent line" },
|
||||||
|
|
||||||
|
["<leader>dgd"] = { ":lua require('dap-python').debug_selection()", "DAP debug selection" },
|
||||||
|
["<leader>dgw"] = { ":lua require('dap-python').eval()", "DAP eval selection" },
|
||||||
},
|
},
|
||||||
|
|
||||||
x = {
|
x = {
|
||||||
@@ -94,11 +132,18 @@ M.customstuffs = {
|
|||||||
["<C-t>"] = { "<cmd> TagbarToggle<CR>", "Show tagbar" },
|
["<C-t>"] = { "<cmd> TagbarToggle<CR>", "Show tagbar" },
|
||||||
["<leader>ra"] = { "<cmd> call VrcQuery()<CR>", "Call REST endpoint" },
|
["<leader>ra"] = { "<cmd> call VrcQuery()<CR>", "Call REST endpoint" },
|
||||||
["<leader>dl"] = { "0d$", "Delete line from start" },
|
["<leader>dl"] = { "0d$", "Delete line from start" },
|
||||||
["<leader>gp"] = { "<cmd> Git pull<CR>", "Git pull" },
|
["<leader>gpu"] = { "<cmd> Git pull<CR>", "Git pull" },
|
||||||
|
["<leader>gpf"] = { ":Git push ", "Git push with option" },
|
||||||
|
["<leader>gmm"] = { "<cmd> Git merge master<CR>", "Git merge master" },
|
||||||
|
["<leader>gmi"] = { ":Git merge ", "Git merge ..." },
|
||||||
|
["<leader>ga"] = { ":Git commit -a --amend --no-edit --no-verify", "Git commit -a --amend --no-edit --no-verify" },
|
||||||
["<leader>gnb"] = { ":Git checkout -b ", "Checkout to a new branch" },
|
["<leader>gnb"] = { ":Git checkout -b ", "Checkout to a new branch" },
|
||||||
["<leader>gri"] = { ":Git rebase -i HEAD~", "Git rebase interactive from HEAD" },
|
["<leader>gri"] = { ":Git rebase -i HEAD~", "Git rebase interactive from HEAD" },
|
||||||
["<leader>mkd"] = { "<cmd>lua vim.api.nvim_create_user_command('PeekOpen', require('peek').open, {})<CR>", "Open markdown preview" },
|
["<leader>grm"] = { ":Git rebase -i master", "Git rebase interactive from master" },
|
||||||
["<leader>mkc"] = { "<cmd>lua vim.api.nvim_create_user_command('PeekClose', require('peek').close, {})<CR>", "Open markdown preview" },
|
["<leader>grr"] = { ":Git rebase -i ", "Git rebase interactive from <select>" },
|
||||||
|
|
||||||
|
-- ["<leader>mkd"] = { "<cmd>lua vim.api.nvim_create_user_command('PeekOpen', require('peek').open, {})<CR>", "Open markdown preview" },
|
||||||
|
-- ["<leader>mkc"] = { "<cmd>lua vim.api.nvim_create_user_command('PeekClose', require('peek').close, {})<CR>", "Open markdown preview" },
|
||||||
|
|
||||||
["n"] = { "nzz", "Next + auto center" },
|
["n"] = { "nzz", "Next + auto center" },
|
||||||
["N"] = { "Nzz", "Previous + auto center" },
|
["N"] = { "Nzz", "Previous + auto center" },
|
||||||
@@ -112,14 +157,51 @@ M.customstuffs = {
|
|||||||
-- Mappings: TODO
|
-- Mappings: TODO
|
||||||
|
|
||||||
-- "trim(system('git branch --show-current 2>/dev/null'))"
|
-- "trim(system('git branch --show-current 2>/dev/null'))"
|
||||||
-- ["<leader>tt"] = { ":call append(line('.') - 1, repeat(' ', indent('.')) . '# TODO-' . trim(system('git branch --show-current 2>/dev/null')) . ': ' . input('Comment >'))<CR>", "Add TODO comment + add to quickfix list" },
|
-- ["<leader>ct"] = { ":call append(line('.') - 1, repeat(' ', indent('.')) . '# TODO-' . trim(system('git branch --show-current 2>/dev/null')) . ': ' . input('Comment >'))<CR>", "Add TODO comment + add to qflist" },
|
||||||
["<leader>tt"] = { ":call append(line('.') - 1, repeat(' ', indent('.')) . '# TODO: ' . input('Comment >'))<CR>", "Add TODO comment + add to quickfix list" },
|
["<leader>ct"] = {
|
||||||
|
":call append(line('.') - 1, repeat(' ', indent('.')) . '# TODO: ' . input('Comment >'))<CR>",
|
||||||
|
"Add TODO comment + add to qflist",
|
||||||
|
},
|
||||||
|
|
||||||
["<leader>ww"] = { ":lua require('nvim-window').pick()<CR>", "Pick window to goto" },
|
["<leader>ww"] = { ":lua require('nvim-window').pick()<CR>", "Pick window to goto" },
|
||||||
["<leader>wm"] = { ":WinShift<CR>", "Enter move window mode" },
|
["<leader>wm"] = { ":WinShift<CR>", "Enter move window mode" },
|
||||||
["<leader>ws"] = { ":WinShift swap<CR>", "Swap window, with selection" },
|
["<leader>ws"] = { ":WinShift swap<CR>", "Swap window, with selection" },
|
||||||
|
|
||||||
["<leader>gg"] = { ":LazyGit<CR>", "Open lazygit" },
|
["<leader>gg"] = { ":LazyGit<CR>", "Open lazygit" },
|
||||||
|
|
||||||
|
["gf"] = { ":call search('[A-Z]', 'W')<CR>", "Go to next uppercase" },
|
||||||
|
["fg"] = { ":call search('[A-Z]', 'bW')<CR>", "Go to last uppercase" },
|
||||||
|
|
||||||
|
["glb"] = { ":lua require('gitlab').choose_merge_request()<CR>", "Gitlab: Choose merge request" },
|
||||||
|
["glr"] = { ":lua require('gitlab').review()<CR>", "Gitlab: review" },
|
||||||
|
["gls"] = { ":lua require('gitlab').summary()<CR>", "Gitlab: summary" },
|
||||||
|
["glo"] = { ":lua require('gitlab').open_in_browser()<CR>", "Gitlab: open in browser" },
|
||||||
|
["glu"] = { ":lua require('gitlab').copy_mr_url()<CR>", "Gitlab: open in browser" },
|
||||||
|
["glO"] = { ":lua require('gitlab').create_mr()<CR>", "Gitlab: create MR" },
|
||||||
|
["glaa"] = { ":lua require('gitlab').add_assignee()<CR>", "Gitlab: add_assignee" },
|
||||||
|
|
||||||
|
-- vim.keymap.set("n", "glb", gitlab.choose_merge_request)
|
||||||
|
-- vim.keymap.set("n", "glr", gitlab.review)
|
||||||
|
-- vim.keymap.set("n", "gls", gitlab.summary)
|
||||||
|
-- vim.keymap.set("n", "glA", gitlab.approve)
|
||||||
|
-- vim.keymap.set("n", "glR", gitlab.revoke)
|
||||||
|
-- vim.keymap.set("n", "glc", gitlab.create_comment)
|
||||||
|
-- vim.keymap.set("v", "glc", gitlab.create_multiline_comment)
|
||||||
|
-- vim.keymap.set("v", "glC", gitlab.create_comment_suggestion)
|
||||||
|
-- vim.keymap.set("n", "glO", gitlab.create_mr)
|
||||||
|
-- vim.keymap.set("n", "glm", gitlab.move_to_discussion_tree_from_diagnostic)
|
||||||
|
-- vim.keymap.set("n", "gln", gitlab.create_note)
|
||||||
|
-- vim.keymap.set("n", "gld", gitlab.toggle_discussions)
|
||||||
|
-- vim.keymap.set("n", "glaa", gitlab.add_assignee)
|
||||||
|
-- vim.keymap.set("n", "glad", gitlab.delete_assignee)
|
||||||
|
-- vim.keymap.set("n", "glla", gitlab.add_label)
|
||||||
|
-- vim.keymap.set("n", "glld", gitlab.delete_label)
|
||||||
|
-- vim.keymap.set("n", "glra", gitlab.add_reviewer)
|
||||||
|
-- vim.keymap.set("n", "glrd", gitlab.delete_reviewer)
|
||||||
|
-- vim.keymap.set("n", "glp", gitlab.pipeline)
|
||||||
|
-- vim.keymap.set("n", "glM", gitlab.merge)
|
||||||
|
-- vim.keymap.set("n", "glu", gitlab.copy_mr_url)
|
||||||
|
-- vim.keymap.set("n", "glP", gitlab.publish_all_drafts)
|
||||||
},
|
},
|
||||||
v = {
|
v = {
|
||||||
["n"] = { "nzz", "Next + auto center" },
|
["n"] = { "nzz", "Next + auto center" },
|
||||||
@@ -140,25 +222,25 @@ M.tabufline = {
|
|||||||
-- cycle through buffers
|
-- cycle through buffers
|
||||||
["<tab>"] = {
|
["<tab>"] = {
|
||||||
function()
|
function()
|
||||||
require("nvchad_ui.tabufline").tabuflineNext()
|
require("nvchad.tabufline").tabuflineNext()
|
||||||
end,
|
end,
|
||||||
"Goto next buffer",
|
"Goto next buffer",
|
||||||
},
|
},
|
||||||
|
|
||||||
["<S-tab>"] = {
|
["<S-tab>"] = {
|
||||||
function()
|
function()
|
||||||
require("nvchad_ui.tabufline").tabuflinePrev()
|
require("nvchad.tabufline").tabuflinePrev()
|
||||||
end,
|
end,
|
||||||
"Goto prev buffer",
|
"Goto prev buffer",
|
||||||
},
|
},
|
||||||
|
|
||||||
-- close buffer + hide terminal buffer
|
-- close buffer + hide terminal buffer
|
||||||
["<leader>x"] = {
|
-- ["<leader>x"] = {
|
||||||
function()
|
-- function()
|
||||||
require("nvchad_ui.tabufline").close_buffer()
|
-- require("nvchad.tabufline").close_buffer()
|
||||||
end,
|
-- end,
|
||||||
"Close buffer",
|
-- "Close buffer",
|
||||||
},
|
-- },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -233,7 +315,7 @@ M.lspconfig = {
|
|||||||
|
|
||||||
["<leader>ra"] = {
|
["<leader>ra"] = {
|
||||||
function()
|
function()
|
||||||
require("nvchad_ui.renamer").open()
|
require("nvchad.renamer").open()
|
||||||
end,
|
end,
|
||||||
"LSP rename",
|
"LSP rename",
|
||||||
},
|
},
|
||||||
@@ -252,7 +334,7 @@ M.lspconfig = {
|
|||||||
"LSP references",
|
"LSP references",
|
||||||
},
|
},
|
||||||
|
|
||||||
["<leader>f"] = {
|
["<leader>lf"] = {
|
||||||
function()
|
function()
|
||||||
vim.diagnostic.open_float { border = "rounded" }
|
vim.diagnostic.open_float { border = "rounded" }
|
||||||
end,
|
end,
|
||||||
@@ -261,14 +343,14 @@ M.lspconfig = {
|
|||||||
|
|
||||||
["[d"] = {
|
["[d"] = {
|
||||||
function()
|
function()
|
||||||
vim.diagnostic.goto_prev({ float = { border = "rounded" }})
|
vim.diagnostic.goto_prev { float = { border = "rounded" } }
|
||||||
end,
|
end,
|
||||||
"Goto prev",
|
"Goto prev",
|
||||||
},
|
},
|
||||||
|
|
||||||
["]d"] = {
|
["]d"] = {
|
||||||
function()
|
function()
|
||||||
vim.diagnostic.goto_next({ float = { border = "rounded" }})
|
vim.diagnostic.goto_next { float = { border = "rounded" } }
|
||||||
end,
|
end,
|
||||||
"Goto next",
|
"Goto next",
|
||||||
},
|
},
|
||||||
@@ -280,13 +362,6 @@ M.lspconfig = {
|
|||||||
-- "Diagnostic setloclist",
|
-- "Diagnostic setloclist",
|
||||||
-- },
|
-- },
|
||||||
|
|
||||||
["<leader>fm"] = {
|
|
||||||
function()
|
|
||||||
vim.lsp.buf.format { async = true }
|
|
||||||
end,
|
|
||||||
"LSP formatting",
|
|
||||||
},
|
|
||||||
|
|
||||||
["<leader>wa"] = {
|
["<leader>wa"] = {
|
||||||
function()
|
function()
|
||||||
vim.lsp.buf.add_workspace_folder()
|
vim.lsp.buf.add_workspace_folder()
|
||||||
@@ -308,6 +383,15 @@ M.lspconfig = {
|
|||||||
"List workspace folders",
|
"List workspace folders",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
v = {
|
||||||
|
["<leader>ca"] = {
|
||||||
|
function()
|
||||||
|
vim.lsp.buf.code_action()
|
||||||
|
end,
|
||||||
|
"LSP code action",
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
M.nvimtree = {
|
M.nvimtree = {
|
||||||
@@ -328,33 +412,110 @@ M.telescope = {
|
|||||||
n = {
|
n = {
|
||||||
-- Resume
|
-- Resume
|
||||||
["<a-f>"] = { "<cmd> Telescope resume <CR>", "Resume" },
|
["<a-f>"] = { "<cmd> Telescope resume <CR>", "Resume" },
|
||||||
|
["<a-k>"] = { "<cmd> Telescope keymaps <CR>", "Show (and search) all [k]eymaps" },
|
||||||
-- find
|
-- find
|
||||||
["<C-g>"] = { "<cmd> Telescope find_files <CR>", "Find files" },
|
["<C-g>"] = { "<cmd> Telescope find_files <CR>", "Find files" },
|
||||||
["<C-x>"] = { "<cmd> Telescope find_files follow=true no_ignore=true hidden=true <CR>", "Find all" },
|
["<C-x>"] = { "<cmd> Telescope find_files follow=true no_ignore=true hidden=true <CR>", "Find all" },
|
||||||
["<C-f>"] = { "<cmd> Telescope live_grep <CR>", "Live grep" },
|
["<C-f>"] = { "<cmd> Telescope live_grep <CR>", "Live grep" },
|
||||||
["<C-b>"] = { "<cmd> Telescope buffers <CR>", "Find buffers" },
|
["<C-b>"] = { "<cmd> Telescope buffers <CR>", "Find buffers" },
|
||||||
|
|
||||||
["<leader>fg"] = { "<cmd> lua require('telescope.builtin').live_grep({default_text=vim.fn.getreg('/')}) <CR>", "Live grep with actual search value as prefix" },
|
["<leader>ff"] = {
|
||||||
["<leader>gf"] = { "<cmd> lua require('telescope.builtin').find_files({default_text=vim.fn.getreg('/')}) <CR>", "Live grep with actual search value as prefix" },
|
"<cmd> lua require('telescope.builtin').live_grep({default_text='<<<<<<< HEAD'}) <CR>",
|
||||||
["<leader>ac"] = { ":execute 'vimgrep' input('Pattern >', getreg('/')) '**/*' <CR>", "add search term files in quickfix list" },
|
"Search for git conflicts",
|
||||||
-- ["<leader>qr"] = { ":execute 'cdo' '%s/' . input('Search term >', getreg('/')) . '/' . input('Replace by >', getreg('')) . '/g | update' <CR>", "Replace pattern in all quickfix list" },
|
},
|
||||||
["<leader>qr"] = { ":cdo '%s/' . input('Search term >', getreg('/')) . '/' . input('Replace by >', '') . '/g | update' <CR>", "Replace pattern in all quickfix list" },
|
|
||||||
["<leader>br"] = { ":execute '%s/' . input('Search term >', getreg('/')) . '/' . input('Replace by >', '') . '/g | update' <CR>", "Replace pattern in current buffer" },
|
|
||||||
|
|
||||||
["<leader>ql"] = { "<cmd> Telescope quickfix <CR>", "Show quickfix list" },
|
["<leader>fg<CR>"] = { "<cmd> lua require('telescope.builtin').live_grep({}) <CR>", "Live grep" },
|
||||||
["<leader>qn"] = { ":cnext<CR>", "Jump to next in quickfix list" },
|
["<leader>fg/"] = {
|
||||||
["<leader>qp"] = { ":cprevious<CR>", "Jump to previous in quickfix list" },
|
"<cmd> lua require('telescope.builtin').live_grep({default_text=vim.fn.getreg('/')}) <CR>",
|
||||||
|
"Live grep with search term",
|
||||||
|
},
|
||||||
|
["<leader>fgw"] = {
|
||||||
|
"<cmd> lua require('telescope.builtin').live_grep({default_text=vim.fn.expand('<cword>')}) <CR>",
|
||||||
|
"Live grep with current word",
|
||||||
|
},
|
||||||
|
|
||||||
["<leader>ll"] = { "<cmd> Telescope loclist <CR>", "Show loclist list" },
|
["<leader>gf<CR>"] = { "<cmd> lua require('telescope.builtin').find_files({}) <CR>", "Find files" },
|
||||||
|
["<leader>gf/"] = {
|
||||||
|
"<cmd> lua require('telescope.builtin').find_files({default_text=vim.fn.getreg('/')}) <CR>",
|
||||||
|
"Find files with search term",
|
||||||
|
},
|
||||||
|
["<leader>gfw"] = {
|
||||||
|
"<cmd> lua require('telescope.builtin').find_files({default_text=vim.fn.expand('<cword>')}) <CR>",
|
||||||
|
"Find files with current word",
|
||||||
|
},
|
||||||
|
|
||||||
|
["<leader>br<CR>"] = {
|
||||||
|
":execute '%s/' . input('Search term >') . '/' . input('Replace by >', '') . '/g | update' <CR>",
|
||||||
|
"Replace pattern in current buffer",
|
||||||
|
},
|
||||||
|
["<leader>br/"] = {
|
||||||
|
":execute '%s/' . input('Search term >', getreg('/')) . '/' . input('Replace by >', '') . '/g | update' <CR>",
|
||||||
|
"Replace search term pattern in current buffer",
|
||||||
|
},
|
||||||
|
["<leader>brw"] = {
|
||||||
|
":execute '%s/' . input('Search term >', expand('<cword>')) . '/' . input('Replace by >', '') . '/g | update' <CR>",
|
||||||
|
"Replace current word pattern in current buffer",
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Quickfix list
|
||||||
|
["<leader>ql"] = { "<cmd> Telescope quickfix <CR>", "Show qflist" },
|
||||||
|
["<leader>qn"] = { ":cnext<CR>", "Jump to next in qflist" },
|
||||||
|
["]q"] = { ":cnext<CR>", "Jump to next in qflist" },
|
||||||
|
["<leader>qp"] = { ":cprevious<CR>", "Jump to previous in qflist" },
|
||||||
|
["[q"] = { ":cprevious<CR>", "Jump to previous in qflist" },
|
||||||
|
["<leader>qc"] = { ":call setqflist([]) | cclose<CR>", "Clear qflist" },
|
||||||
|
|
||||||
|
-- Quickfix replace all
|
||||||
|
["<leader>qr<CR>"] = {
|
||||||
|
":execute 'cfdo' '%s/' . input('Search term >') . '/' . input('Replace by >') . '/gI | update' <CR>",
|
||||||
|
"Replace pattern in all qflist",
|
||||||
|
},
|
||||||
|
["<leader>qr/"] = {
|
||||||
|
":execute 'cfdo' '%s/' . input('Search term >', getreg('/')) . '/' . input('Replace by >') . '/gI | update' <CR>",
|
||||||
|
"Replace search term in all qflist",
|
||||||
|
},
|
||||||
|
["<leader>qrw"] = {
|
||||||
|
":execute 'cfdo' '%s/' . input('Search term >', expand('<cword>')) . '/' . input('Replace by >') . '/gI | update' <CR>",
|
||||||
|
"Replace current word in all qflist",
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Quickfix "search"
|
||||||
|
["<leader>qs<CR>"] = {
|
||||||
|
":execute 'vimgrep' '/' . input('Pattern >') . '\\C/' '**/*' <CR>",
|
||||||
|
"Add <> files in qflist",
|
||||||
|
},
|
||||||
|
["<leader>qs/"] = {
|
||||||
|
":execute 'vimgrep' '/' . input('Pattern >', getreg('/')) . '\\C/' '**/*' <CR>",
|
||||||
|
"Add search term files in qflist",
|
||||||
|
},
|
||||||
|
["<leader>qsw"] = {
|
||||||
|
":execute 'vimgrep' '/' . input('Pattern >', expand('<cword>')) . '\\C/' '**/*' <CR>",
|
||||||
|
"Add current word files in qflist",
|
||||||
|
},
|
||||||
|
|
||||||
|
-- Loclist list
|
||||||
|
["<leader>ll"] = { "<cmd> Telescope loclist <CR>", "Show loclist" },
|
||||||
["<leader>ln"] = { ":lnext<CR>", "Jump to next in loclist" },
|
["<leader>ln"] = { ":lnext<CR>", "Jump to next in loclist" },
|
||||||
|
["]l"] = { ":lnext<CR>", "Jump to next in loclist" },
|
||||||
["<leader>lp"] = { ":lprevious<CR>", "Jump to previous in loclist" },
|
["<leader>lp"] = { ":lprevious<CR>", "Jump to previous in loclist" },
|
||||||
|
["[l"] = { ":lprevious<CR>", "Jump to previous in loclist" },
|
||||||
|
["<leader>lc"] = { ":call setloclist([]) | lclose<CR>", "Clear loclist" },
|
||||||
|
|
||||||
["<leader>fh"] = { "<cmd> Telescope help_tags <CR>", "Help page" },
|
["<leader>fh"] = { "<cmd> Telescope help_tags <CR>", "Help page" },
|
||||||
["<leader>fo"] = { "<cmd> Telescope oldfiles <CR>", "Find oldfiles" },
|
["<leader>fo"] = { "<cmd> Telescope oldfiles <CR>", "Find oldfiles" },
|
||||||
["<leader>fz"] = { "<cmd> Telescope current_buffer_fuzzy_find <CR>", "Find in current buffer" },
|
["<leader>fx<CR>"] = { "<cmd> Telescope current_buffer_fuzzy_find <CR>", "Find in current buffer" },
|
||||||
|
["<leader>fx/"] = {
|
||||||
|
"<cmd> lua require('telescope.builtin').current_buffer_fuzzy_find({default_text=vim.fn.getreg('/')}) <CR>",
|
||||||
|
"Fuzzy find in current buffer with actual search",
|
||||||
|
},
|
||||||
|
["<leader>fxw"] = {
|
||||||
|
"<cmd> lua require('telescope.builtin').current_buffer_fuzzy_find({default_text=vim.fn.expand('<cword>')}) <CR>",
|
||||||
|
"Fuzzy find in current buffer with current word",
|
||||||
|
},
|
||||||
|
|
||||||
["<leader>wl"] = { "<cmd> Telescope workspaces <CR>", "Find workspaces" },
|
["<leader>wl"] = { "<cmd> Telescope workspaces <CR>", "Find workspaces" },
|
||||||
|
|
||||||
|
["<leader>gm"] = { "<cmd> lua require('custom.telescope').cpickers()<CR>", "Commonly used commands" },
|
||||||
-- git
|
-- git
|
||||||
--- Commits
|
--- Commits
|
||||||
["<leader>gc"] = { "<cmd> lua require('custom.telescope').my_git_commits()<CR>", "Custom Git commits" },
|
["<leader>gc"] = { "<cmd> lua require('custom.telescope').my_git_commits()<CR>", "Custom Git commits" },
|
||||||
@@ -370,8 +531,7 @@ M.telescope = {
|
|||||||
["<leader>pt"] = { "<cmd> Telescope terms <CR>", "Pick hidden term" },
|
["<leader>pt"] = { "<cmd> Telescope terms <CR>", "Pick hidden term" },
|
||||||
|
|
||||||
-- theme switcher
|
-- theme switcher
|
||||||
["<leader>th"] = { "<cmd> Telescope themes <CR>", "Nvchad themes" },
|
-- ["<leader>th"] = { "<cmd> Telescope themes <CR>", "Nvchad themes" },
|
||||||
|
|
||||||
["<leader>ma"] = { "<cmd> Telescope marks <CR>", "telescope bookmarks" },
|
["<leader>ma"] = { "<cmd> Telescope marks <CR>", "telescope bookmarks" },
|
||||||
|
|
||||||
-- History
|
-- History
|
||||||
@@ -379,8 +539,16 @@ M.telescope = {
|
|||||||
["<leader>/"] = { "<cmd> Telescope search_history <CR>", "telescope search history" },
|
["<leader>/"] = { "<cmd> Telescope search_history <CR>", "telescope search history" },
|
||||||
|
|
||||||
-- Diaglist: LSP diagnostics in quick/loc list
|
-- Diaglist: LSP diagnostics in quick/loc list
|
||||||
["<leader>dw"] = { "<cmd>lua require('diaglist').open_all_diagnostics()<CR>", "Open all open buffers diagnostics in quickfix list" },
|
["<leader>dw"] = {
|
||||||
["<leader>d0"] = { "<cmd>lua require('diaglist').open_buffer_diagnostics()<CR>", "Open current buffer diagnostics in loclist list" },
|
"<cmd>lua require('diaglist').open_all_diagnostics()<CR>",
|
||||||
|
"Open all open buffers diagnostics in qflist",
|
||||||
|
},
|
||||||
|
["<leader>d0"] = {
|
||||||
|
"<cmd>lua require('diaglist').open_buffer_diagnostics()<CR>",
|
||||||
|
"Open current buffer diagnostics in loclist",
|
||||||
|
},
|
||||||
|
|
||||||
|
["<leader>;"] = { "<cmd> Telescope <CR>", "Open Telescope" },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -548,7 +716,7 @@ M.gitsigns = {
|
|||||||
"Blame line",
|
"Blame line",
|
||||||
},
|
},
|
||||||
|
|
||||||
["<leader>td"] = {
|
["<leader>bd"] = {
|
||||||
function()
|
function()
|
||||||
require("gitsigns").toggle_deleted()
|
require("gitsigns").toggle_deleted()
|
||||||
end,
|
end,
|
||||||
@@ -557,4 +725,16 @@ M.gitsigns = {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local all_modes = {
|
||||||
|
-- Override all delete/yank/paste to use the registers M by default
|
||||||
|
["y"] = { '"my', "Yank", { remap = false } },
|
||||||
|
["p"] = { '"mp', "Paste", { remap = false } },
|
||||||
|
["d"] = { '"md', "Delete", { remap = false } },
|
||||||
|
|
||||||
|
["<leader>y"] = { '"+y', "Yank into system register", { remap = false } },
|
||||||
|
["<leader>p"] = { '"+p', "Paste from system register", { remap = false } },
|
||||||
|
}
|
||||||
|
|
||||||
|
M.general[{ "n", "v" }] = all_modes
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|||||||
+5
-2
@@ -8,11 +8,14 @@ M.load_config = function()
|
|||||||
if chadrc_path then
|
if chadrc_path then
|
||||||
local chadrc = dofile(chadrc_path)
|
local chadrc = dofile(chadrc_path)
|
||||||
|
|
||||||
config.mappings = M.remove_disabled_keys(chadrc.mappings, require "core.mappings")
|
config.mappings = M.remove_disabled_keys(chadrc.mappings, config.mappings)
|
||||||
config = merge_tb("force", config, chadrc)
|
config = merge_tb("force", config, chadrc)
|
||||||
|
config.mappings.disabled = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
config.mappings.disabled = nil
|
-- print(vim.inspect(config))
|
||||||
|
-- print(config)
|
||||||
|
-- print(vim.inspect(config.ui.statusline))
|
||||||
return config
|
return config
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
+37
-1
@@ -6,10 +6,46 @@ local highlights = require "custom.highlights"
|
|||||||
|
|
||||||
M.ui = {
|
M.ui = {
|
||||||
theme = "onedark",
|
theme = "onedark",
|
||||||
theme_toggle = { "onedark", "monekai" },
|
theme_toggle = { "onedark", "onedark" },
|
||||||
|
|
||||||
hl_override = highlights.override,
|
hl_override = highlights.override,
|
||||||
hl_add = highlights.add,
|
hl_add = highlights.add,
|
||||||
|
|
||||||
|
statusline = {
|
||||||
|
order = {
|
||||||
|
"macro",
|
||||||
|
"mode",
|
||||||
|
"relativepath",
|
||||||
|
"file",
|
||||||
|
"git",
|
||||||
|
"%=",
|
||||||
|
"lsp_msg",
|
||||||
|
"%=",
|
||||||
|
"diagnostics",
|
||||||
|
"lsp",
|
||||||
|
"cwd",
|
||||||
|
"cursor",
|
||||||
|
},
|
||||||
|
modules = {
|
||||||
|
macro = function()
|
||||||
|
local noice = require "noice"
|
||||||
|
if noice.api.statusline.mode.has() then
|
||||||
|
return "%#St_CommandMode#" .. noice.api.statusline.mode.get()
|
||||||
|
end
|
||||||
|
return ""
|
||||||
|
end,
|
||||||
|
relativepath = function()
|
||||||
|
local stbufnr = vim.api.nvim_win_get_buf(vim.g.statusline_winid or 0)
|
||||||
|
local path = vim.api.nvim_buf_get_name(stbufnr)
|
||||||
|
|
||||||
|
if path == "" then
|
||||||
|
return ""
|
||||||
|
end
|
||||||
|
|
||||||
|
return "%#St_relativepath# " .. vim.fn.expand "%:.:h" .. " /"
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
M.plugins = "custom.plugins"
|
M.plugins = "custom.plugins"
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
local C = {
|
||||||
|
{ "Replace {{X}} with {{ X }} in jinja template", "%s/{{\\(.[^ ]*\\)}}/{{ \\1 }}/g" },
|
||||||
|
}
|
||||||
|
|
||||||
|
return C
|
||||||
@@ -4,6 +4,7 @@ local capabilities = require("plugins.configs.lspconfig").capabilities
|
|||||||
local lspconfig = require "lspconfig"
|
local lspconfig = require "lspconfig"
|
||||||
|
|
||||||
-- if you just want default config for the servers then put them in a table
|
-- if you just want default config for the servers then put them in a table
|
||||||
|
-- local servers = { "html", "cssls", "tsserver", "clangd", "salt_ls", "pyright", "jedi_language_server" }
|
||||||
local servers = { "html", "cssls", "tsserver", "clangd", "salt_ls" }
|
local servers = { "html", "cssls", "tsserver", "clangd", "salt_ls" }
|
||||||
|
|
||||||
for _, lsp in ipairs(servers) do
|
for _, lsp in ipairs(servers) do
|
||||||
@@ -12,6 +13,3 @@ for _, lsp in ipairs(servers) do
|
|||||||
capabilities = capabilities,
|
capabilities = capabilities,
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
--
|
|
||||||
-- lspconfig.pyright.setup { blabla}
|
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
local present, null_ls = pcall(require, "null-ls")
|
local present, null_ls = pcall(require, "null-ls")
|
||||||
|
|
||||||
|
if true then
|
||||||
|
return
|
||||||
|
end
|
||||||
if not present then
|
if not present then
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
@@ -10,7 +13,7 @@ local sources = {
|
|||||||
|
|
||||||
-- webdev stuff
|
-- webdev stuff
|
||||||
b.formatting.deno_fmt, -- choosed deno for ts/js files cuz its very fast!
|
b.formatting.deno_fmt, -- choosed deno for ts/js files cuz its very fast!
|
||||||
b.formatting.prettier.with { filetypes = { "html", "markdown", "css" } }, -- so prettier works only on these filetypes
|
b.formatting.prettier.with { filetypes = { "html", "markdown", "css", "js" }, extra_args = { "--tab-width 4" } }, -- so prettier works only on these filetypes
|
||||||
|
|
||||||
-- Lua
|
-- Lua
|
||||||
b.formatting.stylua,
|
b.formatting.stylua,
|
||||||
|
|||||||
@@ -2,6 +2,12 @@
|
|||||||
|
|
||||||
local previewers = require('telescope.previewers')
|
local previewers = require('telescope.previewers')
|
||||||
local builtin = require('telescope.builtin')
|
local builtin = require('telescope.builtin')
|
||||||
|
local pickers = require("telescope.pickers")
|
||||||
|
local finders = require("telescope.finders")
|
||||||
|
local actions = require("telescope.actions")
|
||||||
|
local action_state = require("telescope.actions.state")
|
||||||
|
local conf = require("telescope.config").values
|
||||||
|
|
||||||
local E = {}
|
local E = {}
|
||||||
|
|
||||||
local delta = previewers.new_termopen_previewer {
|
local delta = previewers.new_termopen_previewer {
|
||||||
@@ -58,4 +64,44 @@ E.project_files = function()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local custom_commands = require("custom.commands")
|
||||||
|
|
||||||
|
E.cpickers = function(opts)
|
||||||
|
opts = opts or {}
|
||||||
|
pickers.new(opts, {
|
||||||
|
prompt_title = "Commands",
|
||||||
|
|
||||||
|
finder = finders.new_table {
|
||||||
|
results = custom_commands,
|
||||||
|
entry_maker = function(entry)
|
||||||
|
return {
|
||||||
|
value = entry,
|
||||||
|
display = entry[1],
|
||||||
|
ordinal = entry[2],
|
||||||
|
}
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
previewer = previewers.new_buffer_previewer {
|
||||||
|
title = "Custom commands preview",
|
||||||
|
define_preview = function (self, entry, _)
|
||||||
|
vim.api.nvim_buf_set_lines(self.state.bufnr, 0, -1, false, {
|
||||||
|
entry['ordinal'],
|
||||||
|
})
|
||||||
|
end
|
||||||
|
},
|
||||||
|
|
||||||
|
attach_mappings = function(prompt_bufnr, _)
|
||||||
|
actions.select_default:replace(function()
|
||||||
|
actions.close(prompt_bufnr)
|
||||||
|
local selection = action_state.get_selected_entry()
|
||||||
|
vim.cmd(selection.ordinal)
|
||||||
|
end)
|
||||||
|
return true
|
||||||
|
end,
|
||||||
|
|
||||||
|
sorter = conf.generic_sorter(opts),
|
||||||
|
}):find()
|
||||||
|
end
|
||||||
|
|
||||||
return E
|
return E
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ local formatting_style = {
|
|||||||
fields = field_arrangement[cmp_style] or { "abbr", "kind", "menu" },
|
fields = field_arrangement[cmp_style] or { "abbr", "kind", "menu" },
|
||||||
|
|
||||||
format = function(_, item)
|
format = function(_, item)
|
||||||
local icons = require("nvchad_ui.icons").lspkind
|
local icons = require "nvchad.icons.lspkind"
|
||||||
local icon = (cmp_ui.icons and icons[item.kind]) or ""
|
local icon = (cmp_ui.icons and icons[item.kind]) or ""
|
||||||
|
|
||||||
if cmp_style == "atom" or cmp_style == "atom_colored" then
|
if cmp_style == "atom" or cmp_style == "atom_colored" then
|
||||||
@@ -52,7 +52,7 @@ local options = {
|
|||||||
window = {
|
window = {
|
||||||
completion = {
|
completion = {
|
||||||
side_padding = (cmp_style ~= "atom" and cmp_style ~= "atom_colored") and 1 or 0,
|
side_padding = (cmp_style ~= "atom" and cmp_style ~= "atom_colored") and 1 or 0,
|
||||||
winhighlight = "Normal:CmpPmenu,CursorLine:CmpSel,Search:PmenuSel",
|
winhighlight = "Normal:CmpPmenu,CursorLine:CmpSel,Search:None",
|
||||||
scrollbar = false,
|
scrollbar = false,
|
||||||
},
|
},
|
||||||
documentation = {
|
documentation = {
|
||||||
@@ -76,8 +76,8 @@ local options = {
|
|||||||
["<C-Space>"] = cmp.mapping.complete(),
|
["<C-Space>"] = cmp.mapping.complete(),
|
||||||
["<C-e>"] = cmp.mapping.close(),
|
["<C-e>"] = cmp.mapping.close(),
|
||||||
["<CR>"] = cmp.mapping.confirm {
|
["<CR>"] = cmp.mapping.confirm {
|
||||||
behavior = cmp.ConfirmBehavior.Replace,
|
behavior = cmp.ConfirmBehavior.Insert,
|
||||||
select = false,
|
select = true,
|
||||||
},
|
},
|
||||||
["<Tab>"] = cmp.mapping(function(fallback)
|
["<Tab>"] = cmp.mapping(function(fallback)
|
||||||
if cmp.visible() then
|
if cmp.visible() then
|
||||||
|
|||||||
@@ -0,0 +1,138 @@
|
|||||||
|
local M = {
|
||||||
|
port = nil, -- The port of the Go server, which runs in the background, if omitted or `nil` the port will be chosen automatically
|
||||||
|
log_path = vim.fn.stdpath("cache") .. "/gitlab.nvim.log", -- Log path for the Go server
|
||||||
|
config_path = nil, -- Custom path for `.gitlab.nvim` file, please read the "Connecting to Gitlab" section
|
||||||
|
debug = {
|
||||||
|
go_request = false,
|
||||||
|
go_response = false,
|
||||||
|
},
|
||||||
|
attachment_dir = nil, -- The local directory for files (see the "summary" section)
|
||||||
|
reviewer_settings = {
|
||||||
|
diffview = {
|
||||||
|
imply_local = false, -- If true, will attempt to use --imply_local option when calling |:DiffviewOpen|
|
||||||
|
},
|
||||||
|
},
|
||||||
|
connection_settings = {
|
||||||
|
insecure = false, -- Like curl's --insecure option, ignore bad x509 certificates on connection
|
||||||
|
},
|
||||||
|
help = "g?", -- Opens a help popup for local keymaps when a relevant view is focused (popup, discussion panel, etc)
|
||||||
|
popup = { -- The popup for comment creation, editing, and replying
|
||||||
|
keymaps = {
|
||||||
|
next_field = "<Tab>", -- Cycle to the next field. Accepts count.
|
||||||
|
prev_field = "<S-Tab>", -- Cycle to the previous field. Accepts count.
|
||||||
|
},
|
||||||
|
perform_action = "<leader>s", -- Once in normal mode, does action (like saving comment or editing description, etc)
|
||||||
|
perform_linewise_action = "<leader>l", -- Once in normal mode, does the linewise action (see logs for this job, etc)
|
||||||
|
width = "50%",
|
||||||
|
height = "80%",
|
||||||
|
border = "rounded", -- One of "
|
||||||
|
opacity = 1.0, -- From 0.0 (fully transparent) to 1.0 (fully opaque)
|
||||||
|
comment = nil, -- Individual popup overrides, e.g. { width = "60%", height = "80%", border = "single", opacity = 0.85 },
|
||||||
|
edit = nil,
|
||||||
|
note = nil,
|
||||||
|
pipeline = nil,
|
||||||
|
reply = nil,
|
||||||
|
squash_message = nil,
|
||||||
|
temp_registers = {}, -- List of registers for backing up popup content (see `:h gitlab.nvim.temp-registers`)
|
||||||
|
},
|
||||||
|
discussion_tree = { -- The discussion tree that holds all comments
|
||||||
|
auto_open = true, -- Automatically open when the reviewer is opened
|
||||||
|
switch_view = "S", -- Toggles between the notes and discussions views
|
||||||
|
default_view = "discussions", -- Show "discussions" or "notes" by default
|
||||||
|
blacklist = {}, -- List of usernames to remove from tree (bots, CI, etc)
|
||||||
|
jump_to_file = "o", -- Jump to comment location in file
|
||||||
|
jump_to_reviewer = "m", -- Jump to the location in the reviewer window
|
||||||
|
edit_comment = "e", -- Edit comment
|
||||||
|
delete_comment = "dd", -- Delete comment
|
||||||
|
reply = "r", -- Reply to comment
|
||||||
|
toggle_node = "t", -- Opens or closes the discussion
|
||||||
|
add_emoji = "Ea", -- Add an emoji to the note/comment
|
||||||
|
-- add_emoji = "Ed", -- Remove an emoji from a note/comment
|
||||||
|
toggle_all_discussions = "T", -- Open or close separately both resolved and unresolved discussions
|
||||||
|
toggle_resolved_discussions = "R", -- Open or close all resolved discussions
|
||||||
|
toggle_unresolved_discussions = "U", -- Open or close all unresolved discussions
|
||||||
|
keep_current_open = false, -- If true, current discussion stays open even if it should otherwise be closed when toggling
|
||||||
|
publish_draft = "P", -- Publishes the currently focused note/comment
|
||||||
|
toggle_resolved = "p", -- Toggles the resolved status of the whole discussion
|
||||||
|
position = "left", -- "top", "right", "bottom" or "left"
|
||||||
|
open_in_browser = "b", -- Jump to the URL of the current note/discussion
|
||||||
|
copy_node_url = "u", -- Copy the URL of the current node to clipboard
|
||||||
|
size = "30%", -- Size of split
|
||||||
|
relative = "editor", -- Position of tree split relative to "editor" or "window"
|
||||||
|
resolved = '✓', -- Symbol to show next to resolved discussions
|
||||||
|
unresolved = '✗', -- Symbol to show next to unresolved discussions
|
||||||
|
tree_type = "by_file_name", -- Type of discussion tree - "simple" means just list of discussions, "by_file_name" means file tree with discussions under file
|
||||||
|
toggle_tree_type = "i", -- Toggle type of discussion tree - "simple", or "by_file_name"
|
||||||
|
draft_mode = false, -- Whether comments are posted as drafts as part of a review
|
||||||
|
toggle_draft_mode = "D", -- Toggle between draft mode (comments posted as drafts) and live mode (comments are posted immediately)
|
||||||
|
winbar = nil, -- Custom function to return winbar title, should return a string. Provided with WinbarTable (defined in annotations.lua)
|
||||||
|
-- If using lualine, please add "gitlab" to disabled file types, otherwise you will not see the winbar.
|
||||||
|
},
|
||||||
|
choose_merge_request = {
|
||||||
|
open_reviewer = true, -- Open the reviewer window automatically after switching merge requests
|
||||||
|
},
|
||||||
|
info = { -- Show additional fields in the summary view
|
||||||
|
enabled = true,
|
||||||
|
horizontal = false, -- Display metadata to the left of the summary rather than underneath
|
||||||
|
fields = { -- The fields listed here will be displayed, in whatever order you choose
|
||||||
|
"author",
|
||||||
|
"created_at",
|
||||||
|
"updated_at",
|
||||||
|
"merge_status",
|
||||||
|
"draft",
|
||||||
|
"conflicts",
|
||||||
|
"assignees",
|
||||||
|
"reviewers",
|
||||||
|
"pipeline",
|
||||||
|
"branch",
|
||||||
|
"target_branch",
|
||||||
|
"delete_branch",
|
||||||
|
"squash",
|
||||||
|
"labels",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
discussion_signs = {
|
||||||
|
enabled = true, -- Show diagnostics for gitlab comments in the reviewer
|
||||||
|
skip_resolved_discussion = false, -- Show diagnostics for resolved discussions
|
||||||
|
severity = vim.diagnostic.severity.INFO, -- ERROR, WARN, INFO, or HINT
|
||||||
|
virtual_text = false, -- Whether to show the comment text inline as floating virtual text
|
||||||
|
priority = 100, -- Higher will override LSP warnings, etc
|
||||||
|
icons = {
|
||||||
|
comment = "→|",
|
||||||
|
range = " |",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
pipeline = {
|
||||||
|
created = "",
|
||||||
|
pending = "",
|
||||||
|
preparing = "",
|
||||||
|
scheduled = "",
|
||||||
|
running = "",
|
||||||
|
canceled = "↪",
|
||||||
|
skipped = "↪",
|
||||||
|
success = "✓",
|
||||||
|
failed = "",
|
||||||
|
},
|
||||||
|
create_mr = {
|
||||||
|
target = "master", -- Default branch to target when creating an MR
|
||||||
|
template_file = nil, -- Default MR template in .gitlab/merge_request_templates
|
||||||
|
delete_branch = false, -- Whether the source branch will be marked for deletion
|
||||||
|
squash = false, -- Whether the commits will be marked for squashing
|
||||||
|
title_input = { -- Default settings for MR title input window
|
||||||
|
width = 40,
|
||||||
|
border = "rounded",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
colors = {
|
||||||
|
discussion_tree = {
|
||||||
|
username = "Keyword",
|
||||||
|
date = "Comment",
|
||||||
|
chevron = "DiffviewNonText",
|
||||||
|
directory = "Directory",
|
||||||
|
directory_icon = "DiffviewFolderSign",
|
||||||
|
file_name = "Normal",
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return M
|
||||||
@@ -1,22 +1,21 @@
|
|||||||
dofile(vim.g.base46_cache .. "lsp")
|
dofile(vim.g.base46_cache .. "lsp")
|
||||||
require "nvchad_ui.lsp"
|
require "nvchad.lsp"
|
||||||
|
|
||||||
local M = {}
|
local M = {}
|
||||||
local utils = require "core.utils"
|
local utils = require "core.utils"
|
||||||
|
|
||||||
-- export on_attach & capabilities for custom lspconfigs
|
-- export on_attach & capabilities for custom lspconfigs
|
||||||
|
|
||||||
M.on_attach = function(client, bufnr)
|
M.on_attach = function(client, bufnr)
|
||||||
client.server_capabilities.documentFormattingProvider = false
|
|
||||||
client.server_capabilities.documentRangeFormattingProvider = false
|
|
||||||
|
|
||||||
utils.load_mappings("lspconfig", { buffer = bufnr })
|
utils.load_mappings("lspconfig", { buffer = bufnr })
|
||||||
|
|
||||||
if client.server_capabilities.signatureHelpProvider then
|
if client.server_capabilities.signatureHelpProvider then
|
||||||
require("nvchad_ui.signature").setup(client)
|
require("nvchad.signature").setup(client)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if not utils.load_config().ui.lsp_semantic_tokens then
|
-- disable semantic tokens
|
||||||
|
M.on_init = function(client, _)
|
||||||
|
if not utils.load_config().ui.lsp_semantic_tokens and client.supports_method "textDocument/semanticTokens" then
|
||||||
client.server_capabilities.semanticTokensProvider = nil
|
client.server_capabilities.semanticTokensProvider = nil
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@@ -41,9 +40,19 @@ M.capabilities.textDocument.completion.completionItem = {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
M.capabilities.textDocument.publishDiagnostics.tagSupport.valueSet = { 2 }
|
||||||
|
|
||||||
|
-- LSP settings (for overriding per client)
|
||||||
|
M.handlers = {
|
||||||
|
["textDocument/hover"] = vim.lsp.with(vim.lsp.handlers.hover, { border = "rounded" }),
|
||||||
|
["textDocument/signatureHelp"] = vim.lsp.with(vim.lsp.handlers.signature_help, { border = "rounded" }),
|
||||||
|
}
|
||||||
|
|
||||||
require("lspconfig").lua_ls.setup {
|
require("lspconfig").lua_ls.setup {
|
||||||
|
on_init = M.on_init,
|
||||||
on_attach = M.on_attach,
|
on_attach = M.on_attach,
|
||||||
capabilities = M.capabilities,
|
capabilities = M.capabilities,
|
||||||
|
handlers = M.handlers,
|
||||||
|
|
||||||
settings = {
|
settings = {
|
||||||
Lua = {
|
Lua = {
|
||||||
@@ -54,7 +63,7 @@ require("lspconfig").lua_ls.setup {
|
|||||||
library = {
|
library = {
|
||||||
[vim.fn.expand "$VIMRUNTIME/lua"] = true,
|
[vim.fn.expand "$VIMRUNTIME/lua"] = true,
|
||||||
[vim.fn.expand "$VIMRUNTIME/lua/vim/lsp"] = true,
|
[vim.fn.expand "$VIMRUNTIME/lua/vim/lsp"] = true,
|
||||||
[vim.fn.stdpath "data" .. "/lazy/extensions/nvchad_types"] = true,
|
[vim.fn.stdpath "data" .. "/lazy/ui/nvchad_types"] = true,
|
||||||
[vim.fn.stdpath "data" .. "/lazy/lazy.nvim/lua/lazy"] = true,
|
[vim.fn.stdpath "data" .. "/lazy/lazy.nvim/lua/lazy"] = true,
|
||||||
},
|
},
|
||||||
maxPreload = 100000,
|
maxPreload = 100000,
|
||||||
@@ -64,4 +73,82 @@ require("lspconfig").lua_ls.setup {
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- local capabilities = vim.lsp.protocol.make_client_capabilities()
|
||||||
|
-- capabilities.textDocument.publishDiagnostics.tagSupport.valueSet = { 2 }
|
||||||
|
|
||||||
|
require("lspconfig").pyright.setup {
|
||||||
|
on_init = M.on_init,
|
||||||
|
on_attach = M.on_attach,
|
||||||
|
capabilities = M.capabilities,
|
||||||
|
handlers = M.handlers,
|
||||||
|
|
||||||
|
settings = {
|
||||||
|
pyright = {
|
||||||
|
-- Options available here: https://github.com/microsoft/pyright/blob/main/docs/settings.md
|
||||||
|
disableOrganizeImports = true, -- Using Ruff
|
||||||
|
-- disableLanguageServices = true, -- Using Ruff
|
||||||
|
},
|
||||||
|
python = {
|
||||||
|
analysis = {
|
||||||
|
-- ignore = { "*" }, -- Using Ruff
|
||||||
|
-- typeCheckingMode = "off", -- Using mypy
|
||||||
|
diagnosticSeverityOverrides = {
|
||||||
|
reportMissingImports = false,
|
||||||
|
reportAttributeAccessIssue = false,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
-- -- This can be used for removing message based on regex etc. For now, all those message are disabled by the tagSupport.valueSet
|
||||||
|
-- local function filter(arr, func)
|
||||||
|
-- -- Filter in place
|
||||||
|
-- -- https://stackoverflow.com/questions/49709998/how-to-filter-a-lua-array-inplace
|
||||||
|
-- local new_index = 1
|
||||||
|
-- local size_orig = #arr
|
||||||
|
-- for old_index, v in ipairs(arr) do
|
||||||
|
-- if func(v, old_index) then
|
||||||
|
-- arr[new_index] = v
|
||||||
|
-- new_index = new_index + 1
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
-- for i = new_index, size_orig do
|
||||||
|
-- arr[i] = nil
|
||||||
|
-- end
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- local function filter_diagnostics(diagnostic)
|
||||||
|
-- -- Only filter out Pyright stuff for now
|
||||||
|
-- if diagnostic.source ~= "Pyright" then
|
||||||
|
-- return true
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- -- Allow kwargs to be unused, sometimes you want many functions to take the
|
||||||
|
-- -- same arguments but you don't use all the arguments in all the functions,
|
||||||
|
-- -- so kwargs is used to suck up all the extras
|
||||||
|
-- if diagnostic.message == '"kwargs" is not accessed' then
|
||||||
|
-- return false
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- -- Allow variables starting with an underscore
|
||||||
|
-- if string.match(diagnostic.message, '"_.+" is not accessed') then
|
||||||
|
-- return false
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- -- For now, remove all not accessed message. I will still have assigned but not accessed message!
|
||||||
|
-- if string.match(diagnostic.message, '".+" is not accessed') then
|
||||||
|
-- return false
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- return true
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- local function custom_on_publish_diagnostics(a, params, client_id, c)
|
||||||
|
-- filter(params.diagnostics, filter_diagnostics)
|
||||||
|
-- vim.lsp.diagnostic.on_publish_diagnostics(a, params, client_id, c)
|
||||||
|
-- end
|
||||||
|
--
|
||||||
|
-- vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(custom_on_publish_diagnostics, {})
|
||||||
|
|
||||||
return M
|
return M
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
local options = {
|
local options = {
|
||||||
ensure_installed = { "lua-language-server" }, -- not an option from mason.nvim
|
ensure_installed = { "lua-language-server" }, -- not an option from mason.nvim
|
||||||
|
|
||||||
PATH = "skip",
|
PATH = "prepand",
|
||||||
|
|
||||||
ui = {
|
ui = {
|
||||||
icons = {
|
icons = {
|
||||||
|
|||||||
@@ -0,0 +1,46 @@
|
|||||||
|
local M = {
|
||||||
|
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,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
-- you can enable a preset for easier configuration
|
||||||
|
presets = {
|
||||||
|
bottom_search = true, -- 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
|
||||||
|
},
|
||||||
|
views = {
|
||||||
|
cmdline_popup = {
|
||||||
|
-- border = {
|
||||||
|
-- style = "none",
|
||||||
|
-- padding = { 2, 3 },
|
||||||
|
-- },
|
||||||
|
-- position = {
|
||||||
|
-- row = "85%",
|
||||||
|
-- col = "50%",
|
||||||
|
-- },
|
||||||
|
size = {
|
||||||
|
width = 120,
|
||||||
|
height = "auto",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
popupmenu = {
|
||||||
|
-- relative = "editor",
|
||||||
|
-- position = {
|
||||||
|
-- row = 25,
|
||||||
|
-- col = "50%",
|
||||||
|
-- },
|
||||||
|
size = {
|
||||||
|
width = 120,
|
||||||
|
-- height = 10,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
return M
|
||||||
@@ -51,12 +51,12 @@ end
|
|||||||
|
|
||||||
M.gitsigns = {
|
M.gitsigns = {
|
||||||
signs = {
|
signs = {
|
||||||
add = { hl = "DiffAdd", text = "│", numhl = "GitSignsAddNr" },
|
add = { text = "│" },
|
||||||
change = { hl = "DiffChange", text = "│", numhl = "GitSignsChangeNr" },
|
change = { text = "│" },
|
||||||
delete = { hl = "DiffDelete", text = "", numhl = "GitSignsDeleteNr" },
|
delete = { text = "" },
|
||||||
topdelete = { hl = "DiffDelete", text = "‾", numhl = "GitSignsDeleteNr" },
|
topdelete = { text = "‾" },
|
||||||
changedelete = { hl = "DiffChangeDelete", text = "~", numhl = "GitSignsChangeNr" },
|
changedelete = { text = "~" },
|
||||||
untracked = { hl = "GitSignsAdd", text = "│", numhl = "GitSignsAddNr", linehl = "GitSignsAddLn" },
|
untracked = { text = "│" },
|
||||||
},
|
},
|
||||||
on_attach = function(bufnr)
|
on_attach = function(bufnr)
|
||||||
utils.load_mappings("gitsigns", { buffer = bufnr })
|
utils.load_mappings("gitsigns", { buffer = bufnr })
|
||||||
|
|||||||
@@ -1,47 +1,48 @@
|
|||||||
-- See: https://github.com/neovim/nvim-lspconfig/tree/54eb2a070a4f389b1be0f98070f81d23e2b1a715#suggested-configuration
|
-- See: https://github.com/neovim/nvim-lspconfig/tree/54eb2a070a4f389b1be0f98070f81d23e2b1a715#suggested-configuration
|
||||||
local opts = { noremap = true, silent = true }
|
local opts = { noremap = true, silent = true }
|
||||||
vim.keymap.set('n', '<space>k', vim.diagnostic.open_float, opts)
|
vim.keymap.set("n", "<space>k", vim.diagnostic.open_float, opts)
|
||||||
vim.keymap.set('n', '[d', vim.diagnostic.goto_prev, opts)
|
vim.keymap.set("n", "[d", vim.diagnostic.goto_prev, opts)
|
||||||
vim.keymap.set('n', ']d', vim.diagnostic.goto_next, opts)
|
vim.keymap.set("n", "]d", vim.diagnostic.goto_next, opts)
|
||||||
vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts)
|
-- vim.keymap.set('n', '<space>q', vim.diagnostic.setloclist, opts)
|
||||||
|
|
||||||
-- Use an on_attach function to only map the following keys
|
-- Use an on_attach function to only map the following keys
|
||||||
-- after the language server attaches to the current buffer
|
-- after the language server attaches to the current buffer
|
||||||
local on_attach = function(client, bufnr)
|
local on_attach = function(client, bufnr)
|
||||||
-- Enable completion triggered by <c-x><c-o>
|
-- Enable completion triggered by <c-x><c-o>
|
||||||
vim.api.nvim_buf_set_option(bufnr, 'omnifunc', 'v:lua.vim.lsp.omnifunc')
|
vim.api.nvim_buf_set_option(bufnr, "omnifunc", "v:lua.vim.lsp.omnifunc")
|
||||||
|
|
||||||
-- Mappings.
|
-- Mappings.
|
||||||
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
-- See `:help vim.lsp.*` for documentation on any of the below functions
|
||||||
local bufopts = { noremap = true, silent = true, buffer = bufnr }
|
local bufopts = { noremap = true, silent = true, buffer = bufnr }
|
||||||
vim.keymap.set('n', 'gD', vim.lsp.buf.declaration, bufopts)
|
-- vim.keymap.set("n", "gD", vim.lsp.buf.declaration, bufopts)
|
||||||
vim.keymap.set('n', 'gd', vim.lsp.buf.definition, bufopts)
|
-- vim.keymap.set("n", "gd", vim.lsp.buf.definition, bufopts)
|
||||||
vim.keymap.set('n', 'K', vim.lsp.buf.hover, bufopts)
|
-- vim.keymap.set("n", "K", vim.lsp.buf.hover, bufopts)
|
||||||
vim.keymap.set('n', 'gi', vim.lsp.buf.implementation, bufopts)
|
-- vim.keymap.set("n", "gi", vim.lsp.buf.implementation, bufopts)
|
||||||
vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, bufopts)
|
-- vim.keymap.set('n', '<C-k>', vim.lsp.buf.signature_help, bufopts)
|
||||||
vim.keymap.set('n', '<space>wa', vim.lsp.buf.add_workspace_folder, bufopts)
|
-- vim.keymap.set("n", "<space>wa", vim.lsp.buf.add_workspace_folder, bufopts)
|
||||||
vim.keymap.set('n', '<space>wr', vim.lsp.buf.remove_workspace_folder, bufopts)
|
-- vim.keymap.set("n", "<space>wr", vim.lsp.buf.remove_workspace_folder, bufopts)
|
||||||
vim.keymap.set('n', '<space>wl', function()
|
-- vim.keymap.set("n", "<space>wl", function()
|
||||||
print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
-- print(vim.inspect(vim.lsp.buf.list_workspace_folders()))
|
||||||
end, bufopts)
|
-- end, bufopts)
|
||||||
|
|
||||||
vim.keymap.set('n', '<space>D', vim.lsp.buf.type_definition, bufopts)
|
-- vim.keymap.set("n", "<space>D", vim.lsp.buf.type_definition, bufopts)
|
||||||
vim.keymap.set('n', '<space>rn', vim.lsp.buf.rename, bufopts)
|
-- vim.keymap.set("n", "<space>rn", vim.lsp.buf.rename, bufopts)
|
||||||
vim.keymap.set('n', '<space>ca', vim.lsp.buf.code_action, bufopts)
|
vim.keymap.set("n", "<space>ca", vim.lsp.buf.code_action, bufopts)
|
||||||
vim.keymap.set('n', 'gr', vim.lsp.buf.references, bufopts)
|
-- vim.keymap.set("n", "gr", vim.lsp.buf.references, bufopts)
|
||||||
vim.keymap.set('n', '<space>f', function() vim.lsp.buf.format { async = true } end, bufopts)
|
-- vim.keymap.set("n", "<space>f", function()
|
||||||
|
-- vim.lsp.buf.format { async = true }
|
||||||
|
-- end, bufopts)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Configure `ruff-lsp`.
|
-- Configure `ruff-lsp`.
|
||||||
-- See: https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#ruff_lsp
|
-- See: https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md#ruff_lsp
|
||||||
-- For the default config, along with instructions on how to customize the settings
|
-- For the default config, along with instructions on how to customize the settings
|
||||||
require('lspconfig').ruff_lsp.setup {
|
require("lspconfig").ruff_lsp.setup {
|
||||||
on_attach = on_attach,
|
on_attach = on_attach,
|
||||||
init_options = {
|
init_options = {
|
||||||
settings = {
|
settings = {
|
||||||
-- Any extra CLI arguments for `ruff` go here.
|
-- Any extra CLI arguments for `ruff` go here.
|
||||||
args = { "--ignore", "E741" },
|
args = { "--ignore", "E741" },
|
||||||
}
|
},
|
||||||
|
},
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,20 @@
|
|||||||
local custom_actions = {}
|
local custom_actions = {}
|
||||||
local actions = require("telescope.actions")
|
local actions = require("telescope.actions")
|
||||||
|
local lga_actions = require("telescope-live-grep-args.actions")
|
||||||
local action_state = require("telescope.actions.state")
|
local action_state = require("telescope.actions.state")
|
||||||
local from_entry = require("telescope.from_entry")
|
local from_entry = require("telescope.from_entry")
|
||||||
|
local scan = require("plenary.scandir")
|
||||||
|
local pickers = require("telescope.pickers")
|
||||||
|
local finders = require("telescope.finders")
|
||||||
|
local make_entry = require("telescope.make_entry")
|
||||||
|
local action_set = require 'telescope.actions.set'
|
||||||
|
local conf = require('telescope.config').values
|
||||||
|
local builtin = require("telescope.builtin")
|
||||||
|
|
||||||
|
-- Usefull:
|
||||||
|
-- [[
|
||||||
|
-- https://github.com/JoosepAlviste/dotfiles/blob/master/config/nvim/lua/j/telescope_custom_pickers.lua
|
||||||
|
-- ]]
|
||||||
|
|
||||||
|
|
||||||
local entry_to_qf = function(entry)
|
local entry_to_qf = function(entry)
|
||||||
@@ -91,6 +104,122 @@ function custom_actions.multi_selection_vtab(prompt_bufnr)
|
|||||||
return custom_actions._multiopen(prompt_bufnr, "tabe", "tabe", "a", "loclist")
|
return custom_actions._multiopen(prompt_bufnr, "tabe", "tabe", "a", "loclist")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function custom_actions.set_extension(prompt_bufnr)
|
||||||
|
local current_input = action_state.get_current_line()
|
||||||
|
|
||||||
|
vim.ui.input({ prompt = 'Search in extension: *.' }, function(input)
|
||||||
|
if input == nil then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Close and reopen a prompt with the same input
|
||||||
|
actions.close(prompt_bufnr)
|
||||||
|
builtin.live_grep({ default_text = current_input, type_filter = input })
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
|
||||||
|
function custom_actions.to_live_grep_args(prompt_bufnr)
|
||||||
|
local current_input = action_state.get_current_line()
|
||||||
|
|
||||||
|
-- Close and reopen a prompt with live_grep_args
|
||||||
|
actions.close(prompt_bufnr)
|
||||||
|
require("telescope").extensions.live_grep_args.live_grep_args({ default_text = current_input })
|
||||||
|
end
|
||||||
|
|
||||||
|
function custom_actions.set_folders(prompt_bufnr)
|
||||||
|
local current_input = action_state.get_current_line()
|
||||||
|
|
||||||
|
local data = {}
|
||||||
|
scan.scan_dir(vim.loop.cwd(), {
|
||||||
|
hidden = true,
|
||||||
|
only_dirs = true,
|
||||||
|
respect_gitignore = true,
|
||||||
|
on_insert = function(entry)
|
||||||
|
table.insert(data, entry .. "/")
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
table.insert(data, 1, "./")
|
||||||
|
|
||||||
|
actions.close(prompt_bufnr)
|
||||||
|
-- Create a new picker with Telescope to select folders we want to filter in
|
||||||
|
pickers.new({
|
||||||
|
prompt_title = 'Select folders for current ("' .. current_input .. '") search',
|
||||||
|
finder = finders.new_table { results = data, entry_maker = make_entry.gen_from_file {} },
|
||||||
|
previewer = conf.file_previewer {},
|
||||||
|
sorter = conf.file_sorter {},
|
||||||
|
attach_mappings = function(prompt_bufnr2)
|
||||||
|
action_set.select:replace(function()
|
||||||
|
local current_picker = action_state.get_current_picker(prompt_bufnr2)
|
||||||
|
|
||||||
|
local dirs = {}
|
||||||
|
local selections = current_picker:get_multi_selection()
|
||||||
|
if vim.tbl_isempty(selections) then
|
||||||
|
table.insert(dirs, action_state.get_selected_entry().value)
|
||||||
|
else
|
||||||
|
for _, selection in ipairs(selections) do
|
||||||
|
table.insert(dirs, selection.value)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
actions.close(prompt_bufnr2)
|
||||||
|
builtin.live_grep({ default_text = current_input, search_dirs = dirs })
|
||||||
|
end)
|
||||||
|
return true
|
||||||
|
|
||||||
|
end,
|
||||||
|
}):find()
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
function custom_actions.set_files(prompt_bufnr)
|
||||||
|
local current_input = action_state.get_current_line()
|
||||||
|
local find_command = {"rg", "--files", "--color=never", "--no-heading"}
|
||||||
|
actions.close(prompt_bufnr)
|
||||||
|
if current_input ~= "" then
|
||||||
|
find_command = {"rg", "--color=never", "--no-heading", "-l", current_input}
|
||||||
|
end
|
||||||
|
|
||||||
|
local opts = {
|
||||||
|
entry_maker = make_entry.gen_from_file(),
|
||||||
|
find_command = find_command,
|
||||||
|
}
|
||||||
|
|
||||||
|
print(vim.inspect(find_command))
|
||||||
|
-- Create a new picker with Telescope to select files we want to filter in
|
||||||
|
pickers
|
||||||
|
.new(opts, {
|
||||||
|
prompt_title = 'Select files for current ("' .. current_input .. '") search',
|
||||||
|
__locations_input = true,
|
||||||
|
finder = finders.new_oneshot_job(find_command, opts),
|
||||||
|
previewer = conf.grep_previewer(opts),
|
||||||
|
sorter = conf.file_sorter(opts),
|
||||||
|
attach_mappings = function(prompt_bufnr2)
|
||||||
|
actions.select_default:replace(function()
|
||||||
|
local current_picker = action_state.get_current_picker(prompt_bufnr2)
|
||||||
|
|
||||||
|
local files = {}
|
||||||
|
local selections = current_picker:get_multi_selection()
|
||||||
|
if vim.tbl_isempty(selections) then
|
||||||
|
local entry = action_state.get_selected_entry()
|
||||||
|
table.insert(files, entry.value)
|
||||||
|
else
|
||||||
|
for _, selection in ipairs(selections) do
|
||||||
|
table.insert(files, selection.value)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Close the preview picker and select a new one, restricted to the files selected
|
||||||
|
actions.close(prompt_bufnr2)
|
||||||
|
builtin.live_grep({ default_text = current_input, search_dirs = files })
|
||||||
|
end)
|
||||||
|
return true
|
||||||
|
end,
|
||||||
|
})
|
||||||
|
:find()
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
local options = {
|
local options = {
|
||||||
defaults = {
|
defaults = {
|
||||||
vimgrep_arguments = {
|
vimgrep_arguments = {
|
||||||
@@ -157,24 +286,68 @@ local options = {
|
|||||||
find_files = {
|
find_files = {
|
||||||
mappings = {
|
mappings = {
|
||||||
i = {
|
i = {
|
||||||
|
-- Fuzzy refine ("Freeze the current list and start a fuzzy search in the frozen list")
|
||||||
|
["<C-i>"] = actions.to_fuzzy_refine,
|
||||||
|
|
||||||
|
-- Send to qflist or loclist
|
||||||
|
["<C-l>"] = actions.smart_send_to_loclist,
|
||||||
|
["<C-Space>"] = actions.smart_send_to_qflist,
|
||||||
|
|
||||||
|
-- Multi selection open
|
||||||
["<CR>"] = custom_actions.multi_selection_open,
|
["<CR>"] = custom_actions.multi_selection_open,
|
||||||
["<C-V>"] = custom_actions.multi_selection_vsplit,
|
["<C-v>"] = custom_actions.multi_selection_vsplit,
|
||||||
["<C-X>"] = custom_actions.multi_selection_split,
|
["<C-X>"] = custom_actions.multi_selection_split,
|
||||||
["<C-T>"] = custom_actions.multi_selection_tab,
|
["<C-T>"] = custom_actions.multi_selection_tab,
|
||||||
["<C-SPACE>"] = actions.send_selected_to_qflist,
|
},
|
||||||
|
n = i,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
live_grep = {
|
||||||
|
mappings = {
|
||||||
|
i = {
|
||||||
|
-- Fuzzy refine ("Freeze the current list and start a fuzzy search in the frozen list")
|
||||||
|
["<C-i>"] = actions.to_fuzzy_refine,
|
||||||
|
|
||||||
|
-- Send to qflist or loclist
|
||||||
|
["<C-l>"] = actions.smart_send_to_loclist,
|
||||||
|
["<C-Space>"] = actions.smart_send_to_qflist,
|
||||||
|
|
||||||
|
-- To quote prompt -> Pass to live_grep_args
|
||||||
|
["<C-k>"] = custom_actions.to_live_grep_args,
|
||||||
|
|
||||||
|
-- Search for files/folder/extensions
|
||||||
|
["<C-f>"] = custom_actions.set_files,
|
||||||
|
["<C-g>"] = custom_actions.set_folders,
|
||||||
|
["<C-e>"] = custom_actions.set_extension,
|
||||||
},
|
},
|
||||||
n = i,
|
n = i,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
extensions_list = { "themes", "terms", "fzf", "macrothis" },
|
extensions_list = { "themes", "terms", "fzf", "macrothis", "live_grep_args" },
|
||||||
extensions = {
|
extensions = {
|
||||||
fzf = {
|
fzf = {
|
||||||
fuzzy = true,
|
fuzzy = true,
|
||||||
override_generic_sorter = true,
|
override_generic_sorter = true,
|
||||||
override_file_sorter = true,
|
override_file_sorter = true,
|
||||||
case_mode = "smart_case",
|
case_mode = "smart_case",
|
||||||
|
},
|
||||||
|
live_grep_args = {
|
||||||
|
auto_quoting = true,
|
||||||
|
mappings = {
|
||||||
|
i = {
|
||||||
|
-- Fuzzy refine ("Freeze the current list and start a fuzzy search in the frozen list")
|
||||||
|
["<C-i>"] = actions.to_fuzzy_refine,
|
||||||
|
|
||||||
|
-- Send to qflist or loclist
|
||||||
|
["<C-l>"] = actions.smart_send_to_loclist,
|
||||||
|
["<C-Space>"] = actions.smart_send_to_qflist,
|
||||||
|
|
||||||
|
-- Quote prompt, for passing parameters to vimgrep
|
||||||
|
["<C-k>"] = lga_actions.quote_prompt(),
|
||||||
|
},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
local options = {
|
local options = {
|
||||||
ensure_installed = { "lua" },
|
ensure_installed = { "lua", "vim", "vimdoc" },
|
||||||
|
|
||||||
highlight = {
|
highlight = {
|
||||||
enable = true,
|
enable = true,
|
||||||
|
|||||||
+259
-65
@@ -20,6 +20,68 @@ local default_plugins = {
|
|||||||
{ "preservim/tagbar", lazy = false },
|
{ "preservim/tagbar", lazy = false },
|
||||||
{ "ludovicchabant/vim-gutentags", lazy = false },
|
{ "ludovicchabant/vim-gutentags", lazy = false },
|
||||||
{ "emaniacs/vim-rest-console", lazy = false },
|
{ "emaniacs/vim-rest-console", lazy = false },
|
||||||
|
{ "mfussenegger/nvim-dap", lazy = false },
|
||||||
|
{
|
||||||
|
"rcarriga/nvim-dap-ui",
|
||||||
|
dependencies = {
|
||||||
|
"mfussenegger/nvim-dap",
|
||||||
|
"nvim-neotest/nvim-nio",
|
||||||
|
},
|
||||||
|
lazy = false,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"mfussenegger/nvim-dap-python",
|
||||||
|
dependencies = {
|
||||||
|
"mfussenegger/nvim-dap",
|
||||||
|
"rcarriga/nvim-dap-ui",
|
||||||
|
},
|
||||||
|
lazy = false,
|
||||||
|
init = function()
|
||||||
|
require("dap-python").setup "python"
|
||||||
|
-- Setup nvim-dap-ui also
|
||||||
|
require("dapui").setup()
|
||||||
|
end,
|
||||||
|
config = function(_, _)
|
||||||
|
local dap = require "dap"
|
||||||
|
vim.api.nvim_set_hl(0, "dark-orange", { bg = "#402c16" })
|
||||||
|
vim.fn.sign_define("DapBreakpoint", { text = "🛑", texthl = "", linehl = "", numhl = "" })
|
||||||
|
vim.fn.sign_define("DapStopped", { text = "", texthl = "", linehl = "dark-orange", numhl = "" })
|
||||||
|
dap.defaults.fallback.terminal_win_cmd = "tabnew"
|
||||||
|
dap.defaults.fallback.focus_terminal = true
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"Weissle/persistent-breakpoints.nvim",
|
||||||
|
lazy = false,
|
||||||
|
config = function(_, _)
|
||||||
|
require("persistent-breakpoints").setup {
|
||||||
|
load_breakpoints_event = { "BufReadPost" },
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
{ "nvim-telescope/telescope-live-grep-args.nvim", lazy = false },
|
||||||
|
{ "nvim-telescope/telescope-dap.nvim", lazy = false },
|
||||||
|
{
|
||||||
|
"harrisoncramer/gitlab.nvim",
|
||||||
|
dependencies = {
|
||||||
|
"MunifTanjim/nui.nvim",
|
||||||
|
"nvim-lua/plenary.nvim",
|
||||||
|
"sindrets/diffview.nvim",
|
||||||
|
"stevearc/dressing.nvim", -- Recommended but not required. Better UI for pickers.
|
||||||
|
"nvim-tree/nvim-web-devicons", -- Recommended but not required. Icons in discussion tree.
|
||||||
|
},
|
||||||
|
enabled = true,
|
||||||
|
lazy = false,
|
||||||
|
build = function()
|
||||||
|
require("gitlab.server").build(true)
|
||||||
|
end, -- Builds the Go binary
|
||||||
|
opts = function()
|
||||||
|
return require "plugins.configs.gitlab"
|
||||||
|
end,
|
||||||
|
config = function(_, opts)
|
||||||
|
require("gitlab").setup(opts)
|
||||||
|
end,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"sindrets/diffview.nvim",
|
"sindrets/diffview.nvim",
|
||||||
lazy = false,
|
lazy = false,
|
||||||
@@ -30,8 +92,56 @@ local default_plugins = {
|
|||||||
|
|
||||||
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
|
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
|
||||||
|
|
||||||
-- nvchad plugins
|
{
|
||||||
{ "NvChad/extensions", branch = "v2.0" },
|
"stevearc/quicker.nvim",
|
||||||
|
opts = {},
|
||||||
|
init = function()
|
||||||
|
require("quicker").setup()
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"chentoast/marks.nvim",
|
||||||
|
lazy = false,
|
||||||
|
init = function()
|
||||||
|
require("marks").setup {
|
||||||
|
default_mappings = true,
|
||||||
|
signs = true,
|
||||||
|
mappings = {},
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"stevearc/conform.nvim",
|
||||||
|
opts = {},
|
||||||
|
init = function()
|
||||||
|
require("conform").setup {
|
||||||
|
formatters_by_ft = {
|
||||||
|
lua = { "stylua" },
|
||||||
|
-- You can use a function here to determine the formatters dynamically
|
||||||
|
python = function(bufnr)
|
||||||
|
if require("conform").get_formatter_info("ruff_format", bufnr).available then
|
||||||
|
return { "isort", "black" }
|
||||||
|
-- return { "ruff_format" }
|
||||||
|
else
|
||||||
|
return { "isort", "black" }
|
||||||
|
end
|
||||||
|
end,
|
||||||
|
-- javascript = { "prettierd", "prettier", stop_after_first = true },
|
||||||
|
},
|
||||||
|
options = {
|
||||||
|
lang_to_formatters = {
|
||||||
|
json = { "jq" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
format_on_save = {
|
||||||
|
timeout_ms = 1000,
|
||||||
|
lsp_format = "fallback",
|
||||||
|
},
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"NvChad/base46",
|
"NvChad/base46",
|
||||||
@@ -45,13 +155,10 @@ local default_plugins = {
|
|||||||
"NvChad/ui",
|
"NvChad/ui",
|
||||||
branch = "v2.0",
|
branch = "v2.0",
|
||||||
lazy = false,
|
lazy = false,
|
||||||
config = function()
|
|
||||||
require "nvchad_ui"
|
|
||||||
end,
|
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"NvChad/nvterm",
|
"zbirenbaum/nvterm",
|
||||||
init = function()
|
init = function()
|
||||||
require("core.utils").load_mappings "nvterm"
|
require("core.utils").load_mappings "nvterm"
|
||||||
end,
|
end,
|
||||||
@@ -63,9 +170,7 @@ local default_plugins = {
|
|||||||
|
|
||||||
{
|
{
|
||||||
"NvChad/nvim-colorizer.lua",
|
"NvChad/nvim-colorizer.lua",
|
||||||
init = function()
|
event = "User FilePost",
|
||||||
require("core.utils").lazy_load "nvim-colorizer.lua"
|
|
||||||
end,
|
|
||||||
config = function(_, opts)
|
config = function(_, opts)
|
||||||
require("colorizer").setup(opts)
|
require("colorizer").setup(opts)
|
||||||
|
|
||||||
@@ -79,7 +184,7 @@ local default_plugins = {
|
|||||||
{
|
{
|
||||||
"nvim-tree/nvim-web-devicons",
|
"nvim-tree/nvim-web-devicons",
|
||||||
opts = function()
|
opts = function()
|
||||||
return { override = require("nvchad_ui.icons").devicons }
|
return { override = require "nvchad.icons.devicons" }
|
||||||
end,
|
end,
|
||||||
config = function(_, opts)
|
config = function(_, opts)
|
||||||
dofile(vim.g.base46_cache .. "devicons")
|
dofile(vim.g.base46_cache .. "devicons")
|
||||||
@@ -93,6 +198,7 @@ local default_plugins = {
|
|||||||
init = function()
|
init = function()
|
||||||
require("core.utils").lazy_load "indent-blankline.nvim"
|
require("core.utils").lazy_load "indent-blankline.nvim"
|
||||||
end,
|
end,
|
||||||
|
event = "User FilePost",
|
||||||
opts = function()
|
opts = function()
|
||||||
return require("plugins.configs.others").blankline
|
return require("plugins.configs.others").blankline
|
||||||
end,
|
end,
|
||||||
@@ -105,9 +211,7 @@ local default_plugins = {
|
|||||||
|
|
||||||
{
|
{
|
||||||
"nvim-treesitter/nvim-treesitter",
|
"nvim-treesitter/nvim-treesitter",
|
||||||
init = function()
|
event = { "BufReadPost", "BufNewFile" },
|
||||||
require("core.utils").lazy_load "nvim-treesitter"
|
|
||||||
end,
|
|
||||||
cmd = { "TSInstall", "TSBufEnable", "TSBufDisable", "TSModuleInfo" },
|
cmd = { "TSInstall", "TSBufEnable", "TSBufDisable", "TSModuleInfo" },
|
||||||
build = ":TSUpdate",
|
build = ":TSUpdate",
|
||||||
opts = function()
|
opts = function()
|
||||||
@@ -123,31 +227,14 @@ local default_plugins = {
|
|||||||
"nvim-treesitter/nvim-treesitter-textobjects",
|
"nvim-treesitter/nvim-treesitter-textobjects",
|
||||||
lazy = false,
|
lazy = false,
|
||||||
config = function()
|
config = function()
|
||||||
require("nvim-treesitter.configs").setup(
|
require("nvim-treesitter.configs").setup(require "plugins.configs.treesitter_textobjects")
|
||||||
require("plugins.configs.treesitter_textobjects")
|
|
||||||
)
|
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
-- git stuff
|
-- git stuff
|
||||||
{
|
{
|
||||||
"lewis6991/gitsigns.nvim",
|
"lewis6991/gitsigns.nvim",
|
||||||
ft = { "gitcommit", "diff" },
|
event = "User FilePost",
|
||||||
init = function()
|
|
||||||
-- load gitsigns only when a git file is opened
|
|
||||||
vim.api.nvim_create_autocmd({ "BufRead" }, {
|
|
||||||
group = vim.api.nvim_create_augroup("GitSignsLazyLoad", { clear = true }),
|
|
||||||
callback = function()
|
|
||||||
vim.fn.system("git -C " .. '"' .. vim.fn.expand "%:p:h" .. '"' .. " rev-parse")
|
|
||||||
if vim.v.shell_error == 0 then
|
|
||||||
vim.api.nvim_del_augroup_by_name "GitSignsLazyLoad"
|
|
||||||
vim.schedule(function()
|
|
||||||
require("lazy").load { plugins = { "gitsigns.nvim" } }
|
|
||||||
end)
|
|
||||||
end
|
|
||||||
end,
|
|
||||||
})
|
|
||||||
end,
|
|
||||||
opts = function()
|
opts = function()
|
||||||
return require("plugins.configs.others").gitsigns
|
return require("plugins.configs.others").gitsigns
|
||||||
end,
|
end,
|
||||||
@@ -160,7 +247,7 @@ local default_plugins = {
|
|||||||
-- lsp stuff
|
-- lsp stuff
|
||||||
{
|
{
|
||||||
"williamboman/mason.nvim",
|
"williamboman/mason.nvim",
|
||||||
cmd = { "Mason", "MasonInstall", "MasonInstallAll", "MasonUninstall", "MasonUninstallAll", "MasonLog" },
|
cmd = { "Mason", "MasonInstall", "MasonInstallAll", "MasonUpdate" },
|
||||||
opts = function()
|
opts = function()
|
||||||
return require "plugins.configs.mason"
|
return require "plugins.configs.mason"
|
||||||
end,
|
end,
|
||||||
@@ -170,7 +257,9 @@ local default_plugins = {
|
|||||||
|
|
||||||
-- custom nvchad cmd to install all mason binaries listed
|
-- custom nvchad cmd to install all mason binaries listed
|
||||||
vim.api.nvim_create_user_command("MasonInstallAll", function()
|
vim.api.nvim_create_user_command("MasonInstallAll", function()
|
||||||
|
if opts.ensure_installed and #opts.ensure_installed > 0 then
|
||||||
vim.cmd("MasonInstall " .. table.concat(opts.ensure_installed, " "))
|
vim.cmd("MasonInstall " .. table.concat(opts.ensure_installed, " "))
|
||||||
|
end
|
||||||
end, {})
|
end, {})
|
||||||
|
|
||||||
vim.g.mason_binaries_list = opts.ensure_installed
|
vim.g.mason_binaries_list = opts.ensure_installed
|
||||||
@@ -179,9 +268,7 @@ local default_plugins = {
|
|||||||
|
|
||||||
{
|
{
|
||||||
"neovim/nvim-lspconfig",
|
"neovim/nvim-lspconfig",
|
||||||
init = function()
|
event = "User FilePost",
|
||||||
require("core.utils").lazy_load "nvim-lspconfig"
|
|
||||||
end,
|
|
||||||
config = function()
|
config = function()
|
||||||
require "plugins.configs.lspconfig"
|
require "plugins.configs.lspconfig"
|
||||||
end,
|
end,
|
||||||
@@ -237,12 +324,19 @@ local default_plugins = {
|
|||||||
|
|
||||||
{
|
{
|
||||||
"numToStr/Comment.nvim",
|
"numToStr/Comment.nvim",
|
||||||
keys = { "gcc", "gbc" },
|
keys = {
|
||||||
|
{ "gcc", mode = "n", desc = "Comment toggle current line" },
|
||||||
|
{ "gc", mode = { "n", "o" }, desc = "Comment toggle linewise" },
|
||||||
|
{ "gc", mode = "x", desc = "Comment toggle linewise (visual)" },
|
||||||
|
{ "gbc", mode = "n", desc = "Comment toggle current block" },
|
||||||
|
{ "gb", mode = { "n", "o" }, desc = "Comment toggle blockwise" },
|
||||||
|
{ "gb", mode = "x", desc = "Comment toggle blockwise (visual)" },
|
||||||
|
},
|
||||||
init = function()
|
init = function()
|
||||||
require("core.utils").load_mappings "comment"
|
require("core.utils").load_mappings "comment"
|
||||||
end,
|
end,
|
||||||
config = function()
|
config = function(_, opts)
|
||||||
require("Comment").setup()
|
require("Comment").setup(opts)
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -251,19 +345,78 @@ local default_plugins = {
|
|||||||
"desdic/macrothis.nvim",
|
"desdic/macrothis.nvim",
|
||||||
opts = {},
|
opts = {},
|
||||||
keys = {
|
keys = {
|
||||||
{ "<Leader>kkd", function() require('macrothis').delete() end, desc = "Delete" },
|
{
|
||||||
{ "<Leader>kke", function() require('macrothis').edit() end, desc = "Edit" },
|
"<Leader>kkd",
|
||||||
{ "<Leader>kkl", function() require('macrothis').load() end, desc = "Load" },
|
function()
|
||||||
{ "<Leader>kkn", function() require('macrothis').rename() end, desc = "Rename" },
|
require("macrothis").delete()
|
||||||
{ "<Leader>kkq", function() require('macrothis').quickfix() end, desc = "Run macro on all files in quickfix" },
|
end,
|
||||||
{ "<Leader>kkr", function() require('macrothis').run() end, desc = "Run macro" },
|
desc = "[D]elete",
|
||||||
{ "<Leader>kks", function() require('macrothis').save() end, desc = "Save" },
|
},
|
||||||
{ "<Leader>kkx", function() require('macrothis').register() end, desc = "Edit register" },
|
{
|
||||||
{ "<Leader>kkp", function() require('macrothis').copy_register_printable() end, desc = "Copy register as printable" },
|
"<Leader>kke",
|
||||||
{ "<Leader>kkm", function() require('macrothis').copy_macro_printable() end, desc = "Copy macro as printable" },
|
function()
|
||||||
}
|
require("macrothis").edit()
|
||||||
|
end,
|
||||||
|
desc = "[E]dit",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<Leader>kkl",
|
||||||
|
function()
|
||||||
|
require("macrothis").load()
|
||||||
|
end,
|
||||||
|
desc = "[L]oad",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<Leader>kkn",
|
||||||
|
function()
|
||||||
|
require("macrothis").rename()
|
||||||
|
end,
|
||||||
|
desc = "Re[n]ame",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<Leader>kkq",
|
||||||
|
function()
|
||||||
|
require("macrothis").quickfix()
|
||||||
|
end,
|
||||||
|
desc = "Run macro on all files in [q]uickfix",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<Leader>kkr",
|
||||||
|
function()
|
||||||
|
require("macrothis").run()
|
||||||
|
end,
|
||||||
|
desc = "[R]un macro",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<Leader>kks",
|
||||||
|
function()
|
||||||
|
require("macrothis").save()
|
||||||
|
end,
|
||||||
|
desc = "[S]ave",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<Leader>kkx",
|
||||||
|
function()
|
||||||
|
require("macrothis").register()
|
||||||
|
end,
|
||||||
|
desc = "Edit register",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<Leader>kkp",
|
||||||
|
function()
|
||||||
|
require("macrothis").copy_register_printable()
|
||||||
|
end,
|
||||||
|
desc = "Co[p]y register as printable",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"<Leader>kkm",
|
||||||
|
function()
|
||||||
|
require("macrothis").copy_macro_printable()
|
||||||
|
end,
|
||||||
|
desc = "Copy [m]acro as printable",
|
||||||
|
},
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"onsails/diaglist.nvim",
|
"onsails/diaglist.nvim",
|
||||||
lazy = false,
|
lazy = false,
|
||||||
@@ -285,11 +438,11 @@ local default_plugins = {
|
|||||||
lazy = false,
|
lazy = false,
|
||||||
|
|
||||||
config = function()
|
config = function()
|
||||||
require("workspaces").setup({
|
require("workspaces").setup {
|
||||||
hooks = {
|
hooks = {
|
||||||
open = { "Telescope find_files" },
|
open = { "Telescope find_files" },
|
||||||
|
},
|
||||||
}
|
}
|
||||||
})
|
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -298,7 +451,7 @@ local default_plugins = {
|
|||||||
lazy = false,
|
lazy = false,
|
||||||
|
|
||||||
config = function()
|
config = function()
|
||||||
require("rgflow").setup({
|
require("rgflow").setup {
|
||||||
-- Set the default rip grep flags and options for when running a search via
|
-- Set the default rip grep flags and options for when running a search via
|
||||||
-- RgFlow. Once changed via the UI, the previous search flags are used for
|
-- RgFlow. Once changed via the UI, the previous search flags are used for
|
||||||
-- each subsequent search (until Neovim restarts).
|
-- each subsequent search (until Neovim restarts).
|
||||||
@@ -310,7 +463,7 @@ local default_plugins = {
|
|||||||
default_ui_mappings = true,
|
default_ui_mappings = true,
|
||||||
-- QuickFix window only mapping
|
-- QuickFix window only mapping
|
||||||
default_quickfix_mappings = true,
|
default_quickfix_mappings = true,
|
||||||
})
|
}
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -318,11 +471,11 @@ local default_plugins = {
|
|||||||
"yorickpeterse/nvim-window",
|
"yorickpeterse/nvim-window",
|
||||||
lazy = false,
|
lazy = false,
|
||||||
config = function()
|
config = function()
|
||||||
require('nvim-window').setup({
|
require("nvim-window").setup {
|
||||||
normal_hl = 'Normal',
|
normal_hl = "Normal",
|
||||||
hint_hl = 'Bold',
|
hint_hl = "Bold",
|
||||||
border = 'single'
|
border = "single",
|
||||||
})
|
}
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -335,7 +488,7 @@ local default_plugins = {
|
|||||||
"kdheepak/lazygit.nvim",
|
"kdheepak/lazygit.nvim",
|
||||||
lazy = false,
|
lazy = false,
|
||||||
config = function()
|
config = function()
|
||||||
require("lazy").setup({
|
require("lazy").setup {
|
||||||
{
|
{
|
||||||
"kdheepak/lazygit.nvim",
|
"kdheepak/lazygit.nvim",
|
||||||
-- optional for floating window border decoration
|
-- optional for floating window border decoration
|
||||||
@@ -343,7 +496,7 @@ local default_plugins = {
|
|||||||
"nvim-lua/plenary.nvim",
|
"nvim-lua/plenary.nvim",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
}
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -360,12 +513,12 @@ local default_plugins = {
|
|||||||
config = function(_, opts)
|
config = function(_, opts)
|
||||||
dofile(vim.g.base46_cache .. "nvimtree")
|
dofile(vim.g.base46_cache .. "nvimtree")
|
||||||
require("nvim-tree").setup(opts)
|
require("nvim-tree").setup(opts)
|
||||||
vim.g.nvimtree_side = opts.view.side
|
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"nvim-telescope/telescope.nvim",
|
"nvim-telescope/telescope.nvim",
|
||||||
|
dependencies = { "nvim-treesitter/nvim-treesitter" },
|
||||||
cmd = "Telescope",
|
cmd = "Telescope",
|
||||||
init = function()
|
init = function()
|
||||||
require("core.utils").load_mappings "telescope"
|
require("core.utils").load_mappings "telescope"
|
||||||
@@ -389,10 +542,11 @@ local default_plugins = {
|
|||||||
{
|
{
|
||||||
"folke/which-key.nvim",
|
"folke/which-key.nvim",
|
||||||
lazy = false,
|
lazy = false,
|
||||||
keys = { "<leader>", '"', "'", "`", "c", "v" },
|
keys = { "<leader>", "<c-r>", "<c-w>", '"', "'", "`", "c", "v", "g" },
|
||||||
init = function()
|
init = function()
|
||||||
require("core.utils").load_mappings "whichkey"
|
require("core.utils").load_mappings "whichkey"
|
||||||
end,
|
end,
|
||||||
|
cmd = "WhichKey",
|
||||||
config = function(_, opts)
|
config = function(_, opts)
|
||||||
dofile(vim.g.base46_cache .. "whichkey")
|
dofile(vim.g.base46_cache .. "whichkey")
|
||||||
require("which-key").setup(opts)
|
require("which-key").setup(opts)
|
||||||
@@ -401,7 +555,47 @@ local default_plugins = {
|
|||||||
{
|
{
|
||||||
"ThePrimeagen/harpoon",
|
"ThePrimeagen/harpoon",
|
||||||
branch = "harpoon2",
|
branch = "harpoon2",
|
||||||
dependencies = { "nvim-lua/plenary.nvim" }
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"folke/noice.nvim",
|
||||||
|
event = "VeryLazy",
|
||||||
|
opts = function()
|
||||||
|
return require "plugins.configs.noice"
|
||||||
|
end,
|
||||||
|
init = function()
|
||||||
|
require("noice").setup {
|
||||||
|
routes = {
|
||||||
|
{
|
||||||
|
view = "notify",
|
||||||
|
filter = { event = "msg_showmode" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
-- require("notify").setup({
|
||||||
|
-- background_colour = "#000000"
|
||||||
|
-- })
|
||||||
|
end,
|
||||||
|
dependencies = {
|
||||||
|
"MunifTanjim/nui.nvim",
|
||||||
|
-- "rcarriga/nvim-notify",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"folke/todo-comments.nvim",
|
||||||
|
lazy = false,
|
||||||
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
|
opts = {
|
||||||
|
-- your configuration comes here
|
||||||
|
-- or leave it empty to use the default settings
|
||||||
|
-- refer to the configuration section below
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"folke/trouble.nvim",
|
||||||
|
lazy = false,
|
||||||
|
cmd = "Trouble",
|
||||||
|
opts = {},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user