diff options
| author | Alec Goncharow <alec@goncharow.dev> | 2024-03-06 21:05:37 -0500 |
|---|---|---|
| committer | Alec Goncharow <alec@goncharow.dev> | 2024-03-06 21:05:37 -0500 |
| commit | f1ed7ee1444e2a3f678a934ebb7b3cbafc709ed1 (patch) | |
| tree | 9d3f6f28081e71236ffc4b743ac026d2927c0979 | |
| parent | 5991cc4137857ab65fcdd5bfc8cd1a6d028a75d9 (diff) | |
delete term buffers before saving session
| -rw-r--r-- | .config/nvim/lua/autocomplete.lua | 2 | ||||
| -rw-r--r-- | .config/nvim/lua/autosession_conf.lua | 15 | ||||
| -rw-r--r-- | .config/nvim/lua/mappings.lua | 2 | ||||
| -rw-r--r-- | .config/nvim/lua/settings.lua | 1 |
4 files changed, 17 insertions, 3 deletions
diff --git a/.config/nvim/lua/autocomplete.lua b/.config/nvim/lua/autocomplete.lua index f18cb67..25c0276 100644 --- a/.config/nvim/lua/autocomplete.lua +++ b/.config/nvim/lua/autocomplete.lua @@ -23,7 +23,7 @@ cmp.setup({ mapping = cmp.mapping.preset.insert({ ['<C-b>'] = cmp.mapping.scroll_docs(-4), ['<C-f>'] = cmp.mapping.scroll_docs(4), - ['<C-Space>'] = cmp.mapping.complete(), + ['<C-y>'] = cmp.mapping.confirm({ select = false }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items. ['<C-e>'] = cmp.mapping.abort(), }), sources = cmp.config.sources({ diff --git a/.config/nvim/lua/autosession_conf.lua b/.config/nvim/lua/autosession_conf.lua index 5c2a76d..26e2509 100644 --- a/.config/nvim/lua/autosession_conf.lua +++ b/.config/nvim/lua/autosession_conf.lua @@ -1,3 +1,17 @@ +function string.starts(String, Start) + return string.sub(String, 1, string.len(Start)) == Start +end + +-- for reasons beyond my comprehension, sessions get corrupted whenever a term buffer is left open, so let's just close all term to minimize friction +local function close_term_bufs() + for _, buf_hndl in ipairs(vim.api.nvim_list_bufs()) do + local name = vim.api.nvim_buf_get_name(buf_hndl) + if string.starts(name, "term://") then + vim.api.nvim_buf_delete(buf_hndl, { force = true }) + end + end +end + local opts = { log_level = 'error', auto_session_enable_last_session = false, @@ -14,6 +28,7 @@ local opts = { pre_cwd_changed_hook = nil, -- function: This is called after auto_session code runs for the `DirChangedPre` autocmd post_cwd_changed_hook = nil, -- function: This is called after auto_session code runs for the `DirChanged` autocmd }, + pre_save_cmds = { close_term_bufs } } vim.o.sessionoptions = "blank,buffers,curdir,folds,help,tabpages,winsize,winpos,terminal,localoptions" diff --git a/.config/nvim/lua/mappings.lua b/.config/nvim/lua/mappings.lua index a031328..838ba4f 100644 --- a/.config/nvim/lua/mappings.lua +++ b/.config/nvim/lua/mappings.lua @@ -34,8 +34,6 @@ Nmap("<c-l>", ":wincmd l<CR>") --- pane resize Nmap("_", ":resize -1<CR>") Nmap("+", ":resize +1<CR>") -Nmap("<", ":vertical:resize -1<CR>") -Nmap(">", ":vertical:resize +1<CR>") -- pane spawn Nmap("t", ':split<CR>:wincmd j<CR>:term<CR>') diff --git a/.config/nvim/lua/settings.lua b/.config/nvim/lua/settings.lua index 8dbbea4..5c1655c 100644 --- a/.config/nvim/lua/settings.lua +++ b/.config/nvim/lua/settings.lua @@ -103,6 +103,7 @@ vim.cmd([[ autocmd Syntax * syntax keyword Todo note NOTE fixme FIXME todo TODO speed SPEED hack HACK safety SAFETY containedin=.*Comment.* ]]) + vim.cmd([[ colorscheme yaks set guicursor=n-v-c:block-Cursor |
