refactor: clean up file tree, remove redundant code, formatting
This commit is contained in:
@@ -1,23 +1,25 @@
|
||||
local autocmd = vim.api.nvim_create_autocmd
|
||||
local augroup = vim.api.nvim_create_augroup
|
||||
local o = vim.opt_local
|
||||
|
||||
-- ──────────────────[ set options for markdown files ]───────────────
|
||||
autocmd('FileType', {
|
||||
pattern = 'markdown',
|
||||
callback = function()
|
||||
vim.opt_local.textwidth = 80
|
||||
vim.opt_local.spell = true
|
||||
o.colorcolumn = '+1,+2'
|
||||
o.textwidth = 80
|
||||
o.spell = true
|
||||
end,
|
||||
})
|
||||
|
||||
-- ─────────────────────[ set options for gitcommit ]─────────────────────
|
||||
--[[ -- ─────────────────────[ set options for gitcommit ]─────────────────────
|
||||
autocmd('FileType', {
|
||||
pattern = 'gitcommit',
|
||||
callback = function()
|
||||
vim.opt_local.textwidth = 78
|
||||
vim.opt_local.spell = true
|
||||
end,
|
||||
})
|
||||
}) ]]
|
||||
|
||||
-- ┌
|
||||
-- │ Highlight on yank
|
||||
@@ -29,4 +31,4 @@ autocmd('TextYankPost', {
|
||||
callback = function()
|
||||
vim.highlight.on_yank({ higroup = 'IncSearch', timeout = '800' })
|
||||
end,
|
||||
})
|
||||
})
|
||||
|
||||
@@ -9,18 +9,55 @@ local function opts(desc)
|
||||
end
|
||||
|
||||
-- ───────────────────────────────────────────────────( general use )─
|
||||
keymap.set('i', 'jk', '<ESC>', opts('Exit insert mode with jk'))
|
||||
keymap.set('i', 'jk', '<ESC>', opts('Exit insert mode'))
|
||||
keymap.set('n', '<leader>nh', ':nohl<CR>', opts('Clear search highlights'))
|
||||
keymap.set({ 'n', 'v' }, '<leader>cm', '<cmd>Noice dismiss<CR>', opts('Dismiss notifications'))
|
||||
keymap.set('n', '<leader>?', '<cmd>Telescope help_tags<CR>', opts('Search documentation'))
|
||||
keymap.set({ 'n', 'v' }, '<leader>cm', '<cmd>NoiceDismiss<CR>', opts('Dismiss notifications'))
|
||||
|
||||
-- ─────────────────────────────────────────────────────( telescope )─
|
||||
keymap.set('n', '<leader>fh', '<cmd>Telescope help_tags<CR>', opts('Search documentation'))
|
||||
keymap.set(
|
||||
'n',
|
||||
'<leader>ff',
|
||||
'<cmd>Telescope find_files initial_mode=insert sort_mru=true sort_lastused=true select_current=true<cr>',
|
||||
opts('Fuzzy find files in cwd')
|
||||
)
|
||||
keymap.set(
|
||||
'n',
|
||||
'<leader>fr',
|
||||
'<cmd>Telescope oldfiles initial_mode=insert sort_mru=true sort_lastused=true select_current=true<cr>',
|
||||
opts('Fuzzy find recent files')
|
||||
)
|
||||
keymap.set('n', '<leader>fs', '<cmd>Telescope current_buffer_fuzzy_find<cr>', opts('Find string in this buffer'))
|
||||
keymap.set('n', '<leader>fS', '<cmd>Telescope live_grep<cr>', opts('Find string in cwd'))
|
||||
keymap.set('n', '<leader>fc', '<cmd>Telescope grep_string<cr>', opts('Find string under cursor in cwd'))
|
||||
keymap.set(
|
||||
'n',
|
||||
'<leader>ft',
|
||||
'<cmd>TodoTelescope initial_mode=normal sort_mru=true sort_lastused=true select_current=true<cr>',
|
||||
opts('Find todos')
|
||||
)
|
||||
keymap.set(
|
||||
'n',
|
||||
'<leader>fb',
|
||||
'<cmd>Telescope buffers initial_mode=normal sort_mru=true sort_lastused=true select_current=true<cr>',
|
||||
opts('Select from open buffers')
|
||||
)
|
||||
keymap.set(
|
||||
'n',
|
||||
'<leader>fn',
|
||||
'<cmd>Telescope find_files cwd=' .. vim.fn.stdpath('config') .. '<cr>',
|
||||
opts('Edit nvim config')
|
||||
)
|
||||
keymap.set('n', '<leader>fm', '<cmd>NoiceTelescope<cr>', opts('Open messages with Telescope'))
|
||||
|
||||
-- ──────────────────────────────────────────────────────( run code )─
|
||||
keymap.set('n', '<leader>cr', '<cmd>MdEval<CR>', opts('Execute markdown codeblock'))
|
||||
keymap.set('n', '<leader><leader>x', '<cmd>source %<CR>', opts('Execute the current file'))
|
||||
keymap.set('n', '<leader>cx', ':.lua<CR>', opts('Execute current line'))
|
||||
keymap.set('v', '<leader>cx', ':lua<CR>', opts('Execute selected code'))
|
||||
|
||||
-- ────────────────────────────────────────────────────( formatting )─
|
||||
keymap.set({ 'n', 'v' }, '<leader>F', function()
|
||||
keymap.set({ 'n', 'v' }, '<leader>cF', function()
|
||||
require('conform').format({
|
||||
lsp_fallback = true,
|
||||
async = false,
|
||||
@@ -29,7 +66,7 @@ keymap.set({ 'n', 'v' }, '<leader>F', function()
|
||||
end, opts('Format file or selection'))
|
||||
|
||||
-- ───────────────────────────────────────────────────────( linting )─
|
||||
keymap.set('n', '<leader>l', function()
|
||||
keymap.set('n', '<leader>cl', function()
|
||||
require('lint').try_lint()
|
||||
end, opts('Trigger linting for current file'))
|
||||
|
||||
@@ -37,6 +74,16 @@ end, opts('Trigger linting for current file'))
|
||||
keymap.set('n', '<leader>+', '<C-a>', opts('Increment number'))
|
||||
keymap.set('n', '<leader>-', '<C-x>', opts('Decrement number'))
|
||||
|
||||
-- ────────────────────────────────────────────────────( bufferline )─
|
||||
keymap.set('n', '<leader>bp', '<cmd>BufferLineTogglePin<CR>', opts('Toggle pinned tab'))
|
||||
keymap.set('n', '<leader>bg', '<cmd>BufferLinePick<CR>', opts('Pick tab'))
|
||||
keymap.set('n', '<leader>bx', '<cmd>bdelete<CR>', opts('Close tab'))
|
||||
keymap.set('n', '<leader>bX', '<cmd>BufferLineCloseOthers<CR>', opts('Close other tabs'))
|
||||
keymap.set('n', ']b', '<cmd>BufferLineCycleNext<CR>', opts('Next tab'))
|
||||
keymap.set('n', '[b', '<cmd>BufferLineCyclePrev<CR>', opts('Previous tab'))
|
||||
keymap.set('n', '<S-L>', '<cmd>BufferLineMoveNext<CR>', opts('Move tab to the right'))
|
||||
keymap.set('n', '<S-H>', '<cmd>BufferLineMovePrev<CR>', opts('Move tab to the left'))
|
||||
|
||||
-- ──────────────────────────────────────────────( split management )─
|
||||
keymap.set('n', '<leader>sv', '<C-w>v', opts('Split window vertically'))
|
||||
keymap.set('n', '<leader>sh', '<C-w>s', opts('Split window horizontally'))
|
||||
@@ -51,16 +98,6 @@ keymap.set('n', '<leader>tx', '<cmd>tabclose<CR>', opts('Close current tab'))
|
||||
-- keymap.set("n", "<leader>tp", "<cmd>tabp<CR>", opts("Go to previous tab"))
|
||||
keymap.set('n', '<leader>tf', '<cmd>tabnew %<CR>', opts('Open current buffer in new tab'))
|
||||
|
||||
-- ────────────────────────────────────────────────────( bufferline )─
|
||||
keymap.set('n', '<leader>bp', '<cmd>BufferLineTogglePin<CR>', opts('Toggle pinned tab'))
|
||||
keymap.set('n', '<leader>bg', '<cmd>BufferLinePick<CR>', opts('Pick tab'))
|
||||
keymap.set('n', '<leader>bx', '<cmd>bdelete<CR>', opts('Close tab'))
|
||||
keymap.set('n', '<leader>bX', '<cmd>BufferLineCloseOthers<CR>', opts('Close other tabs'))
|
||||
keymap.set('n', ']b', '<cmd>BufferLineCycleNext<CR>', opts('Next tab'))
|
||||
keymap.set('n', '[b', '<cmd>BufferLineCyclePrev<CR>', opts('Previous tab'))
|
||||
keymap.set('n', '<S-L>', '<cmd>BufferLineMoveNext<CR>', opts('Move tab to the right'))
|
||||
keymap.set('n', '<S-H>', '<cmd>BufferLineMovePrev<CR>', opts('Move tab to the left'))
|
||||
|
||||
-- ────────────────────────────────────────────( session management )─
|
||||
keymap.set('n', '<leader>wa', '<cmd>SessionToggleAutoSave<CR>', opts('Toggle session autosave'))
|
||||
keymap.set('n', '<leader>wD', '<cmd>Autosession delete<CR>', opts('Delete a session'))
|
||||
@@ -107,41 +144,6 @@ keymap.set(
|
||||
opts('Open todos in trouble')
|
||||
)
|
||||
|
||||
-- ─────────────────────────────────────────────────────( telescope )─
|
||||
keymap.set(
|
||||
'n',
|
||||
'<leader>ff',
|
||||
'<cmd>Telescope find_files initial_mode=insert sort_mru=true sort_lastused=true select_current=true<cr>',
|
||||
opts('Fuzzy find files in cwd')
|
||||
)
|
||||
keymap.set(
|
||||
'n',
|
||||
'<leader>fr',
|
||||
'<cmd>Telescope oldfiles initial_mode=insert sort_mru=true sort_lastused=true select_current=true<cr>',
|
||||
opts('Fuzzy find recent files')
|
||||
)
|
||||
keymap.set('n', '<leader>fs', '<cmd>Telescope current_buffer_fuzzy_find<cr>', opts('Find string in this buffer'))
|
||||
keymap.set('n', '<leader>fS', '<cmd>Telescope live_grep<cr>', opts('Find string in cwd'))
|
||||
keymap.set('n', '<leader>fc', '<cmd>Telescope grep_string<cr>', opts('Find string under cursor in cwd'))
|
||||
keymap.set(
|
||||
'n',
|
||||
'<leader>ft',
|
||||
'<cmd>TodoTelescope initial_mode=normal sort_mru=true sort_lastused=true select_current=true<cr>',
|
||||
opts('Find todos')
|
||||
)
|
||||
keymap.set(
|
||||
'n',
|
||||
'<leader>fb',
|
||||
'<cmd>Telescope buffers initial_mode=normal sort_mru=true sort_lastused=true select_current=true<cr>',
|
||||
opts('Select from open buffers')
|
||||
)
|
||||
keymap.set(
|
||||
'n',
|
||||
'<leader>fn',
|
||||
'<cmd>Telescope find_files cwd=' .. vim.fn.stdpath('config') .. '<cr>',
|
||||
opts('Edit nvim config')
|
||||
)
|
||||
|
||||
-- ────────────────────────────────────────────────────( substitute )─
|
||||
keymap.set('n', 's', function()
|
||||
require('substitute').operator()
|
||||
@@ -156,7 +158,7 @@ keymap.set('x', 's', function()
|
||||
require('substitute').visual()
|
||||
end, opts('Substitute in visual mode'))
|
||||
|
||||
-- ─────────────────────────────────────────────────────( nvim-tree )─
|
||||
-- ──────────────────────────────────────────────────( file browser )─
|
||||
keymap.set('n', '<leader>ee', '<cmd>NvimTreeToggle<CR>', opts('Toggle file explorer'))
|
||||
keymap.set('n', '<leader>ef', '<cmd>NvimTreeFindFileToggle<CR>', opts('Toggle file explorer on current file'))
|
||||
keymap.set('n', '<leader>ec', '<cmd>NvimTreeCollapse<CR>', opts('Collapse file explorer'))
|
||||
@@ -171,10 +173,10 @@ end, opts('Diff this'))
|
||||
keymap.set('n', '<leader>hD', function()
|
||||
require('gitsigns').diffthis('~')
|
||||
end, opts('Diff this ~'))
|
||||
vim.keymap.set('n', '<leader>hw', '<cmd>Gitsigns toggle_word_diff', opts('Toggle word diff'))
|
||||
|
||||
-- ───────────────────────────────────────────────────────────( git )─
|
||||
keymap.set('n', '<leader>Lg', '<cmd>LazyGit<cr>', opts('Open LazyGit'))
|
||||
vim.keymap.set('n', '<leader>hw', '<cmd>Gitsigns toggle_word_diff', opts('Toggle word diff'))
|
||||
keymap.set('n', ']h', function()
|
||||
require('gitsigns').nav_hunk('next')
|
||||
end, opts('Next hunk'))
|
||||
@@ -227,9 +229,6 @@ keymap.set('n', '<leader>cp', '<cmd>CccPick<CR>', opts('Open color picker'))
|
||||
keymap.set({ 'n', 'v' }, '<leader>cv', '<cmd>CccConvert<CR>', opts('Convert color'))
|
||||
keymap.set('n', '<leader>cc', '<cmd>CccHighlighterToggle<CR>', opts('Toggle rendered colors'))
|
||||
|
||||
-- ──────────────────────────────────────────────────────( markdown )─
|
||||
keymap.set('n', '<leader>cr', '<cmd>MdEval<CR>', opts('Execute markdown codeblock'))
|
||||
|
||||
-- ────────────────────────────────────────────────────( spellcheck )─
|
||||
keymap.set('n', '<leader>S', function()
|
||||
if vim.wo.spell then
|
||||
@@ -244,4 +243,4 @@ keymap.set('i', '<C-s>', function()
|
||||
else
|
||||
vim.opt_local.spell = true
|
||||
end
|
||||
end, opts('Toggle spell check'))
|
||||
end, opts('Toggle spell check'))
|
||||
|
||||
@@ -22,14 +22,6 @@ o.number = true
|
||||
o.relativenumber = true
|
||||
-- ──────────────────────────────────────────────────── sign column ──
|
||||
o.signcolumn = 'yes'
|
||||
-- ─────────────────────────────────────────────────────── markdown ──
|
||||
vim.api.nvim_create_autocmd('BufWinEnter', {
|
||||
pattern = { '*.md' },
|
||||
callback = function()
|
||||
o.colorcolumn = '+1,+2'
|
||||
o.textwidth = 80
|
||||
end,
|
||||
})
|
||||
-- ──────────────────────────────────────────────────── cursor line ──
|
||||
o.cursorline = true
|
||||
-- o.scrolloff = 999 -- keep cursor line centered
|
||||
@@ -95,4 +87,4 @@ o.ignorecase = true
|
||||
o.smartcase = true
|
||||
o.iskeyword:append('-') -- consider string-string as a whole word
|
||||
-- ───────────────────────────────────────────────────── completion ──
|
||||
o.completeopt = 'menu,preview,noselect'
|
||||
o.completeopt = 'menu,preview,noselect'
|
||||
Reference in New Issue
Block a user