239 lines
10 KiB
Lua
239 lines
10 KiB
Lua
return {
|
|
{
|
|
'folke/which-key.nvim',
|
|
opts = {
|
|
spec = {
|
|
{
|
|
mode = { 'n', 'v' },
|
|
{
|
|
'<LEADER>',
|
|
group = 'leader',
|
|
icon = { icon = '', color = 'green' },
|
|
},
|
|
{ '<LEADER>K', desc = 'keyword program' },
|
|
|
|
{ '<DEL>', desc = 'cut' },
|
|
|
|
{ 'c', desc = 'change' },
|
|
{ 'C', desc = 'change to end of line' },
|
|
{ 'd', desc = 'delete' },
|
|
|
|
{ 'D', desc = 'delete to end of line' },
|
|
|
|
{ 'g', group = 'goto' },
|
|
{ 'gd', desc = 'definition' },
|
|
{ 'gD', desc = 'declaration' },
|
|
{ 'gI', desc = 'implementation' },
|
|
{ 'gy', desc = 't[y]pe definition' },
|
|
{ 'ge', desc = 'previous end of word', icon = '' },
|
|
{ 'gf', desc = 'file under cursor' },
|
|
{ 'gg', desc = 'first line', icon = '' },
|
|
{ 'gi', desc = 'last insert' },
|
|
{ 'gO', desc = 'document symbols', icon = '' },
|
|
{ 'gt', desc = 'next tab page' },
|
|
{ 'gT', desc = 'previous tab page' },
|
|
{ 'gu', desc = 'make lowercase', icon = '' },
|
|
{ 'gU', desc = 'make uppercase', icon = '' },
|
|
{ 'gx', desc = 'open with system app', icon = '' },
|
|
{ 'g,', desc = 'newer position in change list' },
|
|
{ 'g;', desc = 'older position in change list' },
|
|
{ 'g[', desc = 'left "around"' },
|
|
{ 'g]', desc = 'right "around"' },
|
|
{
|
|
'gs',
|
|
group = 'surround',
|
|
icon = { icon = '', color = 'purple' },
|
|
},
|
|
|
|
{ 'K', desc = 'keyword program' },
|
|
|
|
{ 'M', desc = 'middle line of window', icon = '' },
|
|
{ 'x', desc = 'cut' },
|
|
{ 'X', desc = 'cut to end of line' },
|
|
{ 'Y', desc = 'yank to end of line' },
|
|
|
|
{ 'z', group = 'fold/scroll/spell', icon = '' },
|
|
{ 'zb', desc = 'bottom this line', icon = '' },
|
|
{ 'ze', desc = 'right this line', icon = '' },
|
|
{ 'zH', desc = 'half screen to the left', icon = '' },
|
|
{ 'zL', desc = 'half screen to the right', icon = '' },
|
|
{ 'zs', desc = 'left this line', icon = '' },
|
|
{ 'zt', desc = 'top this line', icon = '' },
|
|
{ 'zz', desc = 'center this line', icon = '' },
|
|
{ 'z<CR>', desc = 'top this line', icon = '' },
|
|
|
|
{ '[', group = 'previous', icon = '' },
|
|
{ '[h', desc = 'hunk' },
|
|
{ '[[', desc = 'reference' },
|
|
{ '[b', desc = 'buffer' },
|
|
{ '[B', desc = 'move buffer backwards' },
|
|
{ '[d', desc = 'diagnostic' },
|
|
{ '[D', desc = 'first diagnostic' },
|
|
{ '[e', desc = 'error' },
|
|
{ '[i', desc = 'top edge of scope' },
|
|
{ '[l', desc = 'location list item' },
|
|
{ '[L', desc = 'prev or first location list item' },
|
|
{ '[m', desc = 'method start' },
|
|
{ '[M', desc = 'method end' },
|
|
{ '[p', desc = 'put & indent before' },
|
|
{ '[P', desc = 'put & indent before' },
|
|
{ '[q', desc = 'trouble/quickfix item' },
|
|
{ '[Q', desc = 'prev or first trouble/quickfix item' },
|
|
{ '[s', desc = 'misspelled word' },
|
|
{ '[t', desc = 'todo comment' },
|
|
{ '[T', desc = 'matching tag' },
|
|
{ '[w', desc = 'warning' },
|
|
{ '[%', desc = 'unmatched group' },
|
|
{ '[(', desc = '(' },
|
|
{ '[<', desc = '<' },
|
|
{ '[{', desc = '{' },
|
|
{ '[<C-l>', desc = 'location list item in prev file' },
|
|
{ '[<C-q>', desc = 'trouble/quickfix item in prev file' },
|
|
{ '[<C-t>', desc = 'tag in preview window' },
|
|
{ '[<SPACE>', desc = 'add empty line above' },
|
|
|
|
{ ']', group = 'next', icon = '' },
|
|
{ ']h', desc = 'hunk' },
|
|
{ ']]', desc = 'reference' },
|
|
{ ']b', desc = 'buffer' },
|
|
{ ']B', desc = 'move buffer forwards' },
|
|
{ ']d', desc = 'diagnostic' },
|
|
{ ']D', desc = 'last diagnostic' },
|
|
{ ']e', desc = 'error' },
|
|
{ ']i', desc = 'bottom edge of scope' },
|
|
{ ']l', desc = 'location list item' },
|
|
{ ']L', desc = 'prev or last location list item' },
|
|
{ ']m', desc = 'method start' },
|
|
{ ']M', desc = 'method end' },
|
|
{ ']p', desc = 'put & indent after' },
|
|
{ ']P', desc = 'put & indent after' },
|
|
{ ']q', desc = 'trouble/quickfix item' },
|
|
{ ']Q', desc = 'prev or last trouble/quickfix item' },
|
|
{ ']s', desc = 'misspelled word' },
|
|
{ ']t', desc = 'todo comment' },
|
|
{ ']T', desc = 'matching tag' },
|
|
{ ']w', desc = 'warning' },
|
|
{ ']%', desc = 'unmatched group' },
|
|
{ '](', desc = '(' },
|
|
{ ']<', desc = '<' },
|
|
{ ']{', desc = '{' },
|
|
{ ']<C-l>', desc = 'location list item in next file' },
|
|
{ ']<C-q>', desc = 'trouble/quickfix item in next file' },
|
|
{ ']<C-t>', desc = 'tag in preview window' },
|
|
{ ']<SPACE>', desc = 'add empty line below' },
|
|
|
|
{ '!', desc = 'run program', icon = '' },
|
|
{ '&', desc = 'repeat last :subsitute', icon = '' },
|
|
{ '<', desc = 'indent decrease', icon = '' },
|
|
{ '=', group = 'fmt with indentexpr', icon = '' },
|
|
{ '>', desc = 'indent increase', icon = '' },
|
|
{ '_', desc = 'first character of line', icon = '' },
|
|
|
|
{ '<A-j>', desc = 'move line up', icon = '' },
|
|
{ '<A-k>', desc = 'move line down', icon = '' },
|
|
|
|
{ '<C-a>', desc = 'increment (dial)', icon = '' },
|
|
{
|
|
'<C-L>',
|
|
desc = 'clear & redraw',
|
|
icon = { icon = '', color = 'red' },
|
|
},
|
|
{ '<C-x>', desc = 'decrement (dial)', icon = '' },
|
|
|
|
{ '<ESC>', desc = 'clear search highlight' },
|
|
},
|
|
|
|
{
|
|
mode = { 'n', 'i', 'o' },
|
|
hidden = true,
|
|
{ '<DOWN>' },
|
|
{ '<UP>' },
|
|
{ '<LEFT>' },
|
|
{ '<RIGHT>' },
|
|
{ '<SCROLLWHEELUP>' },
|
|
{ '<SCROLLWHEELDOWN>' },
|
|
},
|
|
{
|
|
mode = { 'n', 'x', 'o' },
|
|
hidden = true,
|
|
{ 'j' },
|
|
{ 'k' },
|
|
{ 'h' },
|
|
{ 'l' },
|
|
{ '<PLUG>' },
|
|
{ 'xx' },
|
|
},
|
|
},
|
|
|
|
icons = {
|
|
rules = {
|
|
{ pattern = 'start of line', icon = '' },
|
|
{ pattern = 'end of line', icon = '' },
|
|
{ pattern = 'prev[i]?[o]?[u]?[s]? word', icon = '' },
|
|
{ pattern = 'next word', icon = '' },
|
|
{ pattern = 'next end of word', icon = '' },
|
|
{ pattern = 'move to next char', icon = '', color = 'green' },
|
|
{ pattern = 'move to prev char', icon = '', color = 'green' },
|
|
{ pattern = 'last line', icon = '' },
|
|
{ pattern = 'move before next char', icon = '' },
|
|
{ pattern = 'move before prev char', icon = '' },
|
|
{ pattern = 'matching %(%){}%[%]', icon = '' },
|
|
{ pattern = 'start of line %(non ws%)', icon = '' },
|
|
{ pattern = 'prev empty line', icon = '' },
|
|
{ pattern = 'next empty line', icon = '' },
|
|
|
|
{ pattern = 'around', icon = '' },
|
|
{ pattern = 'buffer', color = 'cyan' },
|
|
{ pattern = 'change', icon = '', color = 'cyan' },
|
|
{ pattern = 'comment', icon = '' },
|
|
{ pattern = 'cut', icon = '', color = 'red' },
|
|
{ pattern = 'delete', icon = '', color = 'red' },
|
|
{ pattern = 'diagnostic', icon = '', hl = 'DiagnosticInfo' },
|
|
{ pattern = 'error', icon = '', hl = 'DiagnosticError' },
|
|
{ pattern = 'explorer', icon = '', color = 'yellow' },
|
|
{ pattern = 'find', icon = '', color = 'green' },
|
|
{ pattern = 'flash', icon = '', color = 'green' },
|
|
{ pattern = 'fold', icon = '', color = 'purple' },
|
|
{ pattern = 'format', icon = '', color = 'purple' },
|
|
{ pattern = 'goto', icon = '', color = 'cyan' },
|
|
{ pattern = 'hunk', color = 'orange' },
|
|
{ pattern = 'inside', icon = '' },
|
|
{ pattern = 'lazygit', icon = '', color = 'orange' },
|
|
{ pattern = 'message', icon = '', color = 'orange' },
|
|
{ pattern = 'notification', icon = '', color = 'orange' },
|
|
{ pattern = 'registers', icon = '', color = 'yellow' },
|
|
{ pattern = 'replace', icon = '', colors = 'blue' },
|
|
{ pattern = 'session', icon = '', color = 'azure' },
|
|
{ pattern = 'spell', icon = '', color = 'red' },
|
|
{ pattern = 'subsitute', icon = '', color = 'green' },
|
|
{ pattern = 'visual', icon = '', color = 'purple' },
|
|
{ pattern = 'warning', icon = '', hl = 'DiagnosticWarn' },
|
|
{ pattern = 'yank', icon = '', color = 'yellow' },
|
|
{ pattern = 'prev ftFT', icon = '' },
|
|
{ pattern = 'next ftFT', icon = '' },
|
|
},
|
|
},
|
|
|
|
replace = {
|
|
desc = {
|
|
{ '%u%l', string.lower },
|
|
{ 'prev ([wW][oO][rR][dD])', 'previous %1' },
|
|
{ 'move to next char', 'find next character' },
|
|
{ 'move to prev char', 'find previous character' },
|
|
{ 'move before next char', 'move before character backwards' },
|
|
{ 'move before prev char', 'move before character fowards' },
|
|
{ 'prev ftFT', 'previous character match' },
|
|
{ 'next ftFT', 'next character match' },
|
|
{ 'start of line %(non ws%)', 'first character of line' },
|
|
{ 'prev empty line', 'previous empty line' },
|
|
{ 'goto %S+ start @parameter.inner', 'parameter start (inner)' },
|
|
{ 'goto %S+ end @parameter.inner', 'parameter end (inner)' },
|
|
{ 'goto %S+ start @class.outer', 'class start (outer)' },
|
|
{ 'goto %S+ end @class.outer', 'class end (outer)' },
|
|
{ 'goto %S+ start @function.outer', 'function start (outer)' },
|
|
{ 'goto %S+ end @function.outer', 'function end (outer)' },
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|