Compare commits
2
Commits
matecraft
...
fe912ab5fb
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fe912ab5fb
|
||
|
|
86ccf3bb2d
|
@@ -18,4 +18,6 @@ end
|
||||
|
||||
dofile(vim.g.base46_cache .. "defaults")
|
||||
vim.opt.rtp:prepend(lazypath)
|
||||
vim.api.nvim_command "packadd cfilter"
|
||||
vim.api.nvim_command "packadd justify"
|
||||
require "plugins"
|
||||
|
||||
+22
-3
@@ -112,7 +112,14 @@ M.customstuffs = {
|
||||
-- Mappings: TODO
|
||||
|
||||
-- "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>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>tt"] = { ":call append(line('.') - 1, repeat(' ', indent('.')) . '# TODO: ' . input('Comment >'))<CR>", "Add TODO comment + add to quickfix list" },
|
||||
|
||||
["<leader>ww"] = { ":lua require('nvim-window').pick()<CR>", "Pick window to goto" },
|
||||
["<leader>wm"] = { ":WinShift<CR>", "Enter move window mode" },
|
||||
["<leader>ws"] = { ":WinShift swap<CR>", "Swap window, with selection" },
|
||||
|
||||
["<leader>gg"] = { ":LazyGit<CR>", "Open lazygit" },
|
||||
},
|
||||
v = {
|
||||
["n"] = { "nzz", "Next + auto center" },
|
||||
@@ -328,9 +335,15 @@ M.telescope = {
|
||||
["<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>gf"] = { "<cmd> lua require('telescope.builtin').find_files({default_text=vim.fn.getreg('/')}) <CR>", "Live grep with actual search value as prefix" },
|
||||
["<leader>ac"] = { ":execute 'vimgrep' input('Pattern >', getreg('/')) '**/*' <CR>", "add search term files in quickfix list" },
|
||||
["<leader>qc"] = { "<cmd> Telescope quickfix <CR>", "Show quickfix list" },
|
||||
["<leader>qr"] = { ":execute 'cdo' '%s/' . input('Search term >', getreg('/')) . '/' . input('Replace by >', getreg('')) . '/g | update' <CR>", "Replace pattern in all quickfix list" },
|
||||
-- ["<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>qn"] = { ":cnext<CR>", "Jump to next in quickfix list" },
|
||||
["<leader>qp"] = { ":cprevious<CR>", "Jump to previous in quickfix list" },
|
||||
|
||||
["<leader>ll"] = { "<cmd> Telescope loclist <CR>", "Show loclist list" },
|
||||
["<leader>ln"] = { ":lnext<CR>", "Jump to next in loclist" },
|
||||
@@ -340,6 +353,8 @@ M.telescope = {
|
||||
["<leader>fo"] = { "<cmd> Telescope oldfiles <CR>", "Find oldfiles" },
|
||||
["<leader>fz"] = { "<cmd> Telescope current_buffer_fuzzy_find <CR>", "Find in current buffer" },
|
||||
|
||||
["<leader>wl"] = { "<cmd> Telescope workspaces <CR>", "Find workspaces" },
|
||||
|
||||
-- git
|
||||
--- Commits
|
||||
["<leader>gc"] = { "<cmd> lua require('custom.telescope').my_git_commits()<CR>", "Custom Git commits" },
|
||||
@@ -362,6 +377,10 @@ M.telescope = {
|
||||
-- History
|
||||
["<leader>ch"] = { "<cmd> Telescope command_history <CR>", "telescope commands history" },
|
||||
["<leader>/"] = { "<cmd> Telescope search_history <CR>", "telescope search history" },
|
||||
|
||||
-- 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>d0"] = { "<cmd>lua require('diaglist').open_buffer_diagnostics()<CR>", "Open current buffer diagnostics in loclist list" },
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@ local M = {}
|
||||
local highlights = require "custom.highlights"
|
||||
|
||||
M.ui = {
|
||||
theme = "gatekeeper",
|
||||
theme_toggle = { "gatekeeper", "monekai" },
|
||||
theme = "onedark",
|
||||
theme_toggle = { "onedark", "monekai" },
|
||||
|
||||
hl_override = highlights.override,
|
||||
hl_add = highlights.add,
|
||||
|
||||
@@ -4,7 +4,7 @@ local capabilities = require("plugins.configs.lspconfig").capabilities
|
||||
local lspconfig = require "lspconfig"
|
||||
|
||||
-- if you just want default config for the servers then put them in a table
|
||||
local servers = { "html", "cssls", "tsserver", "clangd" }
|
||||
local servers = { "html", "cssls", "tsserver", "clangd", "salt_ls" }
|
||||
|
||||
for _, lsp in ipairs(servers) do
|
||||
lspconfig[lsp].setup {
|
||||
|
||||
@@ -19,6 +19,15 @@ M.treesitter = {
|
||||
-- "python"
|
||||
-- },
|
||||
},
|
||||
incremental_selection = {
|
||||
enable = true,
|
||||
keymaps = {
|
||||
init_selection = "<C-space>",
|
||||
node_incremental = "<C-space>",
|
||||
scope_incremental = false,
|
||||
node_decremental = "<bs>",
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
M.mason = {
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
local Hydra = require("hydra")
|
||||
|
||||
Hydra({
|
||||
name = "Change / Resize Window",
|
||||
mode = { "n" },
|
||||
body = "<leader>t",
|
||||
config = {
|
||||
-- color = "pink",
|
||||
},
|
||||
heads = {
|
||||
-- move between windows
|
||||
{ "<C-h>", "<C-w>h", { desc="Noot nooty" } },
|
||||
{ "<C-j>", "<C-w>j" },
|
||||
{ "<C-k>", "<C-w>k" },
|
||||
{ "<C-l>", "<C-w>l" },
|
||||
|
||||
-- resizing window
|
||||
{ "H", "<C-w>3<" },
|
||||
{ "L", "<C-w>3>" },
|
||||
{ "K", "<C-w>2+" },
|
||||
{ "J", "<C-w>2-" },
|
||||
|
||||
-- equalize window sizes
|
||||
{ "e", "<C-w>=" },
|
||||
|
||||
-- close active window
|
||||
{ "Q", ":q<cr>" },
|
||||
{ "<C-q>", ":q<cr>" },
|
||||
|
||||
-- exit this Hydra
|
||||
{ "q", nil, { exit = true, nowait = true } },
|
||||
{ ";", nil, { exit = true, nowait = true } },
|
||||
{ "<Esc>", nil, { exit = true, nowait = true } },
|
||||
},
|
||||
})
|
||||
@@ -40,7 +40,8 @@ require('lspconfig').ruff_lsp.setup {
|
||||
init_options = {
|
||||
settings = {
|
||||
-- Any extra CLI arguments for `ruff` go here.
|
||||
args = {},
|
||||
}
|
||||
args = {"--ignore", "E741"},
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -168,7 +168,7 @@ local options = {
|
||||
}
|
||||
},
|
||||
|
||||
extensions_list = { "themes", "terms", "fzf" },
|
||||
extensions_list = { "themes", "terms", "fzf", "macrothis" },
|
||||
extensions = {
|
||||
fzf = {
|
||||
fuzzy = true,
|
||||
|
||||
@@ -0,0 +1,133 @@
|
||||
local M = {}
|
||||
|
||||
M.textobjects = {
|
||||
select = {
|
||||
enable = true,
|
||||
|
||||
-- Automatically jump forward to textobj, similar to targets.vim
|
||||
lookahead = true,
|
||||
|
||||
keymaps = {
|
||||
-- You can use the capture groups defined in textobjects.scm
|
||||
["a="] = { query = "@assignment.outer", desc = "Select outer part of an assignment" },
|
||||
["i="] = { query = "@assignment.inner", desc = "Select inner part of an assignment" },
|
||||
["l="] = { query = "@assignment.lhs", desc = "Select left hand side of an assignment" },
|
||||
["r="] = { query = "@assignment.rhs", desc = "Select right hand side of an assignment" },
|
||||
|
||||
["aa"] = { query = "@parameter.outer", desc = "Select outer part of a parameter/argument" },
|
||||
["ia"] = { query = "@parameter.inner", desc = "Select inner part of a parameter/argument" },
|
||||
|
||||
["ai"] = { query = "@conditional.outer", desc = "Select outer part of a conditional" },
|
||||
["ii"] = { query = "@conditional.inner", desc = "Select inner part of a conditional" },
|
||||
|
||||
["al"] = { query = "@loop.outer", desc = "Select outer part of a loop" },
|
||||
["il"] = { query = "@loop.inner", desc = "Select inner part of a loop" },
|
||||
|
||||
["af"] = { query = "@call.outer", desc = "Select outer part of a function call" },
|
||||
["if"] = { query = "@call.inner", desc = "Select inner part of a function call" },
|
||||
|
||||
["am"] = { query = "@function.outer", desc = "Select outer part of a function def" },
|
||||
["im"] = { query = "@function.inner", desc = "Select inner part of a function def" },
|
||||
|
||||
["ak"] = { query = "@class.outer", desc = "Select outer part of a class" },
|
||||
["ik"] = { query = "@class.inner", desc = "Select inner part of a class" },
|
||||
|
||||
["ac"] = { query = "@comment.outer", desc = "Select outer part of a comment" },
|
||||
["ic"] = { query = "@comment.inner", desc = "Select inner part of a comment" },
|
||||
},
|
||||
},
|
||||
move = {
|
||||
enable = true,
|
||||
-- Whether to set jumps in the jumplist
|
||||
set_jumps = true,
|
||||
goto_next_start = {
|
||||
["]a"] = { query = "@parameter.outer", desc = "Goto next start outer parameter" },
|
||||
["]i"] = { query = "@conditional.outer", desc = "Goto next start outer conditional" },
|
||||
["]l"] = { query = "@loop.outer", desc = "Goto next start outer loop" },
|
||||
["]f"] = { query = "@call.outer", desc = "Goto next start outer call" },
|
||||
["]m"] = { query = "@function.outer", desc = "Goto next start outer function" },
|
||||
["]k"] = { query = "@class.outer", desc = "Goto next start outer class" },
|
||||
["]c"] = { query = "@comment.outer", desc = "Goto next start outer comment" },
|
||||
},
|
||||
goto_next_end = {
|
||||
["]A"] = { query = "@parameter.outer", desc = "Goto next end outer parameter" },
|
||||
["]I"] = { query = "@conditional.outer", desc = "Goto next end outer conditional" },
|
||||
["]L"] = { query = "@loop.outer", desc = "Goto next end outer loop" },
|
||||
["]F"] = { query = "@call.outer", desc = "Goto next end outer call" },
|
||||
["]M"] = { query = "@function.outer", desc = "Goto next end outer function" },
|
||||
["]K"] = { query = "@class.outer", desc = "Goto next end outer class" },
|
||||
["]C"] = { query = "@comment.outer", desc = "Goto next end outer comment" },
|
||||
},
|
||||
goto_previous_start = {
|
||||
["[a"] = { query = "@parameter.outer", desc = "Goto previous start outer parameter" },
|
||||
["[i"] = { query = "@conditional.outer", desc = "Goto previous start outer conditional" },
|
||||
["[l"] = { query = "@loop.outer", desc = "Goto previous start outer loop" },
|
||||
["[f"] = { query = "@call.outer", desc = "Goto previous start outer call" },
|
||||
["[m"] = { query = "@function.outer", desc = "Goto previous start outer function" },
|
||||
["[k"] = { query = "@class.outer", desc = "Goto previous start outer class" },
|
||||
["[c"] = { query = "@comment.outer", desc = "Goto previous start outer comment" },
|
||||
},
|
||||
goto_previous_end = {
|
||||
["[A"] = { query = "@parameter.outer", desc = "Goto previous end outer parameter" },
|
||||
["[I"] = { query = "@conditional.outer", desc = "Goto previous end outer conditional" },
|
||||
["[L"] = { query = "@loop.outer", desc = "Goto previous end outer loop" },
|
||||
["[F"] = { query = "@call.outer", desc = "Goto previous end outer call" },
|
||||
["[M"] = { query = "@function.outer", desc = "Goto previous end outer function" },
|
||||
["[K"] = { query = "@class.outer", desc = "Goto previous end outer class" },
|
||||
["[C"] = { query = "@comment.outer", desc = "Goto previous end outer comment" },
|
||||
},
|
||||
},
|
||||
|
||||
swap = {
|
||||
enable = true,
|
||||
|
||||
swap_next = {
|
||||
["<leader>na"] = { query = "@parameter.inner", desc = "Swap with next inner parameter" },
|
||||
["<leader>ni"] = { query = "@conditional.outer", desc = "Swap with next outer conditional" },
|
||||
["<leader>nl"] = { query = "@loop.outer", desc = "Swap with next outer loop" },
|
||||
["<leader>nf"] = { query = "@call.outer", desc = "Swap with next outer call" },
|
||||
["<leader>nm"] = { query = "@function.outer", desc = "Swap with next outer function" },
|
||||
["<leader>nk"] = { query = "@class.outer", desc = "Swap with next outer class" },
|
||||
["<leader>nc"] = { query = "@comment.outer", desc = "Swap with next outer comment" },
|
||||
|
||||
["<leader>nA"] = { query = "@parameter.outer", desc = "Swap with next outer parameter" },
|
||||
["<leader>nI"] = { query = "@conditional.inner", desc = "Swap with next inner conditional" },
|
||||
["<leader>nL"] = { query = "@loop.inner", desc = "Swap with next inner loop" },
|
||||
["<leader>nF"] = { query = "@call.inner", desc = "Swap with next inner call" },
|
||||
["<leader>nM"] = { query = "@function.inner", desc = "Swap with next inner function" },
|
||||
["<leader>nK"] = { query = "@class.inner", desc = "Swap with next inner class" },
|
||||
["<leader>nC"] = { query = "@comment.inner", desc = "Swap with next inner comment" },
|
||||
},
|
||||
swap_previous = {
|
||||
["<leader>pa"] = { query = "@parameter.inner", desc = "Swap with previous inner parameter" },
|
||||
["<leader>pi"] = { query = "@conditional.outer", desc = "Swap with previous outer conditional" },
|
||||
["<leader>pl"] = { query = "@loop.outer", desc = "Swap with previous outer loop" },
|
||||
["<leader>pf"] = { query = "@call.outer", desc = "Swap with previous outer call" },
|
||||
["<leader>pm"] = { query = "@function.outer", desc = "Swap with previous outer function" },
|
||||
["<leader>pk"] = { query = "@class.outer", desc = "Swap with previous outer class" },
|
||||
["<leader>pc"] = { query = "@comment.outer", desc = "Swap with previous outer comment" },
|
||||
|
||||
["<leader>pA"] = { query = "@parameter.outer", desc = "Swap with previous outer parameter" },
|
||||
["<leader>pI"] = { query = "@conditional.inner", desc = "Swap with previous inner conditional" },
|
||||
["<leader>pL"] = { query = "@loop.inner", desc = "Swap with previous inner loop" },
|
||||
["<leader>pF"] = { query = "@call.inner", desc = "Swap with previous inner call" },
|
||||
["<leader>pM"] = { query = "@function.inner", desc = "Swap with previous inner function" },
|
||||
["<leader>pK"] = { query = "@class.inner", desc = "Swap with previous inner class" },
|
||||
["<leader>pC"] = { query = "@comment.inner", desc = "Swap with previous inner comment" },
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
-- local ts_repeat_move = require "nvim-treesitter.textobjects.repeatable_move"
|
||||
|
||||
-- Repeat movement with ; and ,
|
||||
-- vim.keymap.set({"n", "x", "o"}, ",", ts_repeat_move.repeat_last_move_next)
|
||||
-- vim.keymap.set({"n", "x", "o"}, ",", ts_repeat_move.repeat_last_move_previous)
|
||||
|
||||
-- Optionnally, make builtin f, F, t, T also repeatable with ; and ,
|
||||
-- vim.keymap.set({"n", "x", "o"}, "f", ts_repeat_move.builtin_f)
|
||||
-- vim.keymap.set({"n", "x", "o"}, "F", ts_repeat_move.builtin_F)
|
||||
-- vim.keymap.set({"n", "x", "o"}, "t", ts_repeat_move.builtin_t)
|
||||
-- vim.keymap.set({"n", "x", "o"}, "T", ts_repeat_move.builtin_T)
|
||||
|
||||
return M
|
||||
@@ -119,6 +119,16 @@ local default_plugins = {
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"nvim-treesitter/nvim-treesitter-textobjects",
|
||||
lazy = false,
|
||||
config = function()
|
||||
require("nvim-treesitter.configs").setup(
|
||||
require("plugins.configs.treesitter_textobjects")
|
||||
)
|
||||
end,
|
||||
},
|
||||
|
||||
-- git stuff
|
||||
{
|
||||
"lewis6991/gitsigns.nvim",
|
||||
@@ -236,6 +246,107 @@ local default_plugins = {
|
||||
end,
|
||||
},
|
||||
|
||||
-- Save and load macro / register
|
||||
{
|
||||
"desdic/macrothis.nvim",
|
||||
opts = {},
|
||||
keys = {
|
||||
{ "<Leader>kkd", function() require('macrothis').delete() end, desc = "Delete" },
|
||||
{ "<Leader>kke", function() require('macrothis').edit() end, desc = "Edit" },
|
||||
{ "<Leader>kkl", function() require('macrothis').load() end, desc = "Load" },
|
||||
{ "<Leader>kkn", function() require('macrothis').rename() end, desc = "Rename" },
|
||||
{ "<Leader>kkq", function() require('macrothis').quickfix() end, desc = "Run macro on all files in quickfix" },
|
||||
{ "<Leader>kkr", function() require('macrothis').run() end, desc = "Run macro" },
|
||||
{ "<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>kkm", function() require('macrothis').copy_macro_printable() end, desc = "Copy macro as printable" },
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"onsails/diaglist.nvim",
|
||||
lazy=false,
|
||||
debug=false,
|
||||
},
|
||||
|
||||
{
|
||||
"anuvyklack/hydra.nvim",
|
||||
lazy=false,
|
||||
},
|
||||
|
||||
{
|
||||
"gioele/vim-autoswap",
|
||||
lazy=false,
|
||||
},
|
||||
|
||||
{
|
||||
"natecraddock/workspaces.nvim",
|
||||
lazy=false,
|
||||
|
||||
config = function()
|
||||
require("workspaces").setup({
|
||||
hooks = {
|
||||
open = {"Telescope find_files"},
|
||||
}
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"mangelozzi/rgflow.nvim",
|
||||
lazy=false,
|
||||
|
||||
config = function()
|
||||
require("rgflow").setup({
|
||||
-- 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
|
||||
-- each subsequent search (until Neovim restarts).
|
||||
cmd_flags = "--smart-case --fixed-strings --ignore --max-columns 200",
|
||||
|
||||
-- Mappings to trigger RgFlow functions
|
||||
default_trigger_mappings = true,
|
||||
-- These mappings are only active when the RgFlow UI (panel) is open
|
||||
default_ui_mappings = true,
|
||||
-- QuickFix window only mapping
|
||||
default_quickfix_mappings = true,
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"yorickpeterse/nvim-window",
|
||||
lazy=false,
|
||||
config = function()
|
||||
require('nvim-window').setup({
|
||||
normal_hl = 'Normal',
|
||||
hint_hl = 'Bold',
|
||||
border = 'single'
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
{
|
||||
"sindrets/winshift.nvim",
|
||||
lazy=false,
|
||||
},
|
||||
|
||||
{
|
||||
"kdheepak/lazygit.nvim",
|
||||
lazy=false,
|
||||
config = function()
|
||||
require("lazy").setup({
|
||||
{
|
||||
"kdheepak/lazygit.nvim",
|
||||
-- optional for floating window border decoration
|
||||
dependencies = {
|
||||
"nvim-lua/plenary.nvim",
|
||||
},
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
|
||||
-- file managing , picker etc
|
||||
{
|
||||
"nvim-tree/nvim-tree.lua",
|
||||
@@ -277,6 +388,7 @@ local default_plugins = {
|
||||
-- Only load whichkey after all the gui
|
||||
{
|
||||
"folke/which-key.nvim",
|
||||
lazy=false,
|
||||
keys = { "<leader>", '"', "'", "`", "c", "v" },
|
||||
init = function()
|
||||
require("core.utils").load_mappings "whichkey"
|
||||
@@ -286,6 +398,11 @@ local default_plugins = {
|
||||
require("which-key").setup(opts)
|
||||
end,
|
||||
},
|
||||
{
|
||||
"ThePrimeagen/harpoon",
|
||||
branch = "harpoon2",
|
||||
dependencies = { "nvim-lua/plenary.nvim" }
|
||||
},
|
||||
}
|
||||
|
||||
local config = require("core.utils").load_config()
|
||||
|
||||
Reference in New Issue
Block a user