neovim: add indent-blankline, use which-key for mappings

Also add more nord highlight groups
This commit is contained in:
FollieHiyuki 2021-07-08 23:08:10 +03:00
parent e03162b21a
commit 52b9be4bee
No known key found for this signature in database
GPG Key ID: 813CF484F4993419
14 changed files with 312 additions and 147 deletions

View File

@ -1,18 +1,13 @@
local M = {} local M = {}
local function hi(group, guifg, guibg, attr, guisp) local function hi(group, guifg, guibg, attr, guisp)
if guifg ~= '' then local fg = guifg ~= '' and 'guifg=' .. guifg or 'guifg=NONE'
vim.cmd('hi ' .. group .. ' guifg=' .. guifg) local bg = guibg ~= '' and 'guibg=' .. guibg or 'guibg=NONE'
end local style = attr ~= '' and 'gui=' .. attr or 'gui=NONE'
if guibg ~= '' then local sp = guisp ~= '' and 'guisp=' .. guisp or ''
vim.cmd('hi ' .. group .. ' guibg=' .. guibg)
end local hl = 'hi ' .. group .. ' ' .. fg .. ' ' .. bg .. ' ' .. style .. ' ' .. sp
if attr ~= '' then vim.cmd(hl)
vim.cmd('hi ' .. group .. ' gui=' .. attr)
end
if guisp ~= '' then
vim.cmd('hi ' .. group .. ' guisp=' .. guisp)
end
end end
M.colors = { M.colors = {
@ -33,8 +28,7 @@ M.colors = {
yellow = '#EBCB8B', yellow = '#EBCB8B',
green = '#A3BE8C', green = '#A3BE8C',
purple = '#B48EAD', purple = '#B48EAD',
highlight = '#7B88A1', highlight = '#7B88A1'
none = 'NONE'
} }
local c = M.colors local c = M.colors
@ -57,14 +51,14 @@ function M.highlight()
-- Editor -- Editor
hi('ColorColumn', '' , c.grey1, '', '') hi('ColorColumn', '' , c.grey1, '', '')
hi('Cursor' , c.black , c.fg , '', '') hi('Cursor' , c.black , c.fg , '', '')
hi('CursorLine' , c.grey1 , '' , 'NONE', '') hi('CursorLine' , c.grey1 , '' , '', '')
hi('Error' , c.fg , c.red , '', '') hi('Error' , c.fg , c.red , '', '')
hi('iCursor' , c.black , c.fg , '', '') hi('iCursor' , c.black , c.fg , '', '')
hi('LineNr' , c.grey3 , c.none , '', '') hi('LineNr' , c.grey3 , '' , '', '')
hi('MatchParen' , c.cyan , c.grey3, '', '') hi('MatchParen' , c.cyan , c.grey3, '', '')
hi('NonText' , c.grey2 , '' , '', '') hi('NonText' , c.grey2 , '' , '', '')
hi('Normal' , c.fg , c.black, '', '') hi('Normal' , c.fg , c.black, '', '')
hi('Pmenu' , c.fg , c.grey2, 'NONE', '') hi('Pmenu' , c.fg , c.grey2, '', '')
hi('PmenuSbar' , c.fg , c.grey2, '', '') hi('PmenuSbar' , c.fg , c.grey2, '', '')
hi('PmenuSel' , c.cyan , c.grey3, '', '') hi('PmenuSel' , c.cyan , c.grey3, '', '')
hi('PmenuThumb' , c.cyan , c.grey3, '', '') hi('PmenuThumb' , c.cyan , c.grey3, '', '')
@ -82,11 +76,11 @@ function M.highlight()
hi('TermCursorNC' , '' , c.grey2, '', '') hi('TermCursorNC' , '' , c.grey2, '', '')
-- Gutter -- Gutter
hi('CursorColumn', c.grey1, '' , '' , '') hi('CursorColumn', c.grey1, '' , '', '')
hi('CursorLineNr', c.fg , '' , 'NONE', '') hi('CursorLineNr', c.fg , '' , '', '')
hi('Folded' , c.grey3, c.grey1, 'bold', '') hi('Folded' , c.grey3, c.grey1, '', '')
hi('FoldColumn' , c.grey3, c.black, '' , '') hi('FoldColumn' , c.grey3, c.black, '', '')
hi('SignColumn' , c.grey1, c.black, '' , '') hi('SignColumn' , c.grey1, c.black, '', '')
-- Navigation -- Navigation
hi('Directory', c.cyan, '', '', '') hi('Directory', c.cyan, '', '', '')
@ -101,23 +95,23 @@ function M.highlight()
hi('WildMenu' , c.cyan , c.grey1 , '', '') hi('WildMenu' , c.cyan , c.grey1 , '', '')
-- Statusline -- Statusline
hi('StatusLine' , c.cyan, c.grey3, 'NONE', '') hi('StatusLine' , c.cyan, c.grey3, '', '')
hi('StatusLineNC' , c.fg , c.grey3, 'NONE', '') hi('StatusLineNC' , c.fg , c.grey3, '', '')
hi('StatusLineTerm' , c.cyan, c.grey3, 'NONE', '') hi('StatusLineTerm' , c.cyan, c.grey3, '', '')
hi('StatusLineTermNC', c.fg , c.grey3, 'NONE', '') hi('StatusLineTermNC', c.fg , c.grey3, '', '')
-- Search -- Search
hi('IncSearch', c.white2, c.dark_blue, 'underline', '') hi('IncSearch', c.white2, c.dark_blue, 'underline', '')
hi('Search' , c.grey1 , c.cyan , 'NONE' , '') hi('Search' , c.grey1 , c.cyan , '' , '')
-- Tabline -- Tabline
hi('TabLine' , c.fg , c.grey1, 'NONE', '') hi('TabLine' , c.fg , c.grey1, '', '')
hi('TabLineFill', c.fg , c.grey1, 'NONE', '') hi('TabLineFill', c.fg , c.grey1, '', '')
hi('TabLineSel' , c.cyan, c.grey3, 'NONE', '') hi('TabLineSel' , c.cyan, c.grey3, '', '')
-- Window -- Window
hi('Title', c.fg, '', 'NONE', '') hi('Title', c.fg, '', '', '')
hi('VertSplit', c.grey2, c.black, 'NONE', '') hi('VertSplit', c.grey2, c.black, '', '')
-------------------------- --------------------------
-- Language base groups -- -- Language base groups --
@ -133,13 +127,13 @@ function M.highlight()
hi('Exception', c.blue, '', '', '') hi('Exception', c.blue, '', '', '')
hi('Float', c.purple, '', '', '') hi('Float', c.purple, '', '', '')
hi('Function', c.cyan, '', '', '') hi('Function', c.cyan, '', '', '')
hi('Identifier', c.fg, '', 'NONE', '') hi('Identifier', c.fg, '', '', '')
hi('Include', c.blue, '', '', '') hi('Include', c.blue, '', '', '')
hi('Keyword', c.blue, '', '', '') hi('Keyword', c.blue, '', '', '')
hi('Label', c.blue, '', '', '') hi('Label', c.blue, '', '', '')
hi('Number', c.purple, '', '', '') hi('Number', c.purple, '', '', '')
hi('Operator', c.blue, '', 'NONE', '') hi('Operator', c.blue, '', '', '')
hi('PreProc', c.blue, '', 'NONE', '') hi('PreProc', c.blue, '', '', '')
hi('Repeat', c.blue, '', '', '') hi('Repeat', c.blue, '', '', '')
hi('Special', c.fg, '', '', '') hi('Special', c.fg, '', '', '')
hi('SpecialChar', c.yellow, '', '', '') hi('SpecialChar', c.yellow, '', '', '')
@ -149,8 +143,8 @@ function M.highlight()
hi('String', c.green, '', '', '') hi('String', c.green, '', '', '')
hi('Structure', c.blue, '', '', '') hi('Structure', c.blue, '', '', '')
hi('Tag', c.fg, '', '', '') hi('Tag', c.fg, '', '', '')
hi('Todo', c.yellow, c.none, '', '') hi('Todo', c.yellow, '', '', '')
hi('Type', c.blue, '', 'NONE', '') hi('Type', c.blue, '', '', '')
hi('Typedef', c.blue, '', '', '') hi('Typedef', c.blue, '', '', '')
vim.cmd('hi! link Macro Define') vim.cmd('hi! link Macro Define')
vim.cmd('hi! link PreCondit PreProc') vim.cmd('hi! link PreCondit PreProc')
@ -189,6 +183,15 @@ function M.highlight()
hi('DiffChange', c.yellow, c.grey1, '', '') hi('DiffChange', c.yellow, c.grey1, '', '')
hi('DiffDelete', c.red , c.grey1, '', '') hi('DiffDelete', c.red , c.grey1, '', '')
hi('DiffText' , c.blue , c.grey1, '', '') hi('DiffText' , c.blue , c.grey1, '', '')
-- Legacy diff groups for some plugins
hi('diffOldFile', c.dark_blue, c.grey1, '', '')
hi('diffNewFile', c.blue, c.grey1, '', '')
hi('diffFile', c.cyan, c.grey1, '', '')
hi('diffLine', c.purple, c.grey1, '', '')
hi('diffIndexLine', c.fg, c.grey1, '', '')
vim.cmd('hi! link diffAdded DiffAdd')
vim.cmd('hi! link diffRemoved DiffDelete')
vim.cmd('hi! link diffChanged DiffChange')
--------------------- ---------------------
-- Plugins' groups -- -- Plugins' groups --
@ -198,12 +201,41 @@ function M.highlight()
hi('GitSignsChangeNr', c.yellow, '', '', '') hi('GitSignsChangeNr', c.yellow, '', '', '')
hi('GitSignsDeleteNr', c.red , '', '', '') hi('GitSignsDeleteNr', c.red , '', '', '')
-- BufferLine
hi('BufferLineIndicatorSelected', c.black, '', '', '')
hi('BufferLineFill', c.black, '', '', '')
-- Dashboard -- Dashboard
hi('DashboardHeader' , c.cyan , '', 'bold' , '') hi('DashboardHeader' , c.cyan , '', 'bold' , '')
hi('DashboardCenter' , c.blue , '', 'bold' , '') hi('DashboardCenter' , c.blue , '', 'bold' , '')
hi('DashboardShortcut', c.grey_bright, '', 'bold,italic', '') hi('DashboardShortcut', c.grey_bright, '', 'bold,italic', '')
hi('DashboardFooter' , c.green , '', 'bold' , '') hi('DashboardFooter' , c.green , '', 'bold' , '')
-- NvimTree
hi('NvimTreeRootFolder' , c.teal , '', 'bold', '')
hi('NvimTreeGitDirty' , c.yellow , '', '', '')
hi('NvimTreeGitNew' , c.green , '', '', '')
hi('NvimTreeImageFile' , c.purple , '', '', '')
hi('NvimTreeExecFile' , c.green , '', '', '')
hi('NvimTreeSpecialFile' , c.dark_blue, '', 'underline', '')
hi('NvimTreeFolderName' , c.blue , '', '', '')
hi('NvimTreeEmptyFolderName', c.grey3 , '', '', '')
hi('NvimTreeFolderIcon' , c.fg , '', '', '')
hi('NvimTreeIndentMarker' , c.grey3 , '', '', '')
hi('NvimTreeNormal' , c.fg , c.black, '', '')
-- WhichKey
hi('WhichKey' , c.green , '', 'bold', '')
hi('WhichKeyGroup' , c.cyan , '', '' , '')
hi('WhichKeyDesc' , c.blue , '', '' , '')
hi('WhichKeySeperator', c.grey3 , '', '' , '')
hi('WhichKeyFloating' , c.fg , '', '' , '')
hi('WhichKeyFloat' , c.grey_bright, '', '' , '')
-- Indent Blankline
hi('IndentBlanklineChar', c.grey1, '', '', '')
hi('IndentBlanklineContextChar', c.grey1, '', '', '')
-- ts-rainbow -- ts-rainbow
hi('rainbowcol1', c.red, '', 'bold', '') hi('rainbowcol1', c.red, '', 'bold', '')
hi('rainbowcol2', c.orange, '', 'bold', '') hi('rainbowcol2', c.orange, '', 'bold', '')
@ -212,6 +244,39 @@ function M.highlight()
hi('rainbowcol5', c.cyan, '', 'bold', '') hi('rainbowcol5', c.cyan, '', 'bold', '')
hi('rainbowcol6', c.blue, '', 'bold', '') hi('rainbowcol6', c.blue, '', 'bold', '')
hi('rainbowcol7', c.purple, '', 'bold', '') hi('rainbowcol7', c.purple, '', 'bold', '')
-- Treesitter
hi('TSAnnotation' , c.orange, '', '', '')
hi('TSCharacter' , c.fg , '', '', '')
hi('TSConstructor' , c.blue , '', '', '')
hi('TSConstant' , c.fg , '', '', '')
hi('TSFloat' , c.purple, '', '', '')
hi('TSNumber' , c.purple, '', '', '')
hi('TSString' , c.green , '', '', '')
hi('TSAttribute' , c.purple, '', '', '')
hi('TSBoolean' , c.blue , '', '', '')
hi('TSConstBuiltin', c.teal , '', '', '')
hi('TSConstMacro' , c.teal , '', '', '')
hi('TSError' , c.fg , c.red, '', '')
hi('TSException' , c.red , '', 'underline', '')
hi('TSField' , c.fg , '', '', '')
hi('TSFuncMacro' , c.cyan , '', '', '')
hi('TSInclude' , c.teal , '', '', '')
hi('TSLabel' , c.blue , '', '', '')
hi('TSNamespace' , c.teal , '', '', '')
hi('TSOperator' , c.blue , '', '', '')
hi('TSParameter' , c.dark_blue, '', '', '')
hi('TSParameterReference', c.dark_blue, '', '', '')
hi('TSProperty' , c.fg , '', '', '')
hi('TSPunctDelimiter', c.white2, '', '', '')
hi('TSPunctBracket', c.white2, '', '', '')
hi('TSPunctSpecial', c.white2 , '', '', '')
hi('TSStringRegex' , c.teal, '', '', '')
hi('TSStringEscape', c.grey2, '', '', '')
hi('TSSymbol' , c.purple, '', '', '')
hi('TSType' , c.blue , '', '', '')
hi('TSTypeBuiltin' , c.blue, '', '', '')
hi('TSTag' , c.teal, '', '', '')
end end
return M return M

View File

@ -1,18 +1,13 @@
local M = {} local M = {}
local function hi(group, guifg, guibg, attr, guisp) local function hi(group, guifg, guibg, attr, guisp)
if guifg ~= '' then local fg = guifg ~= '' and 'guifg=' .. guifg or 'guifg=NONE'
vim.cmd('hi ' .. group .. ' guifg=' .. guifg) local bg = guibg ~= '' and 'guibg=' .. guibg or 'guibg=NONE'
end local style = attr ~= '' and 'gui=' .. attr or 'gui=NONE'
if guibg ~= '' then local sp = guisp ~= '' and 'guisp=' .. guisp or ''
vim.cmd('hi ' .. group .. ' guibg=' .. guibg)
end local hl = 'hi ' .. group .. ' ' .. fg .. ' ' .. bg .. ' ' .. style .. ' ' .. sp
if attr ~= '' then vim.cmd(hl)
vim.cmd('hi ' .. group .. ' gui=' .. attr)
end
if guisp ~= '' then
vim.cmd('hi ' .. group .. ' guisp=' .. guisp)
end
end end
M.colors = { M.colors = {
@ -34,8 +29,7 @@ M.colors = {
yellow = '#E5C07B', yellow = '#E5C07B',
green = '#98C379', green = '#98C379',
purple = '#C678DD', purple = '#C678DD',
highlight = '#9CA0A4', highlight = '#9CA0A4'
none = 'NONE'
} }
local c = M.colors local c = M.colors

View File

@ -22,8 +22,11 @@ end
function M.load_autocmds() function M.load_autocmds()
local definitions = { local definitions = {
packer = { plugins = {
{"BufWritePost", "*.lua", "lua require('events').packer_compile()"} -- Re-compile packer on config changed
{"BufWritePost", "*.lua", "lua require('events').packer_compile()"},
-- Blankline is lazy-load
{"CursorMoved", [[* IndentBlanklineRefresh]]}
}, },
-- Edit binary files in hex with xxd (:%!xxd and :%!xxd -r) -- Edit binary files in hex with xxd (:%!xxd and :%!xxd -r)

View File

@ -1,74 +1,72 @@
local function map(mode, lhs, rhs, opts) local api = vim.api
local options = {noremap = true, silent = true} local wk = require('which-key')
if opts then
options = vim.tbl_extend('force', options, opts)
end
vim.api.nvim_set_keymap(mode, lhs, rhs, options)
end
local opt = {}
-------------------- --------------------
-- Basic bindings -- -- Basic bindings --
-------------------- --------------------
-- No one likes Esc -- No one likes Esc
map('i', 'jk', [[<Esc>]], opt) api.nvim_set_keymap('i', 'jk', [[<Esc>]], {noremap = true, silent = true})
-- Better Y -- Escape to normal mode in terminal buffer
map('n', 'Y', [[y$]], opt) api.nvim_set_keymap('t', '<Esc>', '<C-\\><C-n>', {noremap = true, silent = true})
-- Continuous indent -- Continuous indent
map('v', '<', '<gv', opt) api.nvim_set_keymap('v', '<', '<gv', {noremap = true, silent = true})
map('v', '>', '>gv', opt) api.nvim_set_keymap('v', '>', '>gv', {noremap = true, silent = true})
-- Escape mode in terminal buffer -- Normal mode
map('t', '<Esc>', '<C-\\><C-n>', opt)
-- Copy the whole buffer
map('n', '<C-a>', [[ <Cmd> %y+<CR>]], opt)
-- 'Legacy' save file
-- map('n', '<C-s>', ':w <CR>', opt)
-- Close buffer
map('n', '<C-x>', ':bd!<CR>', opt)
-- Remove trailing whitespace
map('n', '<A-w>', ':%s/\\s\\+$//e<CR>', opt)
-- Resize buffer
map('n', '<A-j>', ':resize -2<CR>', opt)
map('n', '<A-k>', ':resize +2<CR>', opt)
map('n', '<A-h>', ':vertical resize -2<CR>', opt)
map('n', '<A-l>', ':vertical resize +2<CR>', opt)
-- Switch between tabs and spaces
function toggleIndentStyle()
if vim.o.expandtab == true then
vim.cmd('set noexpandtab nosmarttab softtabstop& shiftwidth&')
vim.cmd('echomsg "Switched to indent with tabs"')
else
vim.opt.expandtab = true
vim.opt.smarttab = true
vim.opt.softtabstop = 4
vim.opt.shiftwidth = 4
vim.cmd('echomsg "Switched to indent with 4 spaces"')
end
end
map('n', '<A-t>', ':lua toggleIndentStyle()<CR>', opt)
-- Move between tabs
map('n', '<TAB>', [[<Cmd>BufferLineCycleNext<CR>]], opt)
map('n', '<S-TAB>', [[<Cmd>BufferLineCyclePrev<CR>]], opt)
-- NvimTree
map('n', '<C-n>', ':NvimTreeToggle<CR>', opt)
---------------
-- Which-key --
---------------
local wk = require('which-key')
-- Don't need to show bufferline numbers
wk.register({ wk.register({
-- Better Y
Y = {'y$', 'Yank to eol'},
-- 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'},
-- Remove trailing whitespace
['<A-w>'] = {':%s/\\s\\+$//e<CR>', 'Remove trailing'},
-- Resize buffer
['<A-j>'] = {':resize -2<CR>', 'Resize vertical -2'},
['<A-k>'] = {':resize +2<CR>', 'Resize vertical +2'},
['<A-h>'] = {':vertical resize -2<CR>', 'Resize horizontal -2'},
['<A-l>'] = {':vertical resize +2<CR>', 'Resize horizontal +2'},
-- Switch between tabs and spaces
['<A-t>'] = {
function()
if vim.o.expandtab == true then
vim.cmd('set noexpandtab nosmarttab softtabstop& shiftwidth&')
vim.cmd('echomsg "Switched to indent with tabs"')
else
vim.opt.expandtab = true
vim.opt.smarttab = true
vim.opt.softtabstop = 4
vim.opt.shiftwidth = 4
vim.cmd('echomsg "Switched to indent with 4 spaces"')
end
end,
'Switch indent style'
},
-- Naming common keys
['['] = {name = 'Block motions (previous)'},
[']'] = {name = 'Block motions (next)'},
g = {name = 'Goto motions'},
z = {name = 'Misc utils'}
})
-------------
-- Plugins --
-------------
-- Normal mode
wk.register({
-- Don't need to show bufferline numbers
['<leader>1'] = 'which_key_ignore', ['<leader>1'] = 'which_key_ignore',
['<leader>2'] = 'which_key_ignore', ['<leader>2'] = 'which_key_ignore',
['<leader>3'] = 'which_key_ignore', ['<leader>3'] = 'which_key_ignore',
@ -77,7 +75,51 @@ wk.register({
['<leader>6'] = 'which_key_ignore', ['<leader>6'] = 'which_key_ignore',
['<leader>7'] = 'which_key_ignore', ['<leader>7'] = 'which_key_ignore',
['<leader>8'] = 'which_key_ignore', ['<leader>8'] = 'which_key_ignore',
['<leader>9'] = 'which_key_ignore' ['<leader>9'] = 'which_key_ignore',
-- Move between tabs
['<TAB>'] = {'<Cmd>BufferLineCycleNext<CR>', 'Next buffer'},
['<S-TAB>'] = {'<Cmd>BufferLineCyclePrev<CR>', 'Previous buffer'},
-- NvimTree
['<C-n>'] = {':NvimTreeToggle<CR>', 'NvimTree'},
-- ToggleTerm
['<C-\\>'] = 'Toggle terminal',
}) })
-- ToggleTerm -- With leader key (normal mode)
wk.register({
-- GitSigns
g = {
name = 'Git',
b = 'Blame current line',
i = 'Preview hunk',
n = 'Next hunk',
p = 'Previous hunk',
r = 'Reset hunk',
R = 'Reset all hunks in buffer',
s = 'Stage hunk',
u = 'Undo hunk'
},
-- Telescope
f = {
name = 'Telescope'
},
b = {
name = 'Buffer',
n = {':DashboardNewFile<CR>', 'New file'}
}
}, {prefix = '<leader>'})
-- With leader key (visual mode)
wk.register({
-- GitSigns
g = {
name = 'Git',
r = 'Reset hunk',
s = 'Stage hunk'
}
}, {mode = 'v', prefix = '<leader>'})

View File

@ -0,0 +1,45 @@
local function blankline_options()
vim.g.indent_blankline_char = ''
vim.g.indent_blankline_show_first_indent_level = true
vim.g.indent_blankline_filetype_exclude = {
'startify',
'dashboard',
'dotooagenda',
'log',
'fugitive',
'gitcommit',
'packer',
'vimwiki',
'markdown',
'json',
'txt',
'vista',
'help',
'todoist',
'NvimTree',
'peekaboo',
'git',
'TelescopePrompt',
'undotree',
'flutterToolsOutline',
'' -- for all buffers without a file type
}
vim.g.indent_blankline_buftype_exclude = {'terminal', 'nofile'}
vim.g.indent_blankline_show_trailing_blankline_indent = false
vim.g.indent_blankline_show_current_context = true
vim.g.indent_blankline_context_patterns = {
'class',
'function',
'method',
'block',
'list_literal',
'selector',
'^if',
'^table',
'if_statement',
'while',
'for'
}
end
blankline_options()

View File

@ -1,4 +1,4 @@
return require('colorizer').setup( return require('colorizer').setup {
{'*'}, {'*'},
{ {
RGB = true, -- #RGB hex codes RGB = true, -- #RGB hex codes
@ -11,4 +11,4 @@ return require('colorizer').setup(
css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn css_fn = true, -- Enable all CSS *functions*: rgb_fn, hsl_fn
mode = 'background' -- Set the display mode. mode = 'background' -- Set the display mode.
} }
) }

View File

@ -10,8 +10,7 @@ local function dashboard_options()
b = {description = {' Recents SPC f o'}, command = 'Telescope oldfiles'}, b = {description = {' Recents SPC f o'}, command = 'Telescope oldfiles'},
c = {description = {' Find Word SPC f w'}, command = 'Telescope live_grep'}, c = {description = {' Find Word SPC f w'}, command = 'Telescope live_grep'},
d = {description = {'洛 New File SPC b n'}, command = 'DashboardNewFile'}, d = {description = {'洛 New File SPC b n'}, command = 'DashboardNewFile'},
e = {description = {' Bookmarks SPC f m'}, command = 'Telescope marks'}, e = {description = {' Bookmarks SPC f m'}, command = 'Telescope marks'}
f = {description = {' Load Last Session SPC s l'}, command = 'SessionLoad'}
} }
vim.g.dashboard_custom_header = { vim.g.dashboard_custom_header = {
" ", " ",

View File

@ -12,8 +12,8 @@ return require('gitsigns').setup {
noremap = true, noremap = true,
buffer = true, buffer = true,
['n ]c'] = { expr = true, '&diff ? \']c\' : \'<cmd>lua require"gitsigns.actions".next_hunk()<CR>\''}, ['n <leader>gn'] = {expr = true, '&diff ? \'<leader>gn\' : \'<cmd>lua require"gitsigns.actions".next_hunk()<CR>\''},
['n [c'] = { expr = true, '&diff ? \'[c\' : \'<cmd>lua require"gitsigns.actions".prev_hunk()<CR>\''}, ['n <leader>gp'] = {expr = true, '&diff ? \'<leader>gp\' : \'<cmd>lua require"gitsigns.actions".prev_hunk()<CR>\''},
['n <leader>gs'] = '<cmd>lua require"gitsigns".stage_hunk()<CR>', ['n <leader>gs'] = '<cmd>lua require"gitsigns".stage_hunk()<CR>',
['v <leader>gs'] = '<cmd>lua require"gitsigns".stage_hunk({vim.fn.line("."), vim.fn.line("v")})<CR>', ['v <leader>gs'] = '<cmd>lua require"gitsigns".stage_hunk({vim.fn.line("."), vim.fn.line("v")})<CR>',
@ -21,7 +21,7 @@ return require('gitsigns').setup {
['n <leader>gr'] = '<cmd>lua require"gitsigns".reset_hunk()<CR>', ['n <leader>gr'] = '<cmd>lua require"gitsigns".reset_hunk()<CR>',
['v <leader>gr'] = '<cmd>lua require"gitsigns".reset_hunk({vim.fn.line("."), vim.fn.line("v")})<CR>', ['v <leader>gr'] = '<cmd>lua require"gitsigns".reset_hunk({vim.fn.line("."), vim.fn.line("v")})<CR>',
['n <leader>gR'] = '<cmd>lua require"gitsigns".reset_buffer()<CR>', ['n <leader>gR'] = '<cmd>lua require"gitsigns".reset_buffer()<CR>',
['n <leader>gp'] = '<cmd>lua require"gitsigns".preview_hunk()<CR>', ['n <leader>gi'] = '<cmd>lua require"gitsigns".preview_hunk()<CR>',
['n <leader>gb'] = '<cmd>lua require"gitsigns".blame_line(true)<CR>' ['n <leader>gb'] = '<cmd>lua require"gitsigns".blame_line(true)<CR>'
}, },
watch_index = { watch_index = {

View File

@ -1,9 +1,9 @@
local function tree_options() local function tree_options()
vim.g.nvim_tree_width = 35 vim.g.nvim_tree_width = 35
vim.g.nvim_tree_ignore = { '.git', '.hg', '.svn', 'node_modules' } vim.g.nvim_tree_ignore = {'.git', '.hg', '.svn', 'node_modules'}
vim.g.nvim_tree_auto_open = 1 vim.g.nvim_tree_auto_open = 1
vim.g.nvim_tree_auto_close = 1 vim.g.nvim_tree_auto_close = 1
vim.g.nvim_tree_auto_ignore_ft = { 'dashboard' } vim.g.nvim_tree_auto_ignore_ft = {'dashboard'}
vim.g.nvim_tree_follow = 1 vim.g.nvim_tree_follow = 1
vim.g.nvim_tree_indent_markers = 1 vim.g.nvim_tree_indent_markers = 1
vim.g.nvim_tree_git_hl = 1 vim.g.nvim_tree_git_hl = 1

View File

@ -1,20 +1,14 @@
local M = {} return require('toggleterm').setup {
open_mapping = [[<c-\>]],
M.config = function() shade_terminals = false,
require('toggleterm').setup { float_opts = {
open_mapping = [[<c-\>]], border = 'curved',
shade_terminals = false, width = 80,
float_opts = { height = 80,
border = 'curved', winblend = 3,
width = 80, highlights = {
height = 80, border = 'Normal',
winblend = 3, background = 'Normal'
highlights = {
border = 'Normal',
background = 'Normal'
}
} }
} }
end }
return M

View File

@ -0,0 +1,16 @@
return require('which-key').setup {
plugins = {
spelling = {
enabled = true,
suggestions = 30
}
},
icons = {
breadcrumb = "»",
separator = "",
group = "+"
},
layout = {
align = 'center'
}
}

View File

@ -6,7 +6,7 @@ local function load_options()
vim.cmd('set iskeyword+=-') vim.cmd('set iskeyword+=-')
-- General settings -- General settings
opt.mouse = 'a' opt.mouse = 'nv'
opt.errorbells = false opt.errorbells = false
opt.visualbell = false opt.visualbell = false
opt.hidden = true opt.hidden = true

View File

@ -43,14 +43,16 @@ return packer.startup(
} }
use { use {
'folke/which-key.nvim', 'folke/which-key.nvim',
require('which-key').setup() config = function()
require('modules.whichkey')
end
} }
-- Utils -- Utils
use { use {
'akinsho/nvim-toggleterm.lua', 'akinsho/nvim-toggleterm.lua',
config = function() config = function()
require('modules.terminal').config() require('modules.terminal')
end end
} }
@ -72,6 +74,12 @@ return packer.startup(
vim.cmd('ColorizerReloadAllBuffers') vim.cmd('ColorizerReloadAllBuffers')
end end
} }
use {
'lukas-reineke/indent-blankline.nvim',
config = function()
require('modules.blankline')
end
}
use { use {
'nvim-treesitter/nvim-treesitter', 'nvim-treesitter/nvim-treesitter',
run = ':TSUpdate', run = ':TSUpdate',

View File

@ -304,7 +304,6 @@ disabled = false
python_binary = "python3" python_binary = "python3"
pyenv_version_name = false pyenv_version_name = false
pyenv_prefix = "pyenv" pyenv_prefix = "pyenv"
scan_for_pyfiles = true
symbol = " " symbol = " "
style = "yellow bold" style = "yellow bold"
format = "via [${symbol}${pyenv_prefix}${version}( \\($virtualenv\\))]($style) " format = "via [${symbol}${pyenv_prefix}${version}( \\($virtualenv\\))]($style) "