11 Комити 77fb727f76 ... ca77c290af

Аутор SHA1 Порука Датум
  Thomas Dy ca77c290af nixpkgs/elvish: use original TMPDIR with nix-shell пре 1 месец
  Thomas Dy b22efc4c23 nixpkgs/neovim: update flake.lock пре 1 месец
  Thomas Dy 4e1095fc14 nixpkgs/neovim: disable formatting on nil_ls пре 1 месец
  Thomas Dy 9106e61dd7 nixpkgs/neovim: downgrade vscode-langservers-extracted пре 1 месец
  Thomas Dy 767014fc19 nixpkgs/neovim: add small delay before applying file rename пре 4 месеци
  Thomas Dy 35735bb526 nixpkgs/neovim: update node-lsp пре 4 месеци
  Thomas Dy e2e2298f6d nixpkgs/neovim: update flake.lock and plugins пре 5 месеци
  Thomas Dy 51534ec5df nixpkgs/neovim: remove undotree пре 5 месеци
  Thomas Dy 46b2ab0e86 nixpkgs/neovim: enable mini.bracketed undo пре 5 месеци
  Thomas Dy 2e884fd1a1 nixpkgs/neovim: map ]] and [[ to ; and , пре 5 месеци
  Thomas Dy 5f2e82f605 nixpkgs/neovim: deduplicate telescope git_files пре 5 месеци

+ 7 - 0
.config/nixpkgs/elvish/lib/nix-shell.elv

@@ -1,5 +1,12 @@
 use path
 
+# nix-shell overwrites TMPDIR so set it back to the original value
+if (and (has-env ORIG_TMPDIR) (has-env IN_NIX_SHELL)) {
+  set-env TMPDIR $E:ORIG_TMPDIR
+} elif (has-env TMPDIR) {
+  set-env ORIG_TMPDIR $E:TMPDIR
+}
+
 edit:add-var nix~ {|@a|
   var is-shell = (and ^
     (> (count $a) 0) ^

+ 28 - 11
.config/nixpkgs/neovim/config/lua/user/lsp.lua

@@ -92,6 +92,14 @@ vim.lsp.config('ruby_lsp', {
 })
 vim.lsp.enable('ruby_lsp')
 
+vim.lsp.config('nil_ls', {
+  on_init = function(client)
+    -- disable formatting
+    client.server_capabilities.documentFormattingProvider = false
+    client.server_capabilities.documentRangeFormattingProvider = false
+  end,
+})
+
 vim.lsp.enable('nil_ls')
 
 vim.lsp.config('jdtls', {
@@ -169,21 +177,30 @@ vim.api.nvim_create_autocmd('User', {
     }
     local bufnr = vim.fn.bufadd(opts.data.to)
 
-    local clients = vim.lsp.get_clients({ bufnr = bufnr })
-    for _, client in ipairs(clients) do
-      if client:supports_method('workspace/willRenameFiles') then
-        local resp = client:request_sync('workspace/willRenameFiles', params, 5000, bufnr)
-        if resp and resp.result ~= nil then
-          vim.lsp.util.apply_workspace_edit(resp.result, client.offset_encoding)
+    -- delay a bit to allow LSP clients to attach
+    vim.defer_fn(function()
+      local clients = vim.lsp.get_clients({ bufnr = bufnr })
+      for _, client in ipairs(clients) do
+        vim.notify(client.name)
+        if client.name == 'dprint' then
+          goto continue
+        end
+        if client:supports_method('workspace/willRenameFiles') then
+          vim.notify('lsp rename')
+          local resp = client:request_sync('workspace/willRenameFiles', params, 5000, bufnr)
+          if resp and resp.result ~= nil then
+            vim.lsp.util.apply_workspace_edit(resp.result, client.offset_encoding)
+          end
         end
+        ::continue::
       end
-    end
 
-    for _, client in ipairs(clients) do
-      if client:supports_method('workspace/didRenameFiles') then
-        client:notify('workspace/didRenameFiles', params)
+      for _, client in ipairs(clients) do
+        if client:supports_method('workspace/didRenameFiles') then
+          client:notify('workspace/didRenameFiles', params)
+        end
       end
-    end
+    end, 100)
   end,
   nested = true,
 })

+ 0 - 5
.config/nixpkgs/neovim/config/lua/user/plugins/init.lua

@@ -5,8 +5,3 @@ require('user.plugins.navigation')
 require('user.plugins.telescope')
 require('user.plugins.treesitter')
 require('user.plugins.ui')
-
--- misc
-
--- undotree
-vim.keymap.set('n', '<Leader>ut', '<cmd>UndotreeToggle<CR>')

+ 28 - 0
.config/nixpkgs/neovim/config/lua/user/plugins/navigation.lua

@@ -1,4 +1,5 @@
 local demicolon = require('demicolon')
+local MiniBracketed = require('mini.bracketed')
 local Treewalker = require('treewalker')
 
 -- ,/; for bracket motions too
@@ -7,10 +8,37 @@ demicolon.setup({
     disabled_keys = {
       -- this is paste with indent, not a motion
       'p',
+      -- we bind these to ; and ,
+      ']',
+      '[',
     }
   }
 })
 
+vim.keymap.set('n', ']]', ';', { remap = true })
+vim.keymap.set('n', '[[', ',', { remap = true })
+
+-- more bracket motions
+MiniBracketed.setup({
+  -- some of our mappings and the builtin mappings overlap with these so enable
+  -- only those we actually want to use
+  buffer     = { suffix = '' },
+  comment    = { suffix = '' },
+  conflict   = { suffix = '' },
+  diagnostic = { suffix = '' },
+  file       = { suffix = '' },
+  indent     = { suffix = '' },
+  jump       = { suffix = '' },
+  location   = { suffix = '' },
+  oldfile    = { suffix = '' },
+  quickfix   = { suffix = '' },
+  treesitter = { suffix = '' },
+  window     = { suffix = '' },
+  yank       = { suffix = '' },
+
+  undo       = { suffix = 'u' },
+})
+
 -- Treesitter navigation
 Treewalker.setup()
 

+ 13 - 0
.config/nixpkgs/neovim/config/lua/user/plugins/telescope.lua

@@ -96,6 +96,19 @@ telescope.setup({
     find_files = {
       find_command = { 'fd', '--type', 'f', '--strip-cwd-prefix' }
     },
+    git_files = {
+      -- add --deduplicate so files with merge conflicts don't show up multiple
+      -- times
+      git_command = {
+        'git',
+        '-c',
+        'core.quotePath=false',
+        'ls-files',
+        '--exclude-standard',
+        '--cached',
+        '--deduplicate',
+      }
+    },
     git_commits = {
       mappings = commit_mappings,
     },

+ 1 - 1
.config/nixpkgs/neovim/config/lua/user/theme.lua

@@ -59,7 +59,7 @@ vim.api.nvim_create_autocmd('ColorScheme', {
     vim.fn['sonokai#highlight']('MiniStatuslineModeOther', palette.black, palette.green)
 
     -- make deleted text less bright
-    vim.fn['sonokai#highlight']('DiffDelete', palette.grey, palette.diff_red)
+    vim.fn['sonokai#highlight']('DiffDelete', palette.grey, palette.bg_red)
 
     -- use yellow for changes
     vim.fn['sonokai#highlight']('DiffChange', palette.none, { '#4f4f00', '58' })

+ 12 - 12
.config/nixpkgs/neovim/flake.lock

@@ -9,11 +9,11 @@
         ]
       },
       "locked": {
-        "lastModified": 1753811898,
-        "narHash": "sha256-MNwd9v1dLmLdqDlRjWRLrqk93FNQJmzhiD6fKns9Q8Q=",
+        "lastModified": 1767539980,
+        "narHash": "sha256-HJaj9wi0FZB9vvHpeQFeDZAth5Qi3QrlFJJiiqGl5/8=",
         "owner": "Saghen",
         "repo": "blink.cmp",
-        "rev": "a0bcedefce8d74179d0f2401d9915eaaf16974ce",
+        "rev": "6a4914ca987453464a7dfc7fc237a992adb567d0",
         "type": "github"
       },
       "original": {
@@ -31,11 +31,11 @@
         "rust-analyzer-src": "rust-analyzer-src"
       },
       "locked": {
-        "lastModified": 1747032090,
-        "narHash": "sha256-htgrHIR/P7V8WeRW/XDWJHXBzbTSWCDYZHsxPAzDuUY=",
+        "lastModified": 1761028747,
+        "narHash": "sha256-UqCbRuqnsVURCB0hLZL9SwFNDNftIE1Zxj7Ykf1aRj4=",
         "owner": "nix-community",
         "repo": "fenix",
-        "rev": "1436bb8b85b35ca3ba64ad97df31a3b23c7610a3",
+        "rev": "1dd37dd710195936f675eb0d36cf284806f99a94",
         "type": "github"
       },
       "original": {
@@ -82,11 +82,11 @@
     },
     "nixpkgs": {
       "locked": {
-        "lastModified": 1753750875,
-        "narHash": "sha256-J1P0aQymehe8AHsID9wwoMjbaYrIB2eH5HftoXhF9xk=",
+        "lastModified": 1767364772,
+        "narHash": "sha256-fFUnEYMla8b7UKjijLnMe+oVFOz6HjijGGNS1l7dYaQ=",
         "owner": "NixOS",
         "repo": "nixpkgs",
-        "rev": "871381d997e4a063f25a3994ce8a9ac595246610",
+        "rev": "16c7794d0a28b5a37904d55bcca36003b9109aaa",
         "type": "github"
       },
       "original": {
@@ -118,11 +118,11 @@
     "rust-analyzer-src": {
       "flake": false,
       "locked": {
-        "lastModified": 1746889290,
-        "narHash": "sha256-h3LQYZgyv2l3U7r+mcsrEOGRldaK0zJFwAAva4hV/6g=",
+        "lastModified": 1760976639,
+        "narHash": "sha256-v+teOfOLbR9UFLuaMfbsd/L5ckJBcQJyeFj23V3lz8g=",
         "owner": "rust-lang",
         "repo": "rust-analyzer",
-        "rev": "2bafe9d96c6734aacfd49e115f6cf61e7adc68bc",
+        "rev": "4a305f565ab964caf22dc72980a44b2970a9c2f1",
         "type": "github"
       },
       "original": {

+ 0 - 8
.config/nixpkgs/neovim/flake.nix

@@ -18,14 +18,6 @@
           overlays = [(final: prev: {
             node-lsp = final.callPackage ./node-lsp {};
             blink-cmp = blink-cmp.packages.${system}.blink-cmp;
-            neovim-unwrapped = prev.neovim-unwrapped.overrideAttrs (attrs: attrs // {
-              patches = (attrs.patches or []) ++ [
-                # fix occasional treesitter highlighter error when deleting lines
-                ./neovim-32619.patch
-                # fix floating windows not closing when going to another file
-                ./neovim-34946.patch
-              ];
-            });
           })];
         };
       in

+ 1 - 1
.config/nixpkgs/neovim/node-lsp/default.nix

@@ -18,5 +18,5 @@ buildNpmPackage {
     ln -s "$out/lib/node_modules/.bin/vscode-eslint-language-server" "$out/bin"
   '';
 
-  npmDepsHash = "sha256-2+Mzy9cxTNTzd1N1/CYd13ay46Jx5o740aPckHdS4Ko=";
+  npmDepsHash = "sha256-E548GngJMmVA28RjUsmsn/yoBPMXr75NJq3b/i4fuMU=";
 }

+ 64 - 65
.config/nixpkgs/neovim/node-lsp/package-lock.json

@@ -11,7 +11,7 @@
         "bash-language-server": "^5.6.0",
         "typescript": "^5.8.3",
         "typescript-language-server": "^4.3.4",
-        "vscode-langservers-extracted": "^4.10.0"
+        "vscode-langservers-extracted": "4.8.0"
       }
     },
     "node_modules/@mixmark-io/domino": {
@@ -103,9 +103,9 @@
       "license": "ISC"
     },
     "node_modules/brace-expansion": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz",
-      "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz",
+      "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==",
       "license": "MIT",
       "dependencies": {
         "balanced-match": "^1.0.0"
@@ -133,9 +133,9 @@
       }
     },
     "node_modules/core-js": {
-      "version": "3.41.0",
-      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.41.0.tgz",
-      "integrity": "sha512-SJ4/EHwS36QMJd6h/Rg+GyR4A5xE0FSI3eZ+iBVpfqf1x0eTSg1smWLHrA+2jQThZSh97fmSgFSU8B61nxosxA==",
+      "version": "3.45.1",
+      "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.45.1.tgz",
+      "integrity": "sha512-L4NPsJlCfZsPeXukyzHFlg/i7IIVwHSItR0wg0FLNqYClJ4MQYTYLbC7EkjKYRLZF2iof2MUgN0EGy7MdQFChg==",
       "hasInstallScript": true,
       "license": "MIT",
       "funding": {
@@ -144,9 +144,9 @@
       }
     },
     "node_modules/css-select": {
-      "version": "5.1.0",
-      "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
-      "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==",
+      "version": "5.2.2",
+      "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz",
+      "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==",
       "license": "BSD-2-Clause",
       "dependencies": {
         "boolbase": "^1.0.0",
@@ -160,9 +160,9 @@
       }
     },
     "node_modules/css-what": {
-      "version": "6.1.0",
-      "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
-      "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
+      "version": "6.2.2",
+      "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz",
+      "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==",
       "license": "BSD-2-Clause",
       "engines": {
         "node": ">= 6"
@@ -513,9 +513,9 @@
       }
     },
     "node_modules/semver": {
-      "version": "7.7.1",
-      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
-      "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==",
+      "version": "7.7.2",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+      "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
       "license": "ISC",
       "bin": {
         "semver": "bin/semver.js"
@@ -552,9 +552,9 @@
       }
     },
     "node_modules/typescript": {
-      "version": "5.8.3",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz",
-      "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==",
+      "version": "5.9.2",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz",
+      "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==",
       "license": "Apache-2.0",
       "bin": {
         "tsc": "bin/tsc",
@@ -565,9 +565,9 @@
       }
     },
     "node_modules/typescript-language-server": {
-      "version": "4.3.4",
-      "resolved": "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-4.3.4.tgz",
-      "integrity": "sha512-0pQ4ffAarsf10VwFhyyyqNJhuDd4r6f4dSsQN38WdbQ3WVxqi08p/bI//v1VnOV5CSVd4AeOUY/jfJYheHTQPQ==",
+      "version": "4.4.0",
+      "resolved": "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-4.4.0.tgz",
+      "integrity": "sha512-enWhplhHX7PA0q+IcKHBMpTQh9I2Bmb3L45rwnkATHMsZ7YLduyyCdOmVUWJSYZfkWaBMiKwi/e2FQo4xsKeWw==",
       "license": "Apache-2.0",
       "bin": {
         "typescript-language-server": "lib/cli.mjs"
@@ -577,9 +577,9 @@
       }
     },
     "node_modules/vscode-css-languageservice": {
-      "version": "6.3.4",
-      "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.3.4.tgz",
-      "integrity": "sha512-qutdhFg4hnlf6IsOynwtfsN8W0Xc7g3SZd+KK9F2moUEjHtkcZoj5p8uH7BSwHx9hSEXjwKgSRRyHTXThfwAkQ==",
+      "version": "6.3.7",
+      "resolved": "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-6.3.7.tgz",
+      "integrity": "sha512-5TmXHKllPzfkPhW4UE9sODV3E0bIOJPOk+EERKllf2SmAczjfTmYeq5txco+N3jpF8KIZ6loj/JptpHBQuVQRA==",
       "license": "MIT",
       "dependencies": {
         "@vscode/l10n": "^0.0.18",
@@ -589,9 +589,9 @@
       }
     },
     "node_modules/vscode-html-languageservice": {
-      "version": "5.3.3",
-      "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.3.3.tgz",
-      "integrity": "sha512-AK/jJM0VIWRrlfqkDBMZxNMnxYT5I2uoMVRoNJ5ePSplnSaT9mbYjqJlxxeLvUrOW7MEH0vVIDzU48u44QZE0w==",
+      "version": "5.5.1",
+      "resolved": "https://registry.npmjs.org/vscode-html-languageservice/-/vscode-html-languageservice-5.5.1.tgz",
+      "integrity": "sha512-/ZdEtsZ3OiFSyL00kmmu7crFV9KwWR+MgpzjsxO60DQH7sIfHZM892C/E4iDd11EKocr+NYuvOA4Y7uc3QzLEA==",
       "license": "MIT",
       "dependencies": {
         "@vscode/l10n": "^0.0.18",
@@ -601,9 +601,9 @@
       }
     },
     "node_modules/vscode-json-languageservice": {
-      "version": "5.4.4",
-      "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-5.4.4.tgz",
-      "integrity": "sha512-dgT16da8VznFv0IrEpBSKYvi29gxnMf5EOq+UfZSPaCiLZ65kgVOo3vMJSPNbZK8557YYbQH/fpMxxa4wRPAQw==",
+      "version": "5.6.1",
+      "resolved": "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-5.6.1.tgz",
+      "integrity": "sha512-IQIURBF2VMKBdWcMunbHSI3G2WmJ9H7613E1hRxIXX7YsAPSdBxnEiIUrTnsSW/3fk+QW1kfsvSigqgAFYIYtg==",
       "license": "MIT",
       "dependencies": {
         "@vscode/l10n": "^0.0.18",
@@ -623,25 +623,24 @@
       }
     },
     "node_modules/vscode-langservers-extracted": {
-      "version": "4.10.0",
-      "resolved": "https://registry.npmjs.org/vscode-langservers-extracted/-/vscode-langservers-extracted-4.10.0.tgz",
-      "integrity": "sha512-EFf9uQI4dAKbzMQFjDvVm1xJq1DXAQvBEuEfPGrK/xzfsL5xWTfIuRr90NgfmqwO+IEt6vLZm9EOj6R66xIifg==",
+      "version": "4.8.0",
+      "resolved": "https://registry.npmjs.org/vscode-langservers-extracted/-/vscode-langservers-extracted-4.8.0.tgz",
+      "integrity": "sha512-kWqVdmdcf9Ez1P3hZpvCHomxVqrdK2awwZkezSW3SuXLX0kXS4x8WoA0GkF54SA0CiXtJWszaFpQghUNVlepuQ==",
       "license": "MIT",
       "dependencies": {
-        "@vscode/l10n": "^0.0.18",
+        "@vscode/l10n": "^0.0.16",
         "core-js": "^3.20.1",
-        "jsonc-parser": "^3.2.1",
+        "jsonc-parser": "^3.2.0",
         "regenerator-runtime": "^0.13.9",
         "request-light": "^0.7.0",
-        "semver": "^7.6.1",
         "typescript": "^4.0.5",
-        "vscode-css-languageservice": "^6.2.14",
-        "vscode-html-languageservice": "^5.2.0",
-        "vscode-json-languageservice": "^5.3.11",
-        "vscode-languageserver": "^10.0.0-next.3",
+        "vscode-css-languageservice": "^6.2.10",
+        "vscode-html-languageservice": "^5.1.0",
+        "vscode-json-languageservice": "^5.3.7",
+        "vscode-languageserver": "^9.0.1",
         "vscode-languageserver-textdocument": "^1.0.11",
         "vscode-languageserver-types": "^3.17.5",
-        "vscode-markdown-languageservice": "^0.5.0-alpha.6",
+        "vscode-markdown-languageservice": "^0.4.0-alpha.7",
         "vscode-nls": "^5.2.0",
         "vscode-uri": "^3.0.8"
       },
@@ -653,6 +652,12 @@
         "vscode-markdown-language-server": "bin/vscode-markdown-language-server"
       }
     },
+    "node_modules/vscode-langservers-extracted/node_modules/@vscode/l10n": {
+      "version": "0.0.16",
+      "resolved": "https://registry.npmjs.org/@vscode/l10n/-/l10n-0.0.16.tgz",
+      "integrity": "sha512-JT5CvrIYYCrmB+dCana8sUqJEcGB1ZDXNLMQ2+42bW995WmNoenijWMUdZfwmuQUTQcEVVIa2OecZzTYWUW9Cg==",
+      "license": "MIT"
+    },
     "node_modules/vscode-langservers-extracted/node_modules/typescript": {
       "version": "4.9.5",
       "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
@@ -667,42 +672,36 @@
       }
     },
     "node_modules/vscode-langservers-extracted/node_modules/vscode-jsonrpc": {
-      "version": "9.0.0-next.7",
-      "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-9.0.0-next.7.tgz",
-      "integrity": "sha512-7SgnbbbJfYr3off0T2KV/RCMYhVsuLeFPw8l3bkxSiavtoTLsOdu1jyxK3yWbdQuO8QOJC7+no0TXmYjRWSC+g==",
+      "version": "8.2.0",
+      "resolved": "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.2.0.tgz",
+      "integrity": "sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==",
       "license": "MIT",
       "engines": {
         "node": ">=14.0.0"
       }
     },
     "node_modules/vscode-langservers-extracted/node_modules/vscode-languageserver": {
-      "version": "10.0.0-next.12",
-      "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-10.0.0-next.12.tgz",
-      "integrity": "sha512-6lT2CJhH93YFmdDrFTwWvuG0/yzEN2Zbw/DfPaRF91sylZ3TSD0NkJU5jug6t/3NLoDh9VjfJZkgkKr6e3UmRw==",
+      "version": "9.0.1",
+      "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-9.0.1.tgz",
+      "integrity": "sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==",
       "license": "MIT",
       "dependencies": {
-        "vscode-languageserver-protocol": "3.17.6-next.12"
+        "vscode-languageserver-protocol": "3.17.5"
       },
       "bin": {
         "installServerIntoExtension": "bin/installServerIntoExtension"
       }
     },
     "node_modules/vscode-langservers-extracted/node_modules/vscode-languageserver-protocol": {
-      "version": "3.17.6-next.12",
-      "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.6-next.12.tgz",
-      "integrity": "sha512-EqrbwF0glTWD2HiDpFc32pJOr6/bJvyKSfCpRQrKy3XsfdloH4p3o/rNJYcpujM0OVLmPZgl1i9g57z9g2YRJA==",
+      "version": "3.17.5",
+      "resolved": "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.5.tgz",
+      "integrity": "sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==",
       "license": "MIT",
       "dependencies": {
-        "vscode-jsonrpc": "9.0.0-next.7",
-        "vscode-languageserver-types": "3.17.6-next.6"
+        "vscode-jsonrpc": "8.2.0",
+        "vscode-languageserver-types": "3.17.5"
       }
     },
-    "node_modules/vscode-langservers-extracted/node_modules/vscode-languageserver-protocol/node_modules/vscode-languageserver-types": {
-      "version": "3.17.6-next.6",
-      "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.6-next.6.tgz",
-      "integrity": "sha512-aiJY5/yW+xzw7KPNlwi3gQtddq/3EIn5z8X8nCgJfaiAij2R1APKePngv+MUdLdYJBVTLu+Qa0ODsT+pHgYguQ==",
-      "license": "MIT"
-    },
     "node_modules/vscode-languageserver": {
       "version": "8.0.2",
       "resolved": "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.0.2.tgz",
@@ -744,16 +743,16 @@
       "license": "MIT"
     },
     "node_modules/vscode-markdown-languageservice": {
-      "version": "0.5.0-alpha.9",
-      "resolved": "https://registry.npmjs.org/vscode-markdown-languageservice/-/vscode-markdown-languageservice-0.5.0-alpha.9.tgz",
-      "integrity": "sha512-OrE8homBOuXX9FOUhqRXgx/Iw0qA94yj3FBRSMztn8VveeO1Y0Eqej/9HBb5ga4sYdlFtQRIZ19lie37TsI+cQ==",
+      "version": "0.4.0",
+      "resolved": "https://registry.npmjs.org/vscode-markdown-languageservice/-/vscode-markdown-languageservice-0.4.0.tgz",
+      "integrity": "sha512-3C8pZlC0ofHEYmWwHgenxL6//XrpkrgyytrqNpMlft46q9uBxSUfcXtEGt7wIDNLWsvmgqPqHBwEnBFtLwrWFA==",
       "license": "MIT",
       "dependencies": {
         "@vscode/l10n": "^0.0.10",
         "node-html-parser": "^6.1.5",
         "picomatch": "^2.3.1",
-        "vscode-languageserver-protocol": "^3.17.1",
-        "vscode-languageserver-textdocument": "^1.0.11",
+        "vscode-languageserver-textdocument": "^1.0.8",
+        "vscode-languageserver-types": "^3.17.3",
         "vscode-uri": "^3.0.7"
       },
       "engines": {

+ 1 - 1
.config/nixpkgs/neovim/node-lsp/package.json

@@ -3,7 +3,7 @@
   "version": "0.0.0",
   "dependencies": {
     "bash-language-server": "^5.6.0",
-    "vscode-langservers-extracted": "^4.10.0",
+    "vscode-langservers-extracted": "4.8.0",
     "typescript": "^5.8.3",
     "typescript-language-server": "^4.3.4"
   }

+ 16 - 20
.config/nixpkgs/neovim/plugins/sources.json

@@ -15,13 +15,9 @@
     "rev": "dcbfe065297d31823561ba787f51056c147aa682",
     "sha256": "1yvpk0cnsx1b1q2wp52fv4mj71w8ssz4dcbbdix65m8qna6d0m9h"
   },
-  "mbbill/undotree": {
-    "rev": "28f2f54a34baff90ea6f4a735ef1813ad875c743",
-    "sha256": "0k9qfp64rbwy1lc62x0vkwfl3qlx8633lfbhqxkf64yqwi81ysp5"
-  },
   "Wansmer/treesj": {
-    "rev": "3b4a2bc42738a63de17e7485d4cc5e49970ddbcc",
-    "sha256": "0ydl72p2zp4yn50r5fzsdnfpr5ji04vfff7rs37jvb48lmfw2rlh"
+    "rev": "925b506eadd9b465e6e577bb684d86e9863a2e21",
+    "sha256": "1sdrvdq1fhx4g3yy50cfylj1wii09dx1mmxpm98nm2k73hildwf3"
   },
   "nvim-telescope/telescope.nvim": {
     "rev": "b4da76be54691e854d3e0e02c36b0245f945c2c7",
@@ -36,20 +32,20 @@
     "sha256": "1kg043h7dqcrqqgg8pp6hsldx7jdhlh8qwad2kkckia191xgnjgm"
   },
   "echasnovski/mini.nvim": {
-    "rev": "c122e852517adaf7257688e435369c050da113b1",
-    "sha256": "1klj676spa0m0j2as1bv9ais3n37213vmqa1plydfa2jxg72l08p"
+    "rev": "7bbafa4691147bc8b74a51986b957daca14c1876",
+    "sha256": "1lkv9gq0qhq76x1mvpxj80rcw4ln8vcwr2yq1i8ghpamy0dz9ah3"
   },
   "neovim/nvim-lspconfig": {
-    "rev": "3db16ceeea947517f0dc1404c24dcb5ab0c91d26",
-    "sha256": "0gam1rxqkxksayblhj1i7jkh4sqjp6lpvyb1psmrhkryj6967ir2"
+    "rev": "3e89e4973d784e1c966517e528b3a30395403fa7",
+    "sha256": "0gbvjd6gs89248p67s00asqdizdj126rf25cq4ckq80w62ws5lvi"
   },
   "nvim-treesitter/nvim-treesitter-textobjects": {
     "rev": "71385f191ec06ffc60e80e6b0c9a9d5daed4824c",
     "sha256": "0pp8s0wljwhc93jp47ad4pigqm8q7v173374c1vpydhx09qwl4ga"
   },
   "sainnhe/sonokai": {
-    "rev": "5baf26496047788dc000e9287e5ceb7420b2f42e",
-    "sha256": "0qnnq90kwg3kn8br63kbzhvrc862g5r7i3k0djs6d63x5hin94x2"
+    "rev": "45481a54f9e44b8b9d89509df514b86bbf22aa07",
+    "sha256": "07f4inv3i7pqj654y8pmc1q7jxw5cf28nvq4jhgh6wpzby1d5z40"
   },
   "LnL7/vim-nix": {
     "rev": "7235c7ce2cea530cb6b59bc3e46d4bfe917d15c8",
@@ -65,17 +61,17 @@
     "sha256": "0pvb25bdmx4hxs3g7pkdqfjg3qpnr9p5szzbqqwaw3lbdnbyykzy"
   },
   "nvim-treesitter/nvim-treesitter-context": {
-    "rev": "02fd97c803962108d129cf42e05adc5eff7f89c1",
-    "sha256": "1jglqdc6sc593841694sn9p2hswg2iqifwjij6d553l228k8k8pl"
+    "rev": "66a9b5fa9e806918b5fe3dba00c6cce7e230abd2",
+    "sha256": "1bj1i7a9lmqamdkf9nirkx6jhcis23n2k23nbzblxybchaqj9ylf"
   },
   "mistweaverco/kulala.nvim": {
     "optional": true,
-    "rev": "6b6e1c8b538cce6654cfc5fb3e4a3acfa316ce57",
-    "sha256": "07sgyqnlsm0zgxfg5ir3kmxbhy53h7bw14hiylvixdbp1x3xhn3h"
+    "rev": "3e81123652a72a2717f9916d6f2b52c2ae6f7e96",
+    "sha256": "0xa30qzghpxikdjqac9x783sdzmzq7zb7ywhzwrkbwl3yf2y4l9c"
   },
   "aaronik/treewalker.nvim": {
-    "rev": "ae229700e1cce34198280f588568dc49c52d9eb1",
-    "sha256": "011r3xvc6207jrzd049nfwfdiz20d7syy0l5dzqmr5f8m7kjf6dh"
+    "rev": "4b268cdd9d9b4bc6b06760dcf883734de84bfcd3",
+    "sha256": "0pzzz0a72vnssdypisb4s8v55llx21gzzww51xadsbfah1c3nkcj"
   },
   "tpope/vim-rsi": {
     "rev": "45540637ead22f011e8215f1c90142e49d946a54",
@@ -86,8 +82,8 @@
     "sha256": "1np8gymhlvklf45f9961ksxkm0nz3ppwkxcjaw8qxzr2fgd3kq9j"
   },
   "mawkler/demicolon.nvim": {
-    "rev": "42eaf79845b777d3608b134f283d97ce44c87e82",
-    "sha256": "19jmf8pkcyc6yfd45xb8hk6rnksanqmbqf3alwr5axgrr9xm2rsh"
+    "rev": "7cd3587c4f4d22cb645c3a2b5ca93ec08012d23f",
+    "sha256": "1b5a4lgcwfyv4hdg44r38fiscvc6xgsy6qiq9zk9jb0qd4x28ym4"
   },
   "nvim-telescope/telescope-ui-select.nvim": {
     "rev": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2",

+ 2 - 2
.config/nixpkgs/neovim/treesitter/grammars.json

@@ -87,7 +87,7 @@
     "repo": "mistweaverco/kulala.nvim",
     "branch": "main",
     "path": "lua/tree-sitter",
-    "rev": "6b6e1c8b538cce6654cfc5fb3e4a3acfa316ce57",
-    "sha256": "07sgyqnlsm0zgxfg5ir3kmxbhy53h7bw14hiylvixdbp1x3xhn3h"
+    "rev": "3e81123652a72a2717f9916d6f2b52c2ae6f7e96",
+    "sha256": "0xa30qzghpxikdjqac9x783sdzmzq7zb7ywhzwrkbwl3yf2y4l9c"
   }
 }