aboutsummaryrefslogtreecommitdiff
path: root/.config
diff options
context:
space:
mode:
authorAlec Goncharow <alec@goncharow.dev>2024-03-06 21:05:37 -0500
committerAlec Goncharow <alec@goncharow.dev>2024-03-06 21:05:37 -0500
commitf1ed7ee1444e2a3f678a934ebb7b3cbafc709ed1 (patch)
tree9d3f6f28081e71236ffc4b743ac026d2927c0979 /.config
parent5991cc4137857ab65fcdd5bfc8cd1a6d028a75d9 (diff)
delete term buffers before saving session
Diffstat (limited to '.config')
-rw-r--r--.config/nvim/lua/autocomplete.lua2
-rw-r--r--.config/nvim/lua/autosession_conf.lua15
-rw-r--r--.config/nvim/lua/mappings.lua2
-rw-r--r--.config/nvim/lua/settings.lua1
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