mirror of
https://git.disroot.org/FollieHiyuki/dotfiles.git
synced 2024-11-25 00:38:23 -05:00
neovim: changes a bunch
- undodir: move to stdpath('data') to be more inline with other - add todo-comments.nvim - whichkey: rebind for hop.nvim (avoid conflicting with vim-sandwich blockwise) - mappings: clean up and rearrange
This commit is contained in:
parent
8c725aa77c
commit
6f78887641
@ -297,6 +297,13 @@ local function highlight_plugins()
|
||||
hi('rainbowcol6', c.blue, '', 'bold', '')
|
||||
hi('rainbowcol7', c.purple, '', 'bold', '')
|
||||
|
||||
-- todo-comments
|
||||
hi('TodoDefault', c.fg, '', 'bold', '')
|
||||
hi('TodoError', c.red, '', 'bold', '')
|
||||
hi('TodoWarn', c.yellow, '', 'bold', '')
|
||||
hi('TodoInfo', c.blue, '', 'bold', '')
|
||||
hi('TodoHint', c.cyan, '', 'bold', '')
|
||||
|
||||
-- hop.nvim
|
||||
hi('HopNextKey', c.red, '', 'bold', '')
|
||||
hi('HopNextKey1', c.cyan, '', 'bold', '')
|
||||
|
@ -11,9 +11,6 @@ api.nvim_set_keymap('t', '<Esc>', '<C-\\><C-n>', {noremap = true, silent = true}
|
||||
api.nvim_set_keymap('v', '<', '<gv', {noremap = true, silent = true})
|
||||
api.nvim_set_keymap('v', '>', '>gv', {noremap = true, silent = true})
|
||||
|
||||
-- Clear search results
|
||||
-- api.nvim_set_keymap('n', '<Esc>', '<Cmd>noh<CR>', {noremap = true, silent = true})
|
||||
|
||||
-- vim-eft
|
||||
api.nvim_set_keymap('n', 'f', '<Plug>(eft-f)', {})
|
||||
api.nvim_set_keymap('x', 'f', '<Plug>(eft-f)', {})
|
||||
@ -47,9 +44,6 @@ wk.register({
|
||||
-- Copy the whole buffer
|
||||
['<C-a>'] = {'<Cmd>%y+<CR>', 'Copy whole buffer'},
|
||||
|
||||
-- 'Legacy' save buffer
|
||||
-- ['<C-s>'] = {':w<CR>', 'Write buffer'},
|
||||
|
||||
-- Close buffer
|
||||
['<C-x>'] = {':bd!<CR>', 'Close buffer'},
|
||||
|
||||
@ -113,8 +107,8 @@ wk.register({
|
||||
['<A-\\>'] = {':ToggleTerm direction=float<CR>', 'Toggle float terminal'},
|
||||
|
||||
-- hop.nvim
|
||||
s = {':HopWord<CR>', 'Hop to word'},
|
||||
S = {':HopChar1<CR>', 'Hop to character'},
|
||||
S = {':HopWord<CR>', 'Hop to word'},
|
||||
['<C-s>'] = {':HopChar1<CR>', 'Hop to character'},
|
||||
['<A-s>'] = {':HopPattern<CR>', 'Hop to pattern'}
|
||||
})
|
||||
|
||||
@ -122,16 +116,21 @@ wk.register({
|
||||
-- Normal mode (with leader key) --
|
||||
-----------------------------------
|
||||
wk.register({
|
||||
a = {':EasyAlign<CR>', 'Align'},
|
||||
|
||||
b = {
|
||||
name = 'Buffer',
|
||||
a = {':EasyAlign<CR>', 'Easy align'},
|
||||
name = 'Buffer/Tab',
|
||||
c = {':ColorizerToggle<CR>', 'Colorizer'},
|
||||
d = {':bdelete<CR>', 'Close buffer'},
|
||||
j = {':BufferLineCyclePrev<CR>', 'Previous buffer'},
|
||||
k = {':BufferLineCycleNext<CR>', 'Next buffer'},
|
||||
n = {':enew<CR>', 'New buffer'},
|
||||
u = {':UndotreeToggle<CR>', 'Undotree'},
|
||||
z = {':ZenMode<CR>', 'Zen mode'}
|
||||
z = {':ZenMode<CR>', 'Zen mode'},
|
||||
D = {'<Cmd>tabclose<CR>', 'Close tab'},
|
||||
J = {'<Cmd>tabprev<CR>', 'Previous tab'},
|
||||
K = {'<Cmd>tabnext<CR>', 'Next tab'},
|
||||
N = {'<Cmd>tabnew<CR>', 'New tab'}
|
||||
},
|
||||
|
||||
d = {
|
||||
@ -244,7 +243,8 @@ wk.register({
|
||||
e = {':TroubleToggle lsp_document_diagnostics<CR>', 'Document diagnostics list'},
|
||||
w = {':TroubleToggle lsp_workspace_diagnostics<CR>', 'Workspace diagnostics list'},
|
||||
l = {':TroubleToggle loclist<CR>', 'Location list items'},
|
||||
q = {':TroubleToggle quickfix<CR>', 'Quickfix list'}
|
||||
q = {':TroubleToggle quickfix<CR>', 'Quickfix list'},
|
||||
t = {':TroubleToggle<CR>', 'Summary'}
|
||||
}
|
||||
},
|
||||
|
||||
@ -262,13 +262,26 @@ wk.register({
|
||||
w = {':lua require("spectre").open_visual({select_word = true})<CR>', 'Find/replace cursorword'},
|
||||
},
|
||||
|
||||
-- Tab related
|
||||
t = {
|
||||
name = 'Tab',
|
||||
c = {'<Cmd>tabclose<CR>', 'Close tab'},
|
||||
j = {'<Cmd>tabprev<CR>', 'Previous tab'},
|
||||
k = {'<Cmd>tabnext<CR>', 'Next tab'},
|
||||
n = {'<Cmd>tabnew<CR>', 'New tab'}
|
||||
-- t = {
|
||||
-- name = 'Todo',
|
||||
-- f = {':TodoQuickFix<CR>', 'Quick fix'},
|
||||
-- l = {':TodoLocList<CR>', 'Loclist'},
|
||||
-- t = {':TodoTrouble<CR>', 'Open in Trouble'},
|
||||
-- z = {':TodoTelescope<CR>', 'Open in Telescope'}
|
||||
-- },
|
||||
|
||||
y ={
|
||||
name = 'Figlet',
|
||||
s = {':.!figlet -f standard<CR>', 'standard'},
|
||||
l = {':.!figlet -f slant<CR>', 'slant'},
|
||||
b = {':.!figlet -f banner<CR>', 'banner'},
|
||||
e = {':.!figlet -f lean<CR>', 'lean'},
|
||||
p = {':.!figlet -f speed<CR>', 'speed'},
|
||||
r = {':.!figlet -f roman<CR>', 'roman'},
|
||||
d = {':.!figlet -f doh<CR>', 'doh'},
|
||||
w = {':.!figlet -f starwars<CR>', 'starwars'},
|
||||
m = {':.!figlet -f morse<CR>', 'morse'},
|
||||
x = {':.!toilet -f term -F border<CR>', 'border'}
|
||||
}
|
||||
}, {prefix = '<leader>'})
|
||||
|
||||
@ -276,10 +289,7 @@ wk.register({
|
||||
-- Visual mode (with leader key) --
|
||||
-----------------------------------
|
||||
wk.register({
|
||||
b = {
|
||||
name = 'Buffer',
|
||||
a = {':EasyAlign<CR>', 'Range easy align'}
|
||||
},
|
||||
a = {':EasyAlign<CR>', 'Range align'},
|
||||
|
||||
d = {
|
||||
name = 'DAP',
|
||||
|
@ -200,6 +200,58 @@ function M.trouble_conf()
|
||||
}
|
||||
end
|
||||
|
||||
-- function M.comments_conf()
|
||||
-- require('todo-comments').setup {
|
||||
-- signs = false,
|
||||
-- -- sign_priority = 8,
|
||||
-- keywords = {
|
||||
-- FIX = {
|
||||
-- icon = ' ', -- icon used for the sign, and in search results
|
||||
-- color = 'error', -- can be a hex color, or a named color (see below)
|
||||
-- alt = {'FIXME', 'BUG', 'FIXIT', 'ISSUE'}, -- a set of other keywords that all map to this FIX keywords
|
||||
-- -- signs = false, -- configure signs for some keywords individually
|
||||
-- },
|
||||
-- TODO = {icon = ' ', color = 'info'},
|
||||
-- HACK = {icon = ' ', color = 'warning'},
|
||||
-- WARN = {icon = ' ', color = 'warning', alt = {'WARNING', 'XXX'}},
|
||||
-- PERF = {icon = ' ', alt = {'OPTIM', 'PERFORMANCE', 'OPTIMIZE'}},
|
||||
-- NOTE = {icon = ' ', color = 'hint', alt = {'INFO'}},
|
||||
-- },
|
||||
-- merge_keywords = true,
|
||||
-- highlight = {
|
||||
-- before = '', -- 'fg' or 'bg' or empty
|
||||
-- keyword = 'fg', -- 'fg', 'bg', 'wide' or empty. (wide is the same as bg, but will also highlight surrounding characters)
|
||||
-- after = '', -- 'fg' or 'bg' or empty
|
||||
-- pattern = [[.*<(KEYWORDS)\s*:]], -- pattern or table of patterns, used for highlightng (vim regex)
|
||||
-- comments_only = true, -- uses treesitter to match keywords in comments only
|
||||
-- max_line_len = 400, -- ignore lines longer than this
|
||||
-- exclude = {'org'}, -- list of file types to exclude highlighting
|
||||
-- },
|
||||
-- colors = {
|
||||
-- error = {'TodoError', 'Red'},
|
||||
-- warning = {'TodoWarn', 'Yellow'},
|
||||
-- info = {'TodoInfo', 'Blue'},
|
||||
-- hint = {'TodoHint', 'Cyan'},
|
||||
-- default = {'TodoDefault', 'White'}
|
||||
-- },
|
||||
-- search = {
|
||||
-- command = 'rg',
|
||||
-- args = {
|
||||
-- '--hidden',
|
||||
-- '--color=never',
|
||||
-- '--no-heading',
|
||||
-- '--with-filename',
|
||||
-- '--line-number',
|
||||
-- '--column',
|
||||
-- },
|
||||
-- -- regex that will be used to match keywords.
|
||||
-- -- don't replace the (KEYWORDS) placeholder
|
||||
-- pattern = [[\b(KEYWORDS):]] -- ripgrep regex
|
||||
-- -- pattern = [[\b(KEYWORDS)\b]] -- match without the extra colon. You'll likely get false positives
|
||||
-- }
|
||||
-- }
|
||||
-- end
|
||||
|
||||
function M.outline_conf()
|
||||
vim.g.symbols_outline = {
|
||||
highlight_hovered_item = false,
|
||||
|
@ -150,7 +150,7 @@ function M.load_options()
|
||||
|
||||
-- Undo file path
|
||||
opt.undofile = true
|
||||
opt.undodir = vim.fn.stdpath('cache') .. '/undodir'
|
||||
opt.undodir = vim.fn.stdpath('data') .. '/undodir'
|
||||
end
|
||||
|
||||
return M
|
||||
|
@ -119,7 +119,7 @@ return require('packer').startup(
|
||||
}
|
||||
use {
|
||||
'machakann/vim-sandwich',
|
||||
keys = {'sa', 'sd', 'sr'}
|
||||
keys = 's'
|
||||
}
|
||||
use {
|
||||
'phaazon/hop.nvim',
|
||||
@ -177,6 +177,12 @@ return require('packer').startup(
|
||||
cmd = {'Trouble', 'TroubleToggle', 'TroubleRefresh'},
|
||||
config = lsp.trouble_conf
|
||||
}
|
||||
-- use { -- FIX: conflict highlights with hop.nvim
|
||||
-- 'folke/todo-comments.nvim',
|
||||
-- wants = 'plenary.nvim',
|
||||
-- event = 'BufRead',
|
||||
-- config = lsp.comments_conf
|
||||
-- }
|
||||
use {
|
||||
'simrat39/symbols-outline.nvim',
|
||||
cmd = {'SymbolsOutline', 'SymbolsOutlineOpen'},
|
||||
@ -392,6 +398,6 @@ return require('packer').startup(
|
||||
-- use {'dstein64/vim-startuptime', cmd = 'StartupTime'} -- Just for benchmarking
|
||||
|
||||
-- TODO: dial.nvim, rust-tools.nvim, crates.nvim, go.nvim, clojure-vim/*,
|
||||
-- vim-pandoc, nvim-bqf, todo-comments.nvim, nvim-comment-frame
|
||||
-- vim-pandoc, nvim-bqf, nvim-comment-frame
|
||||
end
|
||||
)
|
||||
|
Loading…
Reference in New Issue
Block a user