Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 822b092d15 | |||
| 6fa41890ab | |||
| 0066e28c8f | |||
| 3f08c78c13 | |||
| d6f6f9e11d |
@ -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
|
||||||
|
|||||||
@ -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,7 +61,7 @@ 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.fn.has("win32") ~= 0
|
local is_windows = vim.fn.has "win32" ~= 0
|
||||||
vim.env.PATH = vim.fn.stdpath "data" .. "/mason/bin" .. (is_windows and ";" or ":") .. vim.env.PATH
|
vim.env.PATH = vim.fn.stdpath "data" .. "/mason/bin" .. (is_windows and ";" or ":") .. vim.env.PATH
|
||||||
|
|
||||||
-------------------------------------- autocmds ------------------------------------------
|
-------------------------------------- autocmds ------------------------------------------
|
||||||
|
|||||||
@ -56,8 +56,33 @@ 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" },
|
||||||
@ -80,6 +105,9 @@ M.general = {
|
|||||||
-- ["<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" },
|
||||||
[">"] = { ">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 = {
|
||||||
@ -129,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>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 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>ct"] = { ":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" },
|
||||||
@ -170,12 +235,12 @@ M.tabufline = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
-- close buffer + hide terminal buffer
|
-- close buffer + hide terminal buffer
|
||||||
["<leader>x"] = {
|
-- ["<leader>x"] = {
|
||||||
function()
|
-- function()
|
||||||
require("nvchad.tabufline").close_buffer()
|
-- require("nvchad.tabufline").close_buffer()
|
||||||
end,
|
-- end,
|
||||||
"Close buffer",
|
-- "Close buffer",
|
||||||
},
|
-- },
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -347,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" },
|
||||||
@ -389,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
|
||||||
@ -398,8 +539,14 @@ 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" },
|
["<leader>;"] = { "<cmd> Telescope <CR>", "Open Telescope" },
|
||||||
},
|
},
|
||||||
@ -569,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,
|
||||||
@ -578,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
|
||||||
|
|||||||
@ -13,6 +13,9 @@ M.load_config = function()
|
|||||||
config.mappings.disabled = nil
|
config.mappings.disabled = nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- print(vim.inspect(config))
|
||||||
|
-- print(config)
|
||||||
|
-- print(vim.inspect(config.ui.statusline))
|
||||||
return config
|
return config
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -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"
|
||||||
|
|||||||
5
lua/custom/commands.lua
Normal file
5
lua/custom/commands.lua
Normal file
@ -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,11 @@
|
|||||||
|
|
||||||
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 = {}
|
||||||
|
|
||||||
@ -59,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
|
||||||
|
|||||||
138
lua/plugins/configs/gitlab.lua
Normal file
138
lua/plugins/configs/gitlab.lua
Normal file
@ -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
|
||||||
@ -40,10 +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_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 = {
|
||||||
@ -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 = {
|
||||||
|
|||||||
@ -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(),
|
||||||
|
},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -13,22 +13,135 @@ local default_plugins = {
|
|||||||
end,
|
end,
|
||||||
ft = { "markdown" },
|
ft = { "markdown" },
|
||||||
},
|
},
|
||||||
{"tpope/vim-fugitive", lazy=false},
|
{ "tpope/vim-fugitive", lazy = false },
|
||||||
{"rbong/vim-flog", lazy=false},
|
{ "rbong/vim-flog", lazy = false },
|
||||||
{"tpope/vim-surround", lazy=false},
|
{ "tpope/vim-surround", lazy = false },
|
||||||
{"tpope/vim-obsession", lazy=false},
|
{ "tpope/vim-obsession", lazy = false },
|
||||||
{"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,
|
||||||
opts = function()
|
opts = function()
|
||||||
return require "plugins.configs.diffview"
|
return require "plugins.configs.diffview"
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
{"nvim-telescope/telescope-fzf-native.nvim", build="make"},
|
{ "nvim-telescope/telescope-fzf-native.nvim", build = "make" },
|
||||||
|
|
||||||
|
{
|
||||||
|
"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",
|
||||||
@ -114,9 +227,7 @@ 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,
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -234,54 +345,113 @@ 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,
|
||||||
debug=false,
|
debug = false,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"anuvyklack/hydra.nvim",
|
"anuvyklack/hydra.nvim",
|
||||||
lazy=false,
|
lazy = false,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"gioele/vim-autoswap",
|
"gioele/vim-autoswap",
|
||||||
lazy=false,
|
lazy = false,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"natecraddock/workspaces.nvim",
|
"natecraddock/workspaces.nvim",
|
||||||
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,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"mangelozzi/rgflow.nvim",
|
"mangelozzi/rgflow.nvim",
|
||||||
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).
|
||||||
@ -293,32 +463,32 @@ 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,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"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,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"sindrets/winshift.nvim",
|
"sindrets/winshift.nvim",
|
||||||
lazy=false,
|
lazy = false,
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"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
|
||||||
@ -326,7 +496,7 @@ local default_plugins = {
|
|||||||
"nvim-lua/plenary.nvim",
|
"nvim-lua/plenary.nvim",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
}
|
||||||
end,
|
end,
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -371,7 +541,7 @@ local default_plugins = {
|
|||||||
-- Only load whichkey after all the gui
|
-- Only load whichkey after all the gui
|
||||||
{
|
{
|
||||||
"folke/which-key.nvim",
|
"folke/which-key.nvim",
|
||||||
lazy=false,
|
lazy = false,
|
||||||
keys = { "<leader>", "<c-r>", "<c-w>", '"', "'", "`", "c", "v", "g" },
|
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"
|
||||||
@ -385,7 +555,7 @@ local default_plugins = {
|
|||||||
{
|
{
|
||||||
"ThePrimeagen/harpoon",
|
"ThePrimeagen/harpoon",
|
||||||
branch = "harpoon2",
|
branch = "harpoon2",
|
||||||
dependencies = { "nvim-lua/plenary.nvim" }
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"folke/noice.nvim",
|
"folke/noice.nvim",
|
||||||
@ -393,6 +563,19 @@ local default_plugins = {
|
|||||||
opts = function()
|
opts = function()
|
||||||
return require "plugins.configs.noice"
|
return require "plugins.configs.noice"
|
||||||
end,
|
end,
|
||||||
|
init = function()
|
||||||
|
require("noice").setup {
|
||||||
|
routes = {
|
||||||
|
{
|
||||||
|
view = "notify",
|
||||||
|
filter = { event = "msg_showmode" },
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
-- require("notify").setup({
|
||||||
|
-- background_colour = "#000000"
|
||||||
|
-- })
|
||||||
|
end,
|
||||||
dependencies = {
|
dependencies = {
|
||||||
"MunifTanjim/nui.nvim",
|
"MunifTanjim/nui.nvim",
|
||||||
-- "rcarriga/nvim-notify",
|
-- "rcarriga/nvim-notify",
|
||||||
@ -400,14 +583,20 @@ local default_plugins = {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"folke/todo-comments.nvim",
|
"folke/todo-comments.nvim",
|
||||||
lazy=false,
|
lazy = false,
|
||||||
dependencies = { "nvim-lua/plenary.nvim" },
|
dependencies = { "nvim-lua/plenary.nvim" },
|
||||||
opts = {
|
opts = {
|
||||||
-- your configuration comes here
|
-- your configuration comes here
|
||||||
-- or leave it empty to use the default settings
|
-- or leave it empty to use the default settings
|
||||||
-- refer to the configuration section below
|
-- refer to the configuration section below
|
||||||
}
|
},
|
||||||
}
|
},
|
||||||
|
{
|
||||||
|
"folke/trouble.nvim",
|
||||||
|
lazy = false,
|
||||||
|
cmd = "Trouble",
|
||||||
|
opts = {},
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
local config = require("core.utils").load_config()
|
local config = require("core.utils").load_config()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user