From da2ae5f98aadc5f5bd3498854db9efd75fa1b6ab Mon Sep 17 00:00:00 2001 From: triethyl Date: Wed, 3 Dec 2025 09:48:00 -0500 Subject: neovim: many changes --- pkgs/custom-neovim/config/lua/keymaps.lua | 14 ++++---- .../config/lua/plugins/auto-session.lua | 12 +++++++ pkgs/custom-neovim/config/lua/plugins/blink.lua | 13 ++++++-- pkgs/custom-neovim/config/lua/plugins/fzf.lua | 22 +++++++----- pkgs/custom-neovim/config/lua/plugins/image.lua | 7 ---- pkgs/custom-neovim/config/lua/plugins/markdown.lua | 16 +++++++++ .../config/lua/plugins/mini-completion.lua | 39 ---------------------- pkgs/custom-neovim/config/lua/statusline.lua | 15 +++++++-- 8 files changed, 71 insertions(+), 67 deletions(-) delete mode 100644 pkgs/custom-neovim/config/lua/plugins/image.lua delete mode 100644 pkgs/custom-neovim/config/lua/plugins/mini-completion.lua (limited to 'pkgs/custom-neovim/config/lua') 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", "ws", "Save current session", ":AutoSession save") mapkey("n", "wr", "Open last session", ":AutoSession restore") mapkey("n", "wp", "Purge orphaned sessions", ":AutoSession purgeOrphaned") mapkey("n", "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" }, "", "Go up visually", "g") -- QOL Keys mapkey("t", "", "Exit terminal insert mode", "") -vim.keymap.set("c", "", function() - if vim.fn.pumvisible() == 1 then return '' end - return '' -end, { expr = true }) -- Make enter complete command. +-- vim.keymap.set("c", "", function() +-- if vim.fn.pumvisible() == 1 then return '' end +-- return '' +-- end, { expr = true }) -- Make enter complete command. mapkey("n", "", "Clear highlights", ":noh") -- 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', + + [''] = false, + + [''] = {'select_next', 'fallback'}, + [''] = {'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,10 +39,26 @@ return { mapkey("n", "mt", "Toggle table mode", ":Mtm") mapkey({"n", "v"}, "mm", "Toggle checkbox", ":MDTaskToggle") mapkey("n", "mv", "Toggle markdown preview", ":RenderMarkdown toggle") + mapkey("n", "mp", "Paste image", ":PasteImage") 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, 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('', [[pumvisible() ? "\" : "\"]]) - imap_expr('', [[pumvisible() ? "\" : "\"]]) - - -- Disable arrow keys from navigating completion window. - -- I like to navigate inside insert mode and the window prevents that. - - vim.keymap.set('i', '', function() - -- cancel completion popup - vim.fn.complete(vim.fn.col('.'), {}) - - vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes('', true, false, true), 'n', true) - end, { noremap = true, desc = 'Cancel completion and move cursor up' }) - - vim.keymap.set('i', '', function() - vim.fn.complete(vim.fn.col('.'), {}) - - vim.api.nvim_feedkeys(vim.api.nvim_replace_termcodes('', 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 = ""}), -- cgit v1.2.3