mirror of
https://github.com/iofq/nvim.nix.git
synced 2026-01-23 08:55:16 -06:00
dart persist + picker
This commit is contained in:
parent
9457c7436e
commit
4b7636090f
13 changed files with 149 additions and 519 deletions
|
|
@ -1,14 +1,9 @@
|
|||
vim.opt.autowrite = true
|
||||
|
||||
vim.opt.backspace = 'indent,eol,start'
|
||||
vim.opt.confirm = true
|
||||
vim.opt.completeopt = { 'menu', 'menuone', 'noselect' }
|
||||
vim.opt.cmdheight = 1
|
||||
vim.opt.diffopt = 'internal,filler,closeoff,inline:char'
|
||||
vim.opt.expandtab = true -- insert tabs as spaces
|
||||
vim.o.foldenable = true
|
||||
vim.o.foldmethod = 'expr' -- use tree-sitter for folding method
|
||||
vim.o.foldexpr = 'v:lua.vim.treesitter.foldexpr()'
|
||||
vim.o.foldlevelstart = 99
|
||||
vim.opt.inccommand = 'split' -- incremental live completion
|
||||
vim.opt.list = true
|
||||
|
|
@ -27,30 +22,6 @@ vim.opt.virtualedit = 'onemore'
|
|||
vim.opt.winborder = 'single'
|
||||
vim.cmd('colorscheme iofq')
|
||||
|
||||
-- Switch tab length on the fly
|
||||
vim.keymap.set('n', '\\t', function()
|
||||
vim.o.tabstop = vim.o.tabstop == 8 and 2 or 2 * vim.o.tabstop
|
||||
end, { silent = true, desc = 'toggle tabstop' })
|
||||
|
||||
-- autocmd
|
||||
----------------------------------------
|
||||
local undopath = vim.fn.stdpath('data') .. 'undo'
|
||||
vim.api.nvim_create_autocmd('VimEnter', {
|
||||
command = 'silent !mkdir -p ' .. undopath,
|
||||
group = vim.api.nvim_create_augroup('Init', {}),
|
||||
})
|
||||
-- open :h in buffers
|
||||
vim.api.nvim_create_autocmd('BufWinEnter', {
|
||||
pattern = '*',
|
||||
callback = function(event)
|
||||
if vim.bo[event.buf].filetype == 'help' then
|
||||
vim.cmd.only()
|
||||
vim.keymap.set('n', 'q', vim.cmd.bdelete, { noremap = true, silent = true })
|
||||
vim.bo.buflisted = false
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Configure Neovim diagnostic messages
|
||||
vim.diagnostic.config {
|
||||
virtual_text = true,
|
||||
|
|
@ -62,62 +33,3 @@ vim.diagnostic.config {
|
|||
source = 'if_many',
|
||||
},
|
||||
}
|
||||
|
||||
-- Allow basic deletion in qflist
|
||||
vim.api.nvim_create_autocmd({ 'FileType' }, {
|
||||
pattern = 'qf',
|
||||
callback = function()
|
||||
vim.keymap.set({ 'n', 'i' }, 'dd', function()
|
||||
local ln = vim.fn.line('.')
|
||||
local qf = vim.fn.getqflist()
|
||||
if #qf == 0 then
|
||||
return
|
||||
end
|
||||
table.remove(qf, ln)
|
||||
vim.fn.setqflist(qf, 'r')
|
||||
vim.cmd('copen')
|
||||
-- move cursor to stay at same index (or up one if at EOF)
|
||||
vim.api.nvim_win_set_cursor(vim.fn.win_getid(), { ln < #qf and ln or math.max(ln - 1, 1), 0 })
|
||||
end, { buffer = true })
|
||||
end,
|
||||
})
|
||||
|
||||
-- random keymaps
|
||||
vim.keymap.set({ 'v', 'i' }, 'wq', '<esc>l', { noremap = true, silent = true })
|
||||
vim.keymap.set({ 'v', 'n' }, 'q:', '<nop>')
|
||||
vim.keymap.set('v', '<', '<gv')
|
||||
vim.keymap.set('v', '>', '>gv')
|
||||
vim.keymap.set('n', 'n', 'nzz', { noremap = true })
|
||||
vim.keymap.set('n', 'N', 'Nzz', { noremap = true })
|
||||
vim.keymap.set('n', '<C-u>', '<C-u>zz', { noremap = true })
|
||||
vim.keymap.set('n', '<C-d>', '<C-d>zz', { noremap = true })
|
||||
vim.keymap.set('v', '<A-j>', ":m '>+1<CR>gv=gv", { desc = 'move selection down' })
|
||||
vim.keymap.set('v', '<A-k>', ":m '<-2<CR>gv=gv", { desc = 'move selection up' })
|
||||
vim.keymap.set('n', 'gq', vim.cmd.bdelete, { noremap = true, silent = true, desc = 'close buffer' })
|
||||
vim.keymap.set('n', 'gQ', function()
|
||||
vim.cmd('bufdo bdelete')
|
||||
end, { noremap = true, silent = true, desc = 'close all buffers' })
|
||||
|
||||
-- custom tabline
|
||||
local dart = require('plugins.lib.dart')
|
||||
dart.setup()
|
||||
|
||||
-- resize splits if window got resized
|
||||
vim.api.nvim_create_autocmd({ 'VimResized' }, {
|
||||
group = vim.api.nvim_create_augroup('resize_splits', { clear = true }),
|
||||
callback = function()
|
||||
local current_tab = vim.fn.tabpagenr()
|
||||
vim.cmd('tabdo wincmd =')
|
||||
vim.cmd('tabnext ' .. current_tab)
|
||||
end,
|
||||
})
|
||||
|
||||
-- Check if we need to reload the file when it changed
|
||||
vim.api.nvim_create_autocmd({ 'FocusGained', 'TermClose', 'TermLeave' }, {
|
||||
group = vim.api.nvim_create_augroup('check_reload', { clear = true }),
|
||||
callback = function()
|
||||
if vim.o.buftype ~= 'nofile' then
|
||||
vim.cmd('checktime')
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue