summaryrefslogtreecommitdiff
path: root/pkgs/custom-neovim/config/lua
diff options
context:
space:
mode:
authortriethyl <triethylammonium@pm.me>2025-12-03 09:48:00 -0500
committertriethyl <triethylammonium@pm.me>2025-12-03 09:48:00 -0500
commitda2ae5f98aadc5f5bd3498854db9efd75fa1b6ab (patch)
tree061a0d13998f91210db13f1e99dd012ce4b05ca2 /pkgs/custom-neovim/config/lua
parentdf154e4918a635e1c7052d332d25324773e13847 (diff)
neovim: many changes
Diffstat (limited to 'pkgs/custom-neovim/config/lua')
-rw-r--r--pkgs/custom-neovim/config/lua/keymaps.lua14
-rw-r--r--pkgs/custom-neovim/config/lua/plugins/auto-session.lua12
-rw-r--r--pkgs/custom-neovim/config/lua/plugins/blink.lua13
-rw-r--r--pkgs/custom-neovim/config/lua/plugins/fzf.lua22
-rw-r--r--pkgs/custom-neovim/config/lua/plugins/image.lua7
-rw-r--r--pkgs/custom-neovim/config/lua/plugins/markdown.lua16
-rw-r--r--pkgs/custom-neovim/config/lua/plugins/mini-completion.lua39
-rw-r--r--pkgs/custom-neovim/config/lua/statusline.lua15
8 files changed, 71 insertions, 67 deletions
diff --git a/pkgs/custom-neovim/config/lua/keymaps.lua b/pkgs/custom-neovim/config/lua/keymaps.lua
index 9c1d260..535962d 100644
--- a/pkgs/custom-neovim/config/lua/keymaps.lua
+++ b/pkgs/custom-neovim/config/lua/keymaps.lua
@@ -68,11 +68,11 @@ mapkey("n", "<leader>ws", "Save current session", ":AutoSession save<cr>")
mapkey("n", "<leader>wr", "Open last session", ":AutoSession restore<cr>")
mapkey("n", "<leader>wp", "Purge orphaned sessions", ":AutoSession purgeOrphaned<cr>")
mapkey("n", "<leader>wl", "Leave current session", function()
- vim.cmd.wa()
+ vim.cmd("wa")
vim.cmd("AutoSession save")
- vim.cmd.new()
+ vim.cmd("new")
vim.cmd([[.+,$bwipeout]])
- vim.cmd.cd("~")
+ vim.cmd("cd ~")
end)
-- Terminal
@@ -104,8 +104,8 @@ mapkey({ "n", "v" }, "<up>", "Go up visually", "g<up>")
-- QOL Keys
mapkey("t", "<Esc><Esc>", "Exit terminal insert mode", "<C-\\><C-n>")
-vim.keymap.set("c", "<cr>", function()
- if vim.fn.pumvisible() == 1 then return '<c-y>' end
- return '<cr>'
-end, { expr = true }) -- Make enter complete command.
+-- vim.keymap.set("c", "<cr>", function()
+-- if vim.fn.pumvisible() == 1 then return '<c-y>' end
+-- return '<cr>'
+-- end, { expr = true }) -- Make enter complete command.
mapkey("n", "<esc>", "Clear highlights", ":noh<cr>") -- Make esc clear highlights
diff --git a/pkgs/custom-neovim/config/lua/plugins/auto-session.lua b/pkgs/custom-neovim/config/lua/plugins/auto-session.lua
index deedd9a..f352cad 100644
--- a/pkgs/custom-neovim/config/lua/plugins/auto-session.lua
+++ b/pkgs/custom-neovim/config/lua/plugins/auto-session.lua
@@ -4,7 +4,19 @@ return {
after = function()
require("auto-session").setup {
auto_create = false,
+ auto_restore = true,
legacy_cmds = false,
+
+ cwd_change_handling = true,
+ pre_cwd_changed_cmds = {
+ "wa",
+ "silent %bw!",
+ "clearjumps",
+ "lua MiniClue.ensure_buf_triggers()",
+ },
+
+ git_use_branch_name = true,
+ git_auto_restore_on_branch_change = true,
suppressed_dirs = {
"~/",
},
diff --git a/pkgs/custom-neovim/config/lua/plugins/blink.lua b/pkgs/custom-neovim/config/lua/plugins/blink.lua
index 7ff0072..030a556 100644
--- a/pkgs/custom-neovim/config/lua/plugins/blink.lua
+++ b/pkgs/custom-neovim/config/lua/plugins/blink.lua
@@ -1,10 +1,17 @@
return {
"blink.cmp",
- lazy = true,
- event = "InsertEnter",
+ lazy = false,
after = function ()
require("blink.cmp").setup {
- keymap = { preset = 'default' },
+ keymap = {
+ preset = 'default',
+
+ ['<Up'] = false,
+ ['<Down>'] = false,
+
+ ['<Tab>'] = {'select_next', 'fallback'},
+ ['<S-Tab>'] = {'select_prev'},
+ },
sources = {
default = { 'lsp', 'snippets', 'path' },
},
diff --git a/pkgs/custom-neovim/config/lua/plugins/fzf.lua b/pkgs/custom-neovim/config/lua/plugins/fzf.lua
index 1c1b9aa..e8987a9 100644
--- a/pkgs/custom-neovim/config/lua/plugins/fzf.lua
+++ b/pkgs/custom-neovim/config/lua/plugins/fzf.lua
@@ -11,14 +11,20 @@ return {
require("fzf-lua").register_ui_select()
+ local multiline_string_to_table = function (input_str)
+ local lines = {}
+ for line in input_str:gmatch("[^\r\n]+") do
+ table.insert(lines, line)
+ end
+ return lines
+ end
+
Custom_pickers = {}
Custom_pickers.fzf_dir_cd = function()
local dirs = {}
- for name, type in vim.fs.dir("./", {depth = 100}) do
- if type == "directory" then
- table.insert(dirs, name)
- end
+ for i, name in ipairs(multiline_string_to_table(vim.fn.system("fd -t d"))) do
+ table.insert(dirs, name)
end
require("fzf-lua").fzf_exec( dirs, {
@@ -36,10 +42,8 @@ return {
Custom_pickers.fzf_dir_tcd = function()
local dirs = {}
- for name, type in vim.fs.dir("./", {depth = 100}) do
- if type == "directory" then
- table.insert(dirs, name)
- end
+ for i, name in ipairs(multiline_string_to_table(vim.fn.system("fd -t d"))) do
+ table.insert(dirs, name)
end
require("fzf-lua").fzf_exec( dirs, {
@@ -54,5 +58,5 @@ return {
}
})
end
- end,
+ end
}
diff --git a/pkgs/custom-neovim/config/lua/plugins/image.lua b/pkgs/custom-neovim/config/lua/plugins/image.lua
deleted file mode 100644
index ca02217..0000000
--- a/pkgs/custom-neovim/config/lua/plugins/image.lua
+++ /dev/null
@@ -1,7 +0,0 @@
-return {
- "image.nvim",
- lazy = false,
- after = function ()
- require("image").setup{}
- end
-}
diff --git a/pkgs/custom-neovim/config/lua/plugins/markdown.lua b/pkgs/custom-neovim/config/lua/plugins/markdown.lua
index d5398ff..0ff22f7 100644
--- a/pkgs/custom-neovim/config/lua/plugins/markdown.lua
+++ b/pkgs/custom-neovim/config/lua/plugins/markdown.lua
@@ -39,11 +39,27 @@ return {
mapkey("n", "<leader>mt", "Toggle table mode", ":Mtm<cr>")
mapkey({"n", "v"}, "<leader>mm", "Toggle checkbox", ":MDTaskToggle<cr>")
mapkey("n", "<leader>mv", "Toggle markdown preview", ":RenderMarkdown toggle<cr>")
+ mapkey("n", "<leader>mp", "Paste image", ":PasteImage<cr>")
end,
}
end
},
{
+ "img-clip.nvim",
+ lazy = true,
+ ft = {
+ "markdown",
+ },
+ cmd = {
+ "PasteImage",
+ "ImgClipDebug",
+ "ImgClipConfig",
+ },
+ after = function ()
+ require("img-clip").setup {}
+ end,
+ },
+ {
"markdown-table-mode.nvim",
lazy = true,
ft = "markdown",
diff --git a/pkgs/custom-neovim/config/lua/plugins/mini-completion.lua b/pkgs/custom-neovim/config/lua/plugins/mini-completion.lua
deleted file mode 100644
index 7cc0fa6..0000000
--- a/pkgs/custom-neovim/config/lua/plugins/mini-completion.lua
+++ /dev/null
@@ -1,39 +0,0 @@
-return {
- "mini.completion",
- enabled = true,
- lazy = true,
- event = "InsertEnter",
- after = function()
- require("mini.completion").setup {
- window = {
- info = {
- border = "rounded",
- },
- signature = {
- border = "rounded",
- },
- },
- }
- local imap_expr = function(lhs, rhs)
- vim.keymap.set('i', lhs, rhs, { expr = true })
- end
- imap_expr('<Tab>', [[pumvisible() ? "\<C-n>" : "\<Tab>"]])
- imap_expr('<S-Tab>', [[pumvisible() ? "\<C-p>" : "\<S-Tab>"]])
-
- -- Disable arrow keys from navigating completion window.
- -- I like to navigate inside insert mode and the window prevents that.
-
- vim.keymap.set('i', '<Up>', function()
- -- cancel completion popup
- vim.fn.complete(vim.fn.col('.'), {})
-
- vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes('<Up>', true, false, true), 'n', true)
- end, { noremap = true, desc = 'Cancel completion and move cursor up' })
-
- vim.keymap.set('i', '<Down>', function()
- vim.fn.complete(vim.fn.col('.'), {})
-
- vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes('<Down>', true, false, true), 'n', true)
- end, { noremap = true, desc = 'Cancel completion and move cursor down' })
- end
-}
diff --git a/pkgs/custom-neovim/config/lua/statusline.lua b/pkgs/custom-neovim/config/lua/statusline.lua
index 1c1bc31..dc7bce7 100644
--- a/pkgs/custom-neovim/config/lua/statusline.lua
+++ b/pkgs/custom-neovim/config/lua/statusline.lua
@@ -253,17 +253,28 @@ components.tab_counter = function (args)
return before..icon..current_tab_index.."/"..num_tabs..after
end
+components.session_name = function (args)
+ args = args or {}
+ local before = args.before or ""
+ local after = args.after or ""
+
+ if not vim.g.loaded_auto_session then
+ return ""
+ end
+
+ return before..require("auto-session.lib").current_session_name(true)..after
+end
+
-- Define Statusline
local statusline = function ()
return {
components.mode({before = " "}),
components.git_branch(),
- -- components.git_status(),
components.cwd(),
"%=",
- -- components.diagnostics(),
+ components.session_name(),
components.tab_counter(),
components.location({after = vim.g.neovide and " " or ""}),
components.progress({after = ""}),