From 7000c3a405dc78bf0059b3585abd40308bfb0a14 Mon Sep 17 00:00:00 2001 From: iofq Date: Fri, 6 Feb 2026 14:10:51 -0600 Subject: [PATCH 1/4] diffedit inline --- flake.lock | 36 +++++++++++++++++------------------ nvim/after/colors/iofq.lua | 23 ++++++++++------------ nvim/after/lua/iofq/jj.lua | 16 ++++++++++------ nvim/after/plugin/autocmd.lua | 9 +-------- nvim/after/plugin/init.lua | 1 + nvim/after/plugin/plugins.lua | 3 +++ 6 files changed, 43 insertions(+), 45 deletions(-) diff --git a/flake.lock b/flake.lock index 64a1675..6811e83 100644 --- a/flake.lock +++ b/flake.lock @@ -6,11 +6,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1765140120, - "narHash": "sha256-lLY34wnbyzi21zE8i+VM0AoEt67r4aPn/EoaZ8o4NgU=", + "lastModified": 1771048667, + "narHash": "sha256-o1UvUGjq3kiiyv/jrVxIEsl3y3wFnBvgSJpyjXTOsMw=", "owner": "iofq", "repo": "dart.nvim", - "rev": "205f809fbb27d56aff22756a97b5ba6f0c7243c3", + "rev": "af7256291c8f692647004b9a9fc0e92b6084a691", "type": "github" }, "original": { @@ -61,11 +61,11 @@ ] }, "locked": { - "lastModified": 1767609335, - "narHash": "sha256-feveD98mQpptwrAEggBQKJTYbvwwglSbOv53uCfH9PY=", + "lastModified": 1769996383, + "narHash": "sha256-AnYjnFWgS49RlqX7LrC4uA+sCCDBj0Ry/WOJ5XWAsa0=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "250481aafeb741edfe23d29195671c19b36b6dca", + "rev": "57928607ea566b5db3ad13af0e57e921e6b12381", "type": "github" }, "original": { @@ -181,11 +181,11 @@ "jj-nvim": { "flake": false, "locked": { - "lastModified": 1768169857, - "narHash": "sha256-8POSGuNYdAR2peyzN92vWR87GqWf+Y6I1arOwNxwd6U=", + "lastModified": 1771004667, + "narHash": "sha256-G7ksxOJJmQeTbsdAYddSFWUs9kyW/nIL4mv0F3FiXAI=", "owner": "NicolasGB", "repo": "jj.nvim", - "rev": "d13a5c9aec08318323f19fcdc1a1d2c469e00739", + "rev": "3d78c28f7e26d5c87f53e66e05a1393e6ca9fec2", "type": "github" }, "original": { @@ -219,11 +219,11 @@ ] }, "locked": { - "lastModified": 1768003501, - "narHash": "sha256-pxxUR3VRDcDpMgF1qb9FnlHAEOGi24bk6pdB1QzL1II=", + "lastModified": 1771200309, + "narHash": "sha256-2UQHZ8BsRSwtzl2R1OqtYR80SQF+HG3kJdTxfiDZR9s=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "d31b28318affe5d58ef12e7f72a7adfa66930a7a", + "rev": "c3e52f66f877cddce4167041546524abb76c0a70", "type": "github" }, "original": { @@ -235,11 +235,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1768000044, - "narHash": "sha256-hcdQHR8l8oZDIl0vXKNtbrN+32dTs9EYvlqppoHgG2k=", + "lastModified": 1771195863, + "narHash": "sha256-WB0xr61z2nHB3/u42xYilqDCA/x3tvVZ21/bx2pNmgc=", "owner": "neovim", "repo": "neovim", - "rev": "930817f1009d9d392103b5440e2503cb47fdacc0", + "rev": "7d8653575f2a1170f0c7651f271c45a15a185d5e", "type": "github" }, "original": { @@ -293,11 +293,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1768020509, - "narHash": "sha256-V7El1ktdJ0/WWEr6wGBKFYu433vitrWvxmvPk79FsSc=", + "lastModified": 1771210844, + "narHash": "sha256-ZucQ5EZ2AWIx0tsUEbM1pZWR2pm8q0SbIsbe3BSNjz0=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "299d331f770cdf7c466a4faa08b3070a767d681d", + "rev": "56a06a9163181e6c7c0f9ec08fd4a6df2e5f76b4", "type": "github" }, "original": { diff --git a/nvim/after/colors/iofq.lua b/nvim/after/colors/iofq.lua index b1e6a7a..07fcc66 100644 --- a/nvim/after/colors/iofq.lua +++ b/nvim/after/colors/iofq.lua @@ -1,5 +1,4 @@ -- Made with 'mini.colors' module of https://github.com/echasnovski/mini.nvim - if vim.g.colors_name ~= nil then vim.cmd('highlight clear') end @@ -188,10 +187,10 @@ hi(0, 'DiagnosticVirtualTextInfo', { bg = '#1f353c', fg = '#5a93aa' }) hi(0, 'DiagnosticVirtualTextOk', { bg = '#24383a', fg = '#7aa4a1' }) hi(0, 'DiagnosticVirtualTextWarn', { bg = '#383835', fg = '#fda47f' }) hi(0, 'DiagnosticWarn', { fg = '#fda47f' }) -hi(0, 'DiffAdd', { bg = '#24383a', fg = '#7aa4a1' }) -hi(0, 'DiffChange', { bg = '#31474b', fg = '#73daca' }) -hi(0, 'DiffDelete', { bg = '#31474b', fg = '#e85c51' }) -hi(0, 'DiffText', { bg = '#466066' }) +hi(0, 'DiffAdd', { bg = '#002800' }) +hi(0, 'DiffChange', { bg = '#284b55' }) +hi(0, 'DiffDelete', { bg = '#300000' }) +hi(0, 'DiffText', { bg = '#366066' }) hi(0, 'Directory', { fg = '#73a3b7' }) hi(0, 'EndOfBuffer', { fg = '#152528' }) hi(0, 'Error', { fg = '#e85c51' }) @@ -244,8 +243,6 @@ hi(0, 'MiniClueTitle', { link = 'FloatTitle' }) hi(0, 'MiniCompletionActiveParameter', { underline = true }) hi(0, 'MiniCursorword', { link = 'LspReferenceText' }) hi(0, 'MiniCursorwordCurrent', { link = 'LspReferenceText' }) -hi(0, 'MiniDepsChangeAdded', { link = 'diffAdded' }) -hi(0, 'MiniDepsChangeRemoved', { link = 'diffRemoved' }) hi(0, 'MiniDepsHint', { link = 'DiagnosticHint' }) hi(0, 'MiniDepsInfo', { link = 'DiagnosticInfo' }) hi(0, 'MiniDepsMsgBreaking', { link = 'DiagnosticWarn' }) @@ -254,13 +251,13 @@ hi(0, 'MiniDepsTitle', { link = 'Title' }) hi(0, 'MiniDepsTitleError', { bg = '#e85c51', fg = '#0f1c1e' }) hi(0, 'MiniDepsTitleSame', { link = 'DiffText' }) hi(0, 'MiniDepsTitleUpdate', { bg = '#7aa4a1', fg = '#0f1c1e' }) -hi(0, 'MiniDiffOverAdd', { link = 'diffAdded' }) -hi(0, 'MiniDiffOverChange', { link = 'diffChanged' }) -hi(0, 'MiniDiffOverChangeBuf', { link = 'diffChanged' }) -hi(0, 'MiniDiffOverContext', { link = 'diffAdded' }) -hi(0, 'MiniDiffOverDelete', { link = 'diffRemoved' }) +hi(0, 'MiniDiffOverAdd', { link = 'DiffAdd' }) +hi(0, 'MiniDiffOverChange', { link = 'DiffChange' }) +hi(0, 'MiniDiffOverChangeBuf', { link = 'DiffChange' }) +hi(0, 'MiniDiffOverContext', { link = 'DiffAdd' }) +hi(0, 'MiniDiffOverDelete', { link = 'DiffDelete' }) hi(0, 'MiniDiffSignAdd', { fg = 'green', bold = true }) -hi(0, 'MiniDiffSignChange', { fg = 'green', bold = true }) +hi(0, 'MiniDiffSignChange', { fg = '#284b55', bold = true }) hi(0, 'MiniDiffSignDelete', { fg = 'red', bold = true }) hi(0, 'MiniFilesBorder', { link = 'FloatBorder' }) hi(0, 'MiniFilesBorderModified', { link = 'DiagnosticFloatingWarn' }) diff --git a/nvim/after/lua/iofq/jj.lua b/nvim/after/lua/iofq/jj.lua index 4556b7f..9d342ef 100644 --- a/nvim/after/lua/iofq/jj.lua +++ b/nvim/after/lua/iofq/jj.lua @@ -1,17 +1,21 @@ local M = {} - M.is_jj_diffedit_open = function() - local qf = vim.fn.getqflist() - - local entry = qf[1] + local entry = vim.fn.getqflist[1] if not entry or not entry.user_data or not entry.user_data.diff then + for _, buf in ipairs(vim.api.nvim_list_bufs()) do -- close all /tmp buffers + if vim.fn.fnamemodify(vim.api.nvim_buf_get_name(buf), ':p'):match('/tmp/jj%-diff.*') then + vim.api.nvim_buf_delete(buf, { force = true }) + end + end return 0 else return 1 end end -M.diffedit = function() - vim.fn.jobstart('jj diffedit --tool diffview-new') +M.diffedit = function(opts) + vim.fn.jobstart('jj diffedit --tool diffview-new ' .. opts.args) end + +vim.api.nvim_create_user_command('Diffedit', M.diffedit, { nargs = '*' }) return M diff --git a/nvim/after/plugin/autocmd.lua b/nvim/after/plugin/autocmd.lua index 81cb335..3fc4d8b 100644 --- a/nvim/after/plugin/autocmd.lua +++ b/nvim/after/plugin/autocmd.lua @@ -151,15 +151,8 @@ cmd('LspAttach', { vim.keymap.set('n', 'gre', vim.diagnostic.setloclist, { buffer = ev.buf }) vim.keymap.set('n', 'grE', vim.diagnostic.setqflist, { buffer = ev.buf }) - -- Auto-refresh code lenses if client:supports_method('textDocument/codeLens') or client.server_capabilities.codeLensProvider then - vim.lsp.codelens.refresh { bufnr = ev.buf } - cmd({ 'InsertLeave', 'TextChanged' }, { - callback = function() - vim.lsp.codelens.refresh { bufnr = ev.buf } - end, - buffer = ev.buf, - }) + vim.lsp.codelens.enable(true, { bufnr = ev.buf }) end end, }) diff --git a/nvim/after/plugin/init.lua b/nvim/after/plugin/init.lua index 7518a64..d031ce8 100644 --- a/nvim/after/plugin/init.lua +++ b/nvim/after/plugin/init.lua @@ -43,6 +43,7 @@ vim.lsp.enable { 'lua_ls', 'basedpyright', 'csharp_ls', + 'ts_ls', } local map = vim.keymap.set diff --git a/nvim/after/plugin/plugins.lua b/nvim/after/plugin/plugins.lua index e4506f9..5d9c94c 100644 --- a/nvim/after/plugin/plugins.lua +++ b/nvim/after/plugin/plugins.lua @@ -59,6 +59,9 @@ map('n', 'fq', Snacks.picker.qflist) vim.schedule(function() require('nvim-treesitter').setup() require('nvim-treesitter-textobjects').setup() + require('treesitter-context').setup { + max_lines = 2, + } vim.keymap.set('n', '[c', function() require('treesitter-context').go_to_context(vim.v.count1) end, { silent = true }) From e9d4373ddcce3f32ba1a36b9f566ab8dc4d2892c Mon Sep 17 00:00:00 2001 From: iofq Date: Sun, 15 Feb 2026 23:26:39 -0600 Subject: [PATCH 2/4] update difftool name --- nvim/after/lua/iofq/jj.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nvim/after/lua/iofq/jj.lua b/nvim/after/lua/iofq/jj.lua index 9d342ef..1a25d13 100644 --- a/nvim/after/lua/iofq/jj.lua +++ b/nvim/after/lua/iofq/jj.lua @@ -14,7 +14,8 @@ M.is_jj_diffedit_open = function() end M.diffedit = function(opts) - vim.fn.jobstart('jj diffedit --tool diffview-new ' .. opts.args) + opts = opts or { args = '' } + vim.fn.jobstart('jj diffedit --tool difftool ' .. opts.args) end vim.api.nvim_create_user_command('Diffedit', M.diffedit, { nargs = '*' }) From e5a176d5b731ed6fa75773d5f71c6827f3d4e73a Mon Sep 17 00:00:00 2001 From: iofq Date: Mon, 23 Feb 2026 22:51:14 -0600 Subject: [PATCH 3/4] improve blink.cmp perf in large directories --- nvim/after/plugin/plugins.lua | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/nvim/after/plugin/plugins.lua b/nvim/after/plugin/plugins.lua index 5d9c94c..eec3c80 100644 --- a/nvim/after/plugin/plugins.lua +++ b/nvim/after/plugin/plugins.lua @@ -132,12 +132,19 @@ vim.schedule(function() default = { 'lsp', 'path', 'snippets', 'ripgrep', 'buffer' }, providers = { lsp = { fallbacks = {} }, -- include buffer even when LSP is active - path = { opts = { get_cwd = vim.fn.getcwd } }, -- use nvim pwd instead of current file pwd + path = { async = true, opts = { get_cwd = vim.fn.getcwd } }, -- use nvim pwd instead of current file pwd ripgrep = { + enabled = false, module = 'blink-ripgrep', name = 'rg', score_offset = -10, async = true, + opts = { + project_root_marker = { '.git', '.jj' }, + backend = { + use = 'gitgrep-or-ripgrep', + }, + }, }, }, }, From bd21447db63f627da84caa66aebeae768210e53c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 1 Mar 2026 10:23:51 +0000 Subject: [PATCH 4/4] chore: update flake.lock MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Flake lock file updates: • Updated input 'jj-nvim': 'github:NicolasGB/jj.nvim/3d78c28f7e26d5c87f53e66e05a1393e6ca9fec2?narHash=sha256-G7ksxOJJmQeTbsdAYddSFWUs9kyW/nIL4mv0F3FiXAI%3D' (2026-02-13) → 'github:NicolasGB/jj.nvim/bbba4051c862473637e98277f284d12b050588ca?narHash=sha256-nokftWcAmmHX6UcH6O79xkLwbUpq1W8N9lf1e%2BNyGqE%3D' (2026-02-24) • Updated input 'neovim-nightly-overlay': 'github:nix-community/neovim-nightly-overlay/c3e52f66f877cddce4167041546524abb76c0a70?narHash=sha256-2UQHZ8BsRSwtzl2R1OqtYR80SQF%2BHG3kJdTxfiDZR9s%3D' (2026-02-16) → 'github:nix-community/neovim-nightly-overlay/744c005b53bd588a82b3662f82c791eecf4710ad?narHash=sha256-aWy20stlI6cl%2BUM1Ds8j4NSEfWTCp/VWW%2BSqQy%2BDOM8%3D' (2026-03-01) • Updated input 'neovim-nightly-overlay/neovim-src': 'github:neovim/neovim/7d8653575f2a1170f0c7651f271c45a15a185d5e?narHash=sha256-WB0xr61z2nHB3/u42xYilqDCA/x3tvVZ21/bx2pNmgc%3D' (2026-02-15) → 'github:neovim/neovim/8a79e3398a347248f067abe0c09097416fbf9cae?narHash=sha256-Bp%2BpAkfjSdUWV/giJFT9Gbp0wecQ%2BH4Kbh4%2BXfyOj5s%3D' (2026-02-28) • Updated input 'nixpkgs': 'github:NixOS/nixpkgs/56a06a9163181e6c7c0f9ec08fd4a6df2e5f76b4?narHash=sha256-ZucQ5EZ2AWIx0tsUEbM1pZWR2pm8q0SbIsbe3BSNjz0%3D' (2026-02-16) → 'github:NixOS/nixpkgs/96b187c6984f705ef930fa6d575f7e7f5dafddff?narHash=sha256-QYgww8vJTSl9SWxYP9ivFDP0WEwy1LsWieiJaaa2OXA%3D' (2026-03-01) --- flake.lock | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/flake.lock b/flake.lock index 6811e83..87eb795 100644 --- a/flake.lock +++ b/flake.lock @@ -181,11 +181,11 @@ "jj-nvim": { "flake": false, "locked": { - "lastModified": 1771004667, - "narHash": "sha256-G7ksxOJJmQeTbsdAYddSFWUs9kyW/nIL4mv0F3FiXAI=", + "lastModified": 1771953539, + "narHash": "sha256-nokftWcAmmHX6UcH6O79xkLwbUpq1W8N9lf1e+NyGqE=", "owner": "NicolasGB", "repo": "jj.nvim", - "rev": "3d78c28f7e26d5c87f53e66e05a1393e6ca9fec2", + "rev": "bbba4051c862473637e98277f284d12b050588ca", "type": "github" }, "original": { @@ -219,11 +219,11 @@ ] }, "locked": { - "lastModified": 1771200309, - "narHash": "sha256-2UQHZ8BsRSwtzl2R1OqtYR80SQF+HG3kJdTxfiDZR9s=", + "lastModified": 1772323514, + "narHash": "sha256-aWy20stlI6cl+UM1Ds8j4NSEfWTCp/VWW+SqQy+DOM8=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "c3e52f66f877cddce4167041546524abb76c0a70", + "rev": "744c005b53bd588a82b3662f82c791eecf4710ad", "type": "github" }, "original": { @@ -235,11 +235,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1771195863, - "narHash": "sha256-WB0xr61z2nHB3/u42xYilqDCA/x3tvVZ21/bx2pNmgc=", + "lastModified": 1772319592, + "narHash": "sha256-Bp+pAkfjSdUWV/giJFT9Gbp0wecQ+H4Kbh4+XfyOj5s=", "owner": "neovim", "repo": "neovim", - "rev": "7d8653575f2a1170f0c7651f271c45a15a185d5e", + "rev": "8a79e3398a347248f067abe0c09097416fbf9cae", "type": "github" }, "original": { @@ -293,11 +293,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1771210844, - "narHash": "sha256-ZucQ5EZ2AWIx0tsUEbM1pZWR2pm8q0SbIsbe3BSNjz0=", + "lastModified": 1772360274, + "narHash": "sha256-QYgww8vJTSl9SWxYP9ivFDP0WEwy1LsWieiJaaa2OXA=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "56a06a9163181e6c7c0f9ec08fd4a6df2e5f76b4", + "rev": "96b187c6984f705ef930fa6d575f7e7f5dafddff", "type": "github" }, "original": {