Compare commits

..

No commits in common. "736c323c598d77a54585e2327e2e4ad6af864549" and "aed996eb33bf37d5cf19bc224e56612321c0eaac" have entirely different histories.

28 changed files with 723 additions and 703 deletions

View file

@ -114,35 +114,33 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: "!contains(github.event.pull_request.title, '[skip ci]')" if: "!contains(github.event.pull_request.title, '[skip ci]')"
steps: steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 2 # slows down checkout, but we need to compare against the previous commit on push events
- name: Get list of changed files from PR - name: Get list of changed files from PR
env: env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
shell: bash
run: | run: |
if [[ "${{ github.event_name }}" == "pull_request" ]]; then gh api \
gh api repos/${{ github.repository }}/pulls/${{ github.event.number }}/files --paginate \ repos/notashelf/nvf/pulls/${{github.event.number}}/files --paginate \
| jq -r '.[] | select(.status != "removed") | .filename' \ | jq '.[] | select(.status != "removed") | .filename' \
> "$HOME/changed_files" > "$HOME/changed_files"
else
git diff --name-only HEAD^ > "$HOME/changed_files"
fi
- name: Print list of changed files - name: Print list of changed files
run: | run: |
cat "$HOME/changed_files" cat "$HOME/changed_files"
- name: Checkout
uses: actions/checkout@v4
with:
ref: refs/pull/${{ github.event.pull_request.number }}/merge
- name: Install Nix - name: Install Nix
uses: DeterminateSystems/nix-installer-action@main uses: DeterminateSystems/nix-installer-action@main
- name: Checking Editorconfig conformance - name: Checking EditorConfig
shell: bash shell: bash
run: | run: |
< "$HOME/changed_files" nix-shell -p editorconfig-checker --run 'xargs -r editorconfig-checker -disable-indent-size' cat "$HOME/changed_files" | nix-shell -p editorconfig-checker.out \
--run 'xargs -r editorconfig-checker -disable-indentation -exclude flake.lock --verbose'
echo -n "Check status: $?"
- if: ${{ failure() }} - if: ${{ failure() }}
shell: bash shell: bash

View file

@ -14,11 +14,6 @@
the new API they provide. Please manually set your keybinds according to the new API they provide. Please manually set your keybinds according to
[Lspsaga documentation] following the new API. [Lspsaga documentation] following the new API.
- none-ls has been updated to the latest version. If you have been using raw Lua
configuration to _manually_ configure it, some of the formats may become
unavailable as they have been refactored out of the main none-ls repository
upstream.
[NotAShelf](https://github.com/notashelf): [NotAShelf](https://github.com/notashelf):
[typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim [typst-preview.nvim]: https://github.com/chomosuke/typst-preview.nvim
@ -93,11 +88,8 @@
[blink.cmp]: https://github.com/saghen/blink.cmp [blink.cmp]: https://github.com/saghen/blink.cmp
- Add [aerial.nvim].
- Add [nvim-ufo].
- Add [blink.cmp] support. - Add [blink.cmp] support.
- Add `LazyFile` user event. - Add `LazyFile` user event.
- Migrate language modules from none-ls to conform/nvim-lint
[diniamo](https://github.com/diniamo): [diniamo](https://github.com/diniamo):
@ -106,6 +98,14 @@
- Disable the built-in format-on-save feature of zls. Use `vim.lsp.formatOnSave` - Disable the built-in format-on-save feature of zls. Use `vim.lsp.formatOnSave`
instead. instead.
[horriblename](https://github.com/horriblename):
[aerial.nvim]: (https://github.com/stevearc/aerial.nvim)
[nvim-ufo]: (https://github.com/kevinhwang91/nvim-ufo)
- Add [aerial.nvim].
- Add [nvim-ufo].
[LilleAila](https://github.com/LilleAila): [LilleAila](https://github.com/LilleAila):
- Remove `vim.notes.obsidian.setupOpts.dir`, which was set by default. Fixes - Remove `vim.notes.obsidian.setupOpts.dir`, which was set by default. Fixes

6
flake.lock generated
View file

@ -77,11 +77,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1743076231, "lastModified": 1742923925,
"narHash": "sha256-yQugdVfi316qUfqzN8JMaA2vixl+45GxNm4oUfXlbgw=", "narHash": "sha256-biPjLws6FiBVUUDHEMFq5pUQL84Wf7PntPYdo3oKkFw=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "6c5963357f3c1c840201eda129a99d455074db04", "rev": "25d1b84f5c90632a623c48d83a2faf156451e6b1",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -1,8 +1,9 @@
{ {
stdenv, stdenv,
rustPlatform, rustPlatform,
hostPlatform,
vimUtils, vimUtils,
gitMinimal, git,
src, src,
version, version,
}: let }: let
@ -16,7 +17,7 @@
useFetchCargoVendor = true; useFetchCargoVendor = true;
cargoHash = "sha256-F1wh/TjYoiIbDY3J/prVF367MKk3vwM7LqOpRobOs7I="; cargoHash = "sha256-F1wh/TjYoiIbDY3J/prVF367MKk3vwM7LqOpRobOs7I=";
nativeBuildInputs = [gitMinimal]; nativeBuildInputs = [git];
}; };
in in
vimUtils.buildVimPlugin { vimUtils.buildVimPlugin {
@ -33,5 +34,5 @@ in
''; '';
# Module for reproducing issues # Module for reproducing issues
nvimSkipModules = ["repro"]; nvimSkipModule = ["repro"];
} }

View file

@ -3,48 +3,18 @@
lib, lib,
... ...
}: let }: let
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf;
inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.dag) entryAnywhere; inherit (lib.nvim.dag) entryAnywhere;
inherit (lib.nvim.lua) toLuaObject; inherit (lib.nvim.lua) toLuaObject;
cfg = config.vim.diagnostics.nvim-lint; cfg = config.vim.diagnostics.nvim-lint;
in { in {
config = mkMerge [ config = mkIf cfg.enable {
(mkIf cfg.enable {
vim = { vim = {
startPlugins = ["nvim-lint"]; startPlugins = ["nvim-lint"];
pluginRC.nvim-lint = entryAnywhere '' pluginRC.nvim-lint = entryAnywhere ''
require("lint").linters_by_ft = ${toLuaObject cfg.linters_by_ft} require("lint").linters_by_ft = ${toLuaObject cfg.linters_by_ft}
local linters = require("lint").linters
local nvf_linters = ${toLuaObject cfg.linters}
for linter, config in pairs(nvf_linters) do
if linters[linter] == nil then
linters[linter] = config
else
for key, val in pairs(config) do
linters[linter][key] = val
end
end
end
''; '';
}; };
})
(mkIf cfg.lint_after_save {
vim = {
augroups = [{name = "nvf_nvim_lint";}];
autocmds = [
{
event = ["BufWritePost"];
callback = mkLuaInline ''
function()
require("lint").try_lint()
end
'';
}
];
}; };
})
];
} }

View file

@ -1,76 +1,6 @@
{lib, ...}: let {lib, ...}: let
inherit (lib.options) mkOption mkEnableOption; inherit (lib.options) mkOption mkEnableOption;
inherit (lib.types) nullOr attrsOf listOf str either submodule bool enum; inherit (lib.types) attrsOf listOf str;
inherit (lib.nvim.types) luaInline;
linterType = submodule {
options = {
name = mkOption {
type = nullOr str;
default = null;
description = "Name of the linter";
};
cmd = mkOption {
type = nullOr str;
default = null;
description = "Command of the linter";
};
args = mkOption {
type = nullOr (listOf (either str luaInline));
default = null;
description = "Arguments to pass";
};
stdin = mkOption {
type = nullOr bool;
default = null;
description = "Send content via stdin.";
};
append_fname = mkOption {
type = nullOr bool;
default = null;
description = ''
Automatically add the current file name to the commands arguments. Only
has an effect if stdin is false
'';
};
stream = mkOption {
type = nullOr (enum ["stdout" "stderr" "both"]);
default = null;
description = "Result stream";
};
ignore_exitcode = mkOption {
type = nullOr bool;
default = null;
description = ''
Declares if exit code != 1 should be ignored or result in a warning.
'';
};
env = mkOption {
type = nullOr (attrsOf str);
default = null;
description = "Environment variables to use";
};
cwd = mkOption {
type = nullOr str;
default = null;
description = "Working directory of the linter";
};
parser = mkOption {
type = nullOr luaInline;
default = null;
description = "Parser function";
};
};
};
in { in {
options.vim.diagnostics.nvim-lint = { options.vim.diagnostics.nvim-lint = {
enable = mkEnableOption "asynchronous linter plugin for Neovim [nvim-lint]"; enable = mkEnableOption "asynchronous linter plugin for Neovim [nvim-lint]";
@ -91,31 +21,5 @@ in {
accept. accept.
''; '';
}; };
linters = mkOption {
type = attrsOf linterType;
default = {};
example = ''
{
phpcs = {
args = ["-q" "--report-json" "-"];
# this will replace the builtin's env table if it exists
env = {
ENV_VAR = "something";
};
};
}
'';
description = ''
Linter configurations. Builtin linters will be updated and not
replaced, but note that this is not a deep extend operation, i.e. if
you define an `env` option, it will replace the entire `env` table
provided by the builtin (if it exists).
'';
};
lint_after_save = mkEnableOption "autocmd to lint after each save" // {default = true;};
}; };
} }

View file

@ -10,8 +10,8 @@
inherit (lib.lists) isList; inherit (lib.lists) isList;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.types) enum either listOf package str; inherit (lib.types) enum either listOf package str;
inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.lua) expToLua; inherit (lib.nvim.lua) expToLua;
inherit (lib.nvim.languages) diagnosticsToLua;
inherit (lib.nvim.types) mkGrammarOption diagnostics; inherit (lib.nvim.types) mkGrammarOption diagnostics;
cfg = config.vim.languages.astro; cfg = config.vim.languages.astro;
@ -39,10 +39,26 @@
formats = { formats = {
prettier = { prettier = {
package = pkgs.nodePackages.prettier; package = pkgs.nodePackages.prettier;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.prettier.with({
command = "${cfg.format.package}/bin/prettier",
})
)
'';
}; };
biome = { biome = {
package = pkgs.biome; package = pkgs.biome;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.biome.with({
command = "${cfg.format.package}/bin/biome",
})
)
'';
}; };
}; };
@ -51,25 +67,26 @@
diagnosticsProviders = { diagnosticsProviders = {
eslint_d = { eslint_d = {
package = pkgs.eslint_d; package = pkgs.eslint_d;
config = { nullConfig = pkg: ''
# HACK: change if nvim-lint gets a dynamic enable thing table.insert(
parser = mkLuaInline '' ls_sources,
function(output, bufnr, cwd) null_ls.builtins.diagnostics.eslint_d.with({
local markers = { "eslint.config.js", "eslint.config.mjs", command = "${getExe pkg}",
".eslintrc", ".eslintrc.json", ".eslintrc.js", ".eslintrc.yml", } condition = function(utils)
for _, filename in ipairs(markers) do return utils.root_has_file({
local path = vim.fs.join(cwd, filename) "eslint.config.js",
if vim.loop.fs_stat(path) then "eslint.config.mjs",
return require("lint.linters.eslint_d").parser(output, bufnr, cwd) ".eslintrc",
end ".eslintrc.json",
end ".eslintrc.js",
".eslintrc.yml",
return {} })
end end,
})
)
''; '';
}; };
}; };
};
in { in {
options.vim.languages.astro = { options.vim.languages.astro = {
enable = mkEnableOption "Astro language support"; enable = mkEnableOption "Astro language support";
@ -136,29 +153,16 @@ in {
}) })
(mkIf cfg.format.enable { (mkIf cfg.format.enable {
vim.formatter.conform-nvim = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources.astro-format = formats.${cfg.format.type}.nullConfig;
setupOpts.formatters_by_ft.astro = [cfg.format.type];
setupOpts.formatters.${cfg.format.type} = {
command = getExe cfg.format.package;
};
};
}) })
(mkIf cfg.extraDiagnostics.enable { (mkIf cfg.extraDiagnostics.enable {
vim.diagnostics.nvim-lint = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources = diagnosticsToLua {
linters_by_ft.astro = cfg.extraDiagnostics.types; lang = "astro";
linters = mkMerge (map ( config = cfg.extraDiagnostics.types;
name: { inherit diagnosticsProviders;
${name} =
diagnosticsProviders.${name}.config
// {
cmd = getExe diagnosticsProviders.${name}.package;
};
}
)
cfg.extraDiagnostics.types);
}; };
}) })
]); ]);

View file

@ -6,10 +6,10 @@
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkOption mkEnableOption literalExpression; inherit (lib.options) mkOption mkEnableOption literalExpression;
inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.lists) isList; inherit (lib.lists) isList;
inherit (lib.types) enum either package listOf str bool; inherit (lib.types) enum either package listOf str bool;
inherit (lib.nvim.languages) diagnosticsToLua;
inherit (lib.nvim.types) diagnostics mkGrammarOption; inherit (lib.nvim.types) diagnostics mkGrammarOption;
inherit (lib.nvim.lua) expToLua; inherit (lib.nvim.lua) expToLua;
@ -37,6 +37,14 @@
formats = { formats = {
shfmt = { shfmt = {
package = pkgs.shfmt; package = pkgs.shfmt;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.shfmt.with({
command = "${pkgs.shfmt}/bin/shfmt",
})
)
'';
}; };
}; };
@ -44,6 +52,15 @@
diagnosticsProviders = { diagnosticsProviders = {
shellcheck = { shellcheck = {
package = pkgs.shellcheck; package = pkgs.shellcheck;
nullConfig = pkg: ''
table.insert(
ls_sources,
null_ls.builtins.diagnostics.shellcheck.with({
command = "${pkg}/bin/shellcheck",
diagnostics_format = "#{m} [#{c}]"
})
)
'';
}; };
}; };
in { in {
@ -113,23 +130,16 @@ in {
}) })
(mkIf cfg.format.enable { (mkIf cfg.format.enable {
vim.formatter.conform-nvim = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources.bash-format = formats.${cfg.format.type}.nullConfig;
setupOpts.formatters_by_ft.sh = [cfg.format.type];
setupOpts.formatters.${cfg.format.type} = {
command = getExe cfg.format.package;
};
};
}) })
(mkIf cfg.extraDiagnostics.enable { (mkIf cfg.extraDiagnostics.enable {
vim.diagnostics.nvim-lint = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources = diagnosticsToLua {
linters_by_ft.sh = cfg.extraDiagnostics.types; lang = "bash";
linters = mkMerge (map (name: { config = cfg.extraDiagnostics.types;
${name}.cmd = getExe diagnosticsProviders.${name}.package; inherit diagnosticsProviders;
})
cfg.extraDiagnostics.types);
}; };
}) })
]); ]);

View file

@ -6,7 +6,6 @@
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption;
inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.lists) isList; inherit (lib.lists) isList;
inherit (lib.types) enum either listOf package str; inherit (lib.types) enum either listOf package str;
@ -43,6 +42,14 @@
formats = { formats = {
prettier = { prettier = {
package = pkgs.nodePackages.prettier; package = pkgs.nodePackages.prettier;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.prettier.with({
command = "${cfg.format.package}/bin/prettier",
})
)
'';
}; };
prettierd = { prettierd = {
@ -125,13 +132,8 @@ in {
}) })
(mkIf cfg.format.enable { (mkIf cfg.format.enable {
vim.formatter.conform-nvim = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources.css-format = formats.${cfg.format.type}.nullConfig;
setupOpts.formatters_by_ft.css = [cfg.format.type];
setupOpts.formatters.${cfg.format.type} = {
command = getExe cfg.format.package;
};
};
}) })
]); ]);
} }

View file

@ -38,9 +38,14 @@
formats = { formats = {
mix = { mix = {
package = pkgs.elixir; package = pkgs.elixir;
config = { nullConfig = ''
command = "${cfg.format.package}/bin/mix"; table.insert(
}; ls_sources,
null_ls.builtins.formatting.mix.with({
command = "${cfg.format.package}/bin/mix",
})
)
'';
}; };
}; };
in { in {
@ -102,12 +107,8 @@ in {
}) })
(mkIf cfg.format.enable { (mkIf cfg.format.enable {
vim.formatter.conform-nvim = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources.elixir-format = formats.${cfg.format.type}.nullConfig;
setupOpts.formatters_by_ft.elixir = [cfg.format.type];
setupOpts.formatters.${cfg.format.type} =
formats.${cfg.format.type}.config;
};
}) })
(mkIf cfg.elixir-tools.enable { (mkIf cfg.elixir-tools.enable {

View file

@ -7,7 +7,6 @@
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption;
inherit (lib.types) either listOf package str enum; inherit (lib.types) either listOf package str enum;
inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.lists) isList; inherit (lib.lists) isList;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption;
@ -36,6 +35,14 @@
formats = { formats = {
fantomas = { fantomas = {
package = pkgs.fantomas; package = pkgs.fantomas;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.fantomas.with({
command = "${cfg.format.package}/bin/fantomas",
})
)
'';
}; };
}; };
@ -95,13 +102,8 @@ in {
}) })
(mkIf cfg.format.enable { (mkIf cfg.format.enable {
vim.formatter.conform-nvim = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources.fsharp-format = formats.${cfg.format.type}.nullConfig;
setupOpts.formatters_by_ft.fsharp = [cfg.format.type];
setupOpts.formatters.${cfg.format.type} = {
command = getExe cfg.format.package;
};
};
}) })
]); ]);
} }

View file

@ -38,15 +38,36 @@
formats = { formats = {
gofmt = { gofmt = {
package = pkgs.go; package = pkgs.go;
config.command = "${cfg.format.package}/bin/gofmt"; nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.gofmt.with({
command = "${cfg.format.package}/bin/gofmt",
})
)
'';
}; };
gofumpt = { gofumpt = {
package = pkgs.gofumpt; package = pkgs.gofumpt;
config.command = getExe cfg.format.package; nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.gofumpt.with({
command = "${cfg.format.package}/bin/gofumpt",
})
)
'';
}; };
golines = { golines = {
package = pkgs.golines; package = pkgs.golines;
config.command = "${cfg.format.package}/bin/golines"; nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.golines.with({
command = "${cfg.format.package}/bin/golines",
})
)
'';
}; };
}; };
@ -132,11 +153,8 @@ in {
}) })
(mkIf cfg.format.enable { (mkIf cfg.format.enable {
vim.formatter.conform-nvim = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources.go-format = formats.${cfg.format.type}.nullConfig;
setupOpts.formatters_by_ft.go = [cfg.format.type];
setupOpts.formatters.${cfg.format.type} = formats.${cfg.format.type}.config;
};
}) })
(mkIf cfg.dap.enable { (mkIf cfg.dap.enable {

View file

@ -6,7 +6,6 @@
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption;
inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.types) package bool enum; inherit (lib.types) package bool enum;
inherit (lib.nvim.types) mkGrammarOption; inherit (lib.nvim.types) mkGrammarOption;
@ -31,6 +30,14 @@
formats = { formats = {
hclfmt = { hclfmt = {
package = pkgs.hclfmt; package = pkgs.hclfmt;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.hclfmt.with({
command = "${lib.getExe cfg.format.package}",
})
)
'';
}; };
}; };
in { in {
@ -103,13 +110,8 @@ in {
}) })
(mkIf cfg.format.enable { (mkIf cfg.format.enable {
vim.formatter.conform-nvim = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources.hcl-format = formats.${cfg.format.type}.nullConfig;
setupOpts.formatters_by_ft.hcl = [cfg.format.type];
setupOpts.formatters.${cfg.format.type} = {
command = getExe cfg.format.package;
};
};
}) })
]); ]);
} }

View file

@ -7,6 +7,7 @@
inherit (lib.options) mkEnableOption mkOption literalExpression; inherit (lib.options) mkEnableOption mkOption literalExpression;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.nvim.languages) diagnosticsToLua;
inherit (lib.types) either package listOf str; inherit (lib.types) either package listOf str;
inherit (lib.nvim.types) mkGrammarOption diagnostics; inherit (lib.nvim.types) mkGrammarOption diagnostics;
inherit (lib.lists) isList; inherit (lib.lists) isList;
@ -18,6 +19,14 @@
diagnosticsProviders = { diagnosticsProviders = {
ktlint = { ktlint = {
package = pkgs.ktlint; package = pkgs.ktlint;
nullConfig = pkg: ''
table.insert(
ls_sources,
null_ls.builtins.diagnostics.ktlint.with({
command = "${getExe pkg}",
})
)
'';
}; };
}; };
in { in {
@ -67,13 +76,11 @@ in {
}) })
(mkIf cfg.extraDiagnostics.enable { (mkIf cfg.extraDiagnostics.enable {
vim.diagnostics.nvim-lint = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources = diagnosticsToLua {
linters_by_ft.kotlin = cfg.extraDiagnostics.types; lang = "kotlin";
linters = mkMerge (map (name: { config = cfg.extraDiagnostics.types;
${name}.cmd = getExe diagnosticsProviders.${name}.package; inherit diagnosticsProviders;
})
cfg.extraDiagnostics.types);
}; };
}) })

View file

@ -5,10 +5,9 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption;
inherit (lib.lists) isList; inherit (lib.lists) isList concatLists;
inherit (lib.types) bool enum either package listOf str; inherit (lib.types) bool enum either package listOf str;
inherit (lib.nvim.lua) expToLua toLuaObject; inherit (lib.nvim.lua) expToLua toLuaObject;
inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption; inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption;
@ -33,17 +32,31 @@
}; };
}; };
defaultFormat = "deno_fmt"; defaultFormat = "denofmt";
formats = { formats = {
# for backwards compatibility
denofmt = { denofmt = {
package = pkgs.deno; package = pkgs.deno;
}; nullConfig = ''
deno_fmt = { table.insert(
package = pkgs.deno; ls_sources,
null_ls.builtins.formatting.deno_fmt.with({
filetypes = ${expToLua (concatLists [cfg.format.extraFiletypes ["markdown"]])},
command = "${cfg.format.package}/bin/deno",
})
)
'';
}; };
prettierd = { prettierd = {
package = pkgs.prettierd; package = pkgs.prettierd;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.prettierd.with({
filetypes = ${expToLua (concatLists [cfg.format.extraFiletypes ["markdown"]])},
command = "${cfg.format.package}/bin/prettierd",
})
)
'';
}; };
}; };
in { in {
@ -83,7 +96,7 @@ in {
type = mkOption { type = mkOption {
type = enum (attrNames formats); type = enum (attrNames formats);
default = defaultFormat; default = defaultFormat;
description = "Markdown formatter to use. `denofmt` is deprecated and currently aliased to deno_fmt."; description = "Markdown formatter to use";
}; };
package = mkOption { package = mkOption {
@ -135,17 +148,8 @@ in {
}) })
(mkIf cfg.format.enable { (mkIf cfg.format.enable {
vim.formatter.conform-nvim = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources.markdown-format = formats.${cfg.format.type}.nullConfig;
setupOpts.formatters_by_ft.markdown = [cfg.format.type];
setupOpts.formatters.${
if cfg.format.type == "denofmt"
then "deno_fmt"
else cfg.format.type
} = {
command = getExe cfg.format.package;
};
};
}) })
# Extensions # Extensions

View file

@ -6,7 +6,6 @@
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption;
inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.lists) isList; inherit (lib.lists) isList;
inherit (lib.types) enum either listOf package str; inherit (lib.types) enum either listOf package str;
@ -39,9 +38,14 @@
formats = { formats = {
nimpretty = { nimpretty = {
package = pkgs.nim; package = pkgs.nim;
config = { nullConfig = ''
command = "${cfg.format.package}/bin/nimpretty"; table.insert(
}; ls_sources,
null_ls.builtins.formatting.nimpretty.with({
command = "${pkgs.nim}/bin/nimpretty",
})
)
'';
}; };
}; };
in { in {
@ -106,11 +110,8 @@ in {
}) })
(mkIf cfg.format.enable { (mkIf cfg.format.enable {
vim.formatter.conform-nvim = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources.nim-format = formats.${cfg.format.type}.nullConfig;
setupOpts.formatters_by_ft.nim = [cfg.format.type];
setupOpts.formatters.${cfg.format.type} = formats.${cfg.format.type}.config;
};
}) })
]); ]);
} }

View file

@ -6,7 +6,6 @@
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib) concatStringsSep; inherit (lib) concatStringsSep;
inherit (lib.meta) getExe;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.lists) isList; inherit (lib.lists) isList;
@ -14,6 +13,7 @@
inherit (lib.types) anything attrsOf enum either listOf nullOr package str; inherit (lib.types) anything attrsOf enum either listOf nullOr package str;
inherit (lib.nvim.types) mkGrammarOption diagnostics; inherit (lib.nvim.types) mkGrammarOption diagnostics;
inherit (lib.nvim.lua) expToLua toLuaObject; inherit (lib.nvim.lua) expToLua toLuaObject;
inherit (lib.nvim.languages) diagnosticsToLua;
cfg = config.vim.languages.nix; cfg = config.vim.languages.nix;
@ -100,10 +100,26 @@
formats = { formats = {
alejandra = { alejandra = {
package = pkgs.alejandra; package = pkgs.alejandra;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.alejandra.with({
command = "${cfg.format.package}/bin/alejandra"
})
)
'';
}; };
nixfmt = { nixfmt = {
package = pkgs.nixfmt-rfc-style; package = pkgs.nixfmt-rfc-style;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.nixfmt.with({
command = "${cfg.format.package}/bin/nixfmt"
})
)
'';
}; };
}; };
@ -221,24 +237,17 @@ in {
vim.lsp.lspconfig.sources.nix-lsp = servers.${cfg.lsp.server}.lspConfig; vim.lsp.lspconfig.sources.nix-lsp = servers.${cfg.lsp.server}.lspConfig;
}) })
(mkIf (cfg.format.enable && (!cfg.lsp.enable || !servers.${cfg.lsp.server}.internalFormatter)) { (mkIf (cfg.format.enable && !servers.${cfg.lsp.server}.internalFormatter) {
vim.formatter.conform-nvim = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources.nix-format = formats.${cfg.format.type}.nullConfig;
setupOpts.formatters_by_ft.nix = [cfg.format.type];
setupOpts.formatters.${cfg.format.type} = {
command = getExe cfg.format.package;
};
};
}) })
(mkIf cfg.extraDiagnostics.enable { (mkIf cfg.extraDiagnostics.enable {
vim.diagnostics.nvim-lint = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources = diagnosticsToLua {
linters_by_ft.nix = cfg.extraDiagnostics.types; lang = "nix";
linters = mkMerge (map (name: { config = cfg.extraDiagnostics.types;
${name}.cmd = getExe diagnosticsProviders.${name}.package; inherit diagnosticsProviders;
})
cfg.extraDiagnostics.types);
}; };
}) })
]); ]);

View file

@ -37,6 +37,14 @@
formats = { formats = {
ocamlformat = { ocamlformat = {
package = pkgs.ocamlPackages.ocamlformat; package = pkgs.ocamlPackages.ocamlformat;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.ocamlformat.with({
command = "${cfg.format.package}/bin/ocamlformat",
})
)
'';
}; };
}; };
in { in {
@ -89,13 +97,9 @@ in {
}) })
(mkIf cfg.format.enable { (mkIf cfg.format.enable {
vim.formatter.conform-nvim = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources.ocamlformat = formats.${cfg.format.type}.nullConfig;
setupOpts.formatters_by_ft.ocaml = [cfg.format.type]; vim.extraPackages = [formats.${cfg.format.type}.package];
setupOpts.formatters.${cfg.format.type} = {
command = getExe cfg.format.package;
};
};
}) })
]); ]);
} }

View file

@ -66,10 +66,26 @@
formats = { formats = {
black = { black = {
package = pkgs.black; package = pkgs.black;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.black.with({
command = "${cfg.format.package}/bin/black",
})
)
'';
}; };
isort = { isort = {
package = pkgs.isort; package = pkgs.isort;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.isort.with({
command = "${cfg.format.package}/bin/isort",
})
)
'';
}; };
black-and-isort = { black-and-isort = {
@ -80,6 +96,15 @@
black --quiet - "$@" | isort --profile black - black --quiet - "$@" | isort --profile black -
''; '';
}; };
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.black.with({
command = "${cfg.format.package}/bin/black",
})
)
'';
}; };
ruff = { ruff = {
@ -90,6 +115,14 @@
ruff format - ruff format -
''; '';
}; };
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.ruff.with({
command = "${cfg.format.package}/bin/ruff",
})
)
'';
}; };
}; };
@ -239,22 +272,8 @@ in {
}) })
(mkIf cfg.format.enable { (mkIf cfg.format.enable {
vim.formatter.conform-nvim = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources.python-format = formats.${cfg.format.type}.nullConfig;
# HACK: I'm planning to remove these soon so I just took the easiest way out
setupOpts.formatters_by_ft.python =
if cfg.format.type == "black-and-isort"
then ["black"]
else [cfg.format.type];
setupOpts.formatters =
if (cfg.format.type == "black-and-isort")
then {
black.command = "${cfg.format.package}/bin/black";
}
else {
${cfg.format.type}.command = getExe cfg.format.package;
};
};
}) })
(mkIf cfg.dap.enable { (mkIf cfg.dap.enable {

View file

@ -24,29 +24,28 @@
package = pkgs.rWrapper.override { package = pkgs.rWrapper.override {
packages = [pkgs.rPackages.styler]; packages = [pkgs.rPackages.styler];
}; };
config = { nullConfig = ''
command = "${cfg.format.package}/bin/R"; table.insert(
}; ls_sources,
null_ls.builtins.formatting.styler.with({
command = "${cfg.format.package}/bin/R",
})
)
'';
}; };
format_r = { format_r = {
package = pkgs.rWrapper.override { package = pkgs.rWrapper.override {
packages = [pkgs.rPackages.formatR]; packages = [pkgs.rPackages.formatR];
}; };
config = { nullConfig = ''
command = "${cfg.format.package}/bin/R"; table.insert(
stdin = true; ls_sources,
args = [ null_ls.builtins.formatting.format_r.with({
"--slave" command = "${cfg.format.package}/bin/R",
"--no-restore" })
"--no-save" )
"-s" '';
"-e"
''formatR::tidy_source(source="stdin")''
];
# TODO: range_args seem to be possible
# https://github.com/nvimtools/none-ls.nvim/blob/main/lua/null-ls/builtins/formatting/format_r.lua
};
}; };
}; };
@ -119,11 +118,8 @@ in {
}) })
(mkIf cfg.format.enable { (mkIf cfg.format.enable {
vim.formatter.conform-nvim = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources.r-format = formats.${cfg.format.type}.nullConfig;
setupOpts.formatters_by_ft.r = [cfg.format.type];
setupOpts.formatters.${cfg.format.type} = formats.${cfg.format.type}.config;
};
}) })
(mkIf cfg.lsp.enable { (mkIf cfg.lsp.enable {

View file

@ -6,10 +6,10 @@
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption;
inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.nvim.types) mkGrammarOption diagnostics; inherit (lib.nvim.types) mkGrammarOption diagnostics;
inherit (lib.types) either listOf package str enum; inherit (lib.types) either listOf package str enum;
inherit (lib.nvim.languages) diagnosticsToLua;
cfg = config.vim.languages.ruby; cfg = config.vim.languages.ruby;
@ -35,8 +35,24 @@
defaultFormat = "rubocop"; defaultFormat = "rubocop";
formats = { formats = {
rubocop = { rubocop = {
# TODO: is this right?
package = pkgs.rubyPackages.rubocop; package = pkgs.rubyPackages.rubocop;
nullConfig = ''
local conditional = function(fn)
local utils = require("null-ls.utils").make_conditional_utils()
return fn(utils)
end
table.insert(
ls_sources,
null_ls.builtins.formatting.rubocop.with({
command="${pkgs.bundler}/bin/bundle",
args = vim.list_extend(
{"exec", "rubocop", "-a" },
null_ls.builtins.formatting.rubocop._opts.args
),
})
)
'';
}; };
}; };
@ -44,7 +60,14 @@
diagnosticsProviders = { diagnosticsProviders = {
rubocop = { rubocop = {
package = pkgs.rubyPackages.rubocop; package = pkgs.rubyPackages.rubocop;
config.command = getExe cfg.format.package; nullConfig = pkg: ''
table.insert(
ls_sources,
null_ls.builtins.diagnostics.rubocop.with({
command = "${lib.getExe pkg}",
})
)
'';
}; };
}; };
in { in {
@ -113,23 +136,16 @@ in {
}) })
(mkIf cfg.format.enable { (mkIf cfg.format.enable {
vim.formatter.conform-nvim = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources.ruby-format = formats.${cfg.format.type}.nullConfig;
setupOpts.formatters_by_ft.ruby = [cfg.format.type];
setupOpts.formatters.${cfg.format.type} = {
command = getExe cfg.format.package;
};
};
}) })
(mkIf cfg.extraDiagnostics.enable { (mkIf cfg.extraDiagnostics.enable {
vim.diagnostics.nvim-lint = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources = diagnosticsToLua {
linters_by_ft.ruby = cfg.extraDiagnostics.types; lang = "ruby";
linters = mkMerge (map (name: { config = cfg.extraDiagnostics.types;
${name}.cmd = getExe diagnosticsProviders.${name}.package; inherit diagnosticsProviders;
})
cfg.extraDiagnostics.types);
}; };
}) })
]); ]);

View file

@ -5,7 +5,6 @@
... ...
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.options) mkOption mkEnableOption; inherit (lib.options) mkOption mkEnableOption;
inherit (lib.strings) optionalString; inherit (lib.strings) optionalString;
@ -22,6 +21,14 @@
formats = { formats = {
rustfmt = { rustfmt = {
package = pkgs.rustfmt; package = pkgs.rustfmt;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.rustfmt.with({
command = "${cfg.format.package}/bin/rustfmt",
})
)
'';
}; };
}; };
in { in {
@ -121,13 +128,8 @@ in {
}) })
(mkIf cfg.format.enable { (mkIf cfg.format.enable {
vim.formatter.conform-nvim = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources.rust-format = formats.${cfg.format.type}.nullConfig;
setupOpts.formatters_by_ft.rust = [cfg.format.type];
setupOpts.formatters.${cfg.format.type} = {
command = getExe cfg.format.package;
};
};
}) })
(mkIf (cfg.lsp.enable || cfg.dap.enable) { (mkIf (cfg.lsp.enable || cfg.dap.enable) {

View file

@ -6,11 +6,11 @@
}: let }: let
inherit (builtins) attrNames; inherit (builtins) attrNames;
inherit (lib.options) mkEnableOption mkOption; inherit (lib.options) mkEnableOption mkOption;
inherit (lib.meta) getExe;
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.lists) isList; inherit (lib.lists) isList;
inherit (lib.types) enum either listOf package str; inherit (lib.types) enum either listOf package str;
inherit (lib.nvim.lua) expToLua; inherit (lib.nvim.lua) expToLua;
inherit (lib.nvim.languages) diagnosticsToLua;
inherit (lib.nvim.types) diagnostics; inherit (lib.nvim.types) diagnostics;
cfg = config.vim.languages.sql; cfg = config.vim.languages.sql;
@ -41,10 +41,15 @@
formats = { formats = {
sqlfluff = { sqlfluff = {
package = sqlfluffDefault; package = sqlfluffDefault;
config = { nullConfig = ''
command = getExe cfg.format.package; table.insert(
append_args = ["--dialect=${cfg.dialect}"]; ls_sources,
}; null_ls.builtins.formatting.sqlfluff.with({
command = "${cfg.format.package}/bin/sqlfluff",
extra_args = {"--dialect", "${cfg.dialect}"}
})
)
'';
}; };
}; };
@ -52,10 +57,15 @@
diagnosticsProviders = { diagnosticsProviders = {
sqlfluff = { sqlfluff = {
package = sqlfluffDefault; package = sqlfluffDefault;
config = { nullConfig = pkg: ''
cmd = getExe sqlfluffDefault; table.insert(
args = ["lint" "--format=json" "--dialect=${cfg.dialect}"]; ls_sources,
}; null_ls.builtins.diagnostics.sqlfluff.with({
command = "${pkg}/bin/sqlfluff",
extra_args = {"--dialect", "${cfg.dialect}"}
})
)
'';
}; };
}; };
in { in {
@ -140,20 +150,16 @@ in {
}) })
(mkIf cfg.format.enable { (mkIf cfg.format.enable {
vim.formatter.conform-nvim = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources."sql-format" = formats.${cfg.format.type}.nullConfig;
setupOpts.formatters_by_ft.sql = [cfg.format.type];
setupOpts.formatters.${cfg.format.type} = formats.${cfg.format.type}.config;
};
}) })
(mkIf cfg.extraDiagnostics.enable { (mkIf cfg.extraDiagnostics.enable {
vim.diagnostics.nvim-lint = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources = diagnosticsToLua {
linters_by_ft.sql = cfg.extraDiagnostics.types; lang = "sql";
linters = config = cfg.extraDiagnostics.types;
mkMerge (map (name: {${name} = diagnosticsProviders.${name}.config;}) inherit diagnosticsProviders;
cfg.extraDiagnostics.types);
}; };
}) })
]); ]);

View file

@ -9,9 +9,9 @@
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.lists) isList; inherit (lib.lists) isList;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.generators) mkLuaInline;
inherit (lib.types) enum either listOf package str; inherit (lib.types) enum either listOf package str;
inherit (lib.nvim.lua) expToLua; inherit (lib.nvim.lua) expToLua;
inherit (lib.nvim.languages) diagnosticsToLua;
inherit (lib.nvim.types) mkGrammarOption diagnostics; inherit (lib.nvim.types) mkGrammarOption diagnostics;
cfg = config.vim.languages.svelte; cfg = config.vim.languages.svelte;
@ -39,40 +39,54 @@
formats = { formats = {
prettier = { prettier = {
package = pkgs.nodePackages.prettier; package = pkgs.nodePackages.prettier;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.prettier.with({
command = "${cfg.format.package}/bin/prettier",
})
)
'';
}; };
biome = { biome = {
package = pkgs.biome; package = pkgs.biome;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.biome.with({
command = "${cfg.format.package}/bin/biome",
})
)
'';
}; };
}; };
# TODO: specify packages # TODO: specify packages
defaultDiagnosticsProvider = ["eslint_d"]; defaultDiagnosticsProvider = ["eslint_d"];
diagnosticsProviders = { diagnosticsProviders = {
eslint_d = let eslint_d = {
pkg = pkgs.eslint_d; package = pkgs.eslint_d;
in { nullConfig = pkg: ''
package = pkg; table.insert(
config = { ls_sources,
cmd = getExe pkg; null_ls.builtins.diagnostics.eslint_d.with({
# HACK: change if nvim-lint gets a dynamic enable thing command = "${getExe pkg}",
parser = mkLuaInline '' condition = function(utils)
function(output, bufnr, cwd) return utils.root_has_file({
local markers = { "eslint.config.js", "eslint.config.mjs", "eslint.config.js",
".eslintrc", ".eslintrc.json", ".eslintrc.js", ".eslintrc.yml", } "eslint.config.mjs",
for _, filename in ipairs(markers) do ".eslintrc",
local path = vim.fs.join(cwd, filename) ".eslintrc.json",
if vim.loop.fs_stat(path) then ".eslintrc.js",
return require("lint.linters.eslint_d").parser(output, bufnr, cwd) ".eslintrc.yml",
end })
end end,
})
return {} )
end
''; '';
}; };
}; };
};
in { in {
options.vim.languages.svelte = { options.vim.languages.svelte = {
enable = mkEnableOption "Svelte language support"; enable = mkEnableOption "Svelte language support";
@ -139,22 +153,16 @@ in {
}) })
(mkIf cfg.format.enable { (mkIf cfg.format.enable {
vim.formatter.conform-nvim = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources.svelte-format = formats.${cfg.format.type}.nullConfig;
setupOpts.formatters_by_ft.svelte = [cfg.format.type];
setupOpts.formatters.${cfg.format.type} = {
command = getExe cfg.format.package;
};
};
}) })
(mkIf cfg.extraDiagnostics.enable { (mkIf cfg.extraDiagnostics.enable {
vim.diagnostics.nvim-lint = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources = diagnosticsToLua {
linters_by_ft.svelte = cfg.extraDiagnostics.types; lang = "svelte";
linters = config = cfg.extraDiagnostics.types;
mkMerge (map (name: {${name} = diagnosticsProviders.${name}.config;}) inherit diagnosticsProviders;
cfg.extraDiagnostics.types);
}; };
}) })
]); ]);

View file

@ -9,10 +9,10 @@
inherit (lib.modules) mkIf mkMerge; inherit (lib.modules) mkIf mkMerge;
inherit (lib.lists) isList; inherit (lib.lists) isList;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.generators) mkLuaInline;
inherit (lib.types) enum either listOf package str bool; inherit (lib.types) enum either listOf package str bool;
inherit (lib.nvim.lua) expToLua toLuaObject; inherit (lib.nvim.lua) expToLua toLuaObject;
inherit (lib.nvim.types) mkGrammarOption diagnostics mkPluginSetupOption; inherit (lib.nvim.types) mkGrammarOption diagnostics mkPluginSetupOption;
inherit (lib.nvim.languages) diagnosticsToLua;
inherit (lib.nvim.dag) entryAnywhere; inherit (lib.nvim.dag) entryAnywhere;
cfg = config.vim.languages.ts; cfg = config.vim.languages.ts;
@ -77,14 +77,39 @@
formats = { formats = {
prettier = { prettier = {
package = pkgs.nodePackages.prettier; package = pkgs.nodePackages.prettier;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.prettier.with({
command = "${cfg.format.package}/bin/prettier",
filetypes = { "typescript", "javascript" },
})
)
'';
}; };
prettierd = { prettierd = {
package = pkgs.prettierd; package = pkgs.prettierd;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.prettier.with({
command = "${cfg.format.package}/bin/prettierd",
})
)
'';
}; };
biome = { biome = {
package = pkgs.biome; package = pkgs.biome;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.biome.with({
command = "${cfg.format.package}/bin/biome",
})
)
'';
}; };
}; };
@ -93,28 +118,26 @@
diagnosticsProviders = { diagnosticsProviders = {
eslint_d = { eslint_d = {
package = pkgs.eslint_d; package = pkgs.eslint_d;
config = let nullConfig = pkg: ''
pkg = pkgs.eslint_d; table.insert(
in { ls_sources,
cmd = getExe pkg; null_ls.builtins.diagnostics.eslint_d.with({
# HACK: change if nvim-lint gets a dynamic enable thing command = "${getExe pkg}",
parser = mkLuaInline '' condition = function(utils)
function(output, bufnr, cwd) return utils.root_has_file({
local markers = { "eslint.config.js", "eslint.config.mjs", "eslint.config.js",
".eslintrc", ".eslintrc.json", ".eslintrc.js", ".eslintrc.yml", } "eslint.config.mjs",
for _, filename in ipairs(markers) do ".eslintrc",
local path = vim.fs.join(cwd, filename) ".eslintrc.json",
if vim.loop.fs_stat(path) then ".eslintrc.js",
return require("lint.linters.eslint_d").parser(output, bufnr, cwd) ".eslintrc.yml",
end })
end end,
})
return {} )
end
''; '';
}; };
}; };
};
in { in {
_file = ./ts.nix; _file = ./ts.nix;
options.vim.languages.ts = { options.vim.languages.ts = {
@ -202,24 +225,16 @@ in {
}) })
(mkIf cfg.format.enable { (mkIf cfg.format.enable {
vim.formatter.conform-nvim = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources.ts-format = formats.${cfg.format.type}.nullConfig;
setupOpts.formatters_by_ft.typescript = [cfg.format.type];
setupOpts.formatters.${cfg.format.type} = {
command = getExe cfg.format.package;
};
};
}) })
(mkIf cfg.extraDiagnostics.enable { (mkIf cfg.extraDiagnostics.enable {
vim.diagnostics.nvim-lint = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources = diagnosticsToLua {
linters_by_ft.typescript = cfg.extraDiagnostics.types; lang = "ts";
config = cfg.extraDiagnostics.types;
linters = mkMerge (map (name: { inherit diagnosticsProviders;
${name}.cmd = getExe diagnosticsProviders.${name}.package;
})
cfg.extraDiagnostics.types);
}; };
}) })

View file

@ -9,6 +9,7 @@
inherit (lib.lists) isList; inherit (lib.lists) isList;
inherit (lib.types) nullOr enum either attrsOf listOf package str; inherit (lib.types) nullOr enum either attrsOf listOf package str;
inherit (lib.attrsets) attrNames; inherit (lib.attrsets) attrNames;
inherit (lib.generators) mkLuaInline;
inherit (lib.meta) getExe; inherit (lib.meta) getExe;
inherit (lib.nvim.lua) expToLua toLuaObject; inherit (lib.nvim.lua) expToLua toLuaObject;
inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption; inherit (lib.nvim.types) mkGrammarOption mkPluginSetupOption;
@ -60,10 +61,26 @@
formats = { formats = {
typstfmt = { typstfmt = {
package = pkgs.typstfmt; package = pkgs.typstfmt;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.typstfmt.with({
command = "${cfg.format.package}/bin/typstfmt",
})
)
'';
}; };
# https://github.com/Enter-tainer/typstyle # https://github.com/Enter-tainer/typstyle
typstyle = { typstyle = {
package = pkgs.typstyle; package = pkgs.typstyle;
nullConfig = ''
table.insert(
ls_sources,
null_ls.builtins.formatting.typstfmt.with({
command = "${cfg.format.package}/bin/typstyle",
})
)
'';
}; };
}; };
in { in {
@ -159,13 +176,8 @@ in {
}) })
(mkIf cfg.format.enable { (mkIf cfg.format.enable {
vim.formatter.conform-nvim = { vim.lsp.null-ls.enable = true;
enable = true; vim.lsp.null-ls.sources.typst-format = formats.${cfg.format.type}.nullConfig;
setupOpts.formatters_by_ft.typst = [cfg.format.type];
setupOpts.formatters.${cfg.format.type} = {
command = getExe cfg.format.package;
};
};
}) })
(mkIf cfg.lsp.enable { (mkIf cfg.lsp.enable {

View file

@ -239,26 +239,35 @@ in {
{ {
-- Lsp server name -- Lsp server name
function() function()
local buf_ft = vim.bo.filetype local buf_ft = vim.api.nvim_get_option_value('filetype', {})
local excluded_buf_ft = { toggleterm = true, NvimTree = true, ["neo-tree"] = true, TelescopePrompt = true }
if excluded_buf_ft[buf_ft] then -- List of buffer types to exclude
local excluded_buf_ft = {"toggleterm", "NvimTree", "neo-tree", "TelescopePrompt"}
-- Check if the current buffer type is in the excluded list
for _, excluded_type in ipairs(excluded_buf_ft) do
if buf_ft == excluded_type then
return "" return ""
end end
local bufnr = vim.api.nvim_get_current_buf()
local clients = vim.lsp.get_clients({ bufnr = bufnr })
if vim.tbl_isempty(clients) then
return "No Active LSP"
end end
local active_clients = {} -- Get the name of the LSP server active in the current buffer
local clients = vim.lsp.get_active_clients()
local msg = 'No Active Lsp'
-- if no lsp client is attached then return the msg
if next(clients) == nil then
return msg
end
for _, client in ipairs(clients) do for _, client in ipairs(clients) do
table.insert(active_clients, client.name) local filetypes = client.config.filetypes
if filetypes and vim.fn.index(filetypes, buf_ft) ~= -1 then
return client.name
end
end end
return table.concat(active_clients, ", ") return msg
end, end,
icon = ' ', icon = ' ',
separator = {left = ''}, separator = {left = ''},

View file

@ -9,9 +9,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "9ebc13583cff447f5493a63e99dfca526b3c3088", "revision": "2204cf08791449a6a2fd2ef187a29112eeefd989",
"url": "https://github.com/stevearc/aerial.nvim/archive/9ebc13583cff447f5493a63e99dfca526b3c3088.tar.gz", "url": "https://github.com/stevearc/aerial.nvim/archive/2204cf08791449a6a2fd2ef187a29112eeefd989.tar.gz",
"hash": "17mjs95jnnvsg1ihwbsa3z6hr88rvfh36pv1x4cad7hsaal3dcrg" "hash": "1482md9kzyrr7mjkca3nnyqgy64q8clhi6xbvgql8qjw7ifz51mx"
}, },
"alpha-nvim": { "alpha-nvim": {
"type": "Git", "type": "Git",
@ -50,10 +50,10 @@
"version_upper_bound": null, "version_upper_bound": null,
"release_prefix": null, "release_prefix": null,
"submodules": false, "submodules": false,
"version": "v1.0.0", "version": "v0.14.1",
"revision": "47be01b7424d386fc3294de7838fb9134f74b228", "revision": "7a91dc584f41f5aa2373a917faf8100b2e54d6c9",
"url": "https://api.github.com/repos/saghen/blink.cmp/tarball/v1.0.0", "url": "https://api.github.com/repos/saghen/blink.cmp/tarball/v0.14.1",
"hash": "04mjgyfcin134g9w3ag3gy6vppmh8cqq0g9whyq407fx6rjmgvfi" "hash": "0zm6s3v9liimx28vs1g5yi7bcfrl691q81bvzmdpavcwrzcdb0c8"
}, },
"blink-cmp-spell": { "blink-cmp-spell": {
"type": "Git", "type": "Git",
@ -77,9 +77,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "2ed6d9a28b07fa6f3bface818470605f8896408c", "revision": "4104671562c663d059d91a99da3780bead5bc467",
"url": "https://github.com/saghen/blink.compat/archive/2ed6d9a28b07fa6f3bface818470605f8896408c.tar.gz", "url": "https://github.com/saghen/blink.compat/archive/4104671562c663d059d91a99da3780bead5bc467.tar.gz",
"hash": "009475xy41l4dpayswhx65q6a7djzw7rz2ycbrbpyg041y0qynqs" "hash": "0bsf8kg5s3m1xk9d4n0yl0h5xyk484hip3z8va547f6ibim9ccv4"
}, },
"blink-emoji-nvim": { "blink-emoji-nvim": {
"type": "Git", "type": "Git",
@ -103,9 +103,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "d4af981745ea67b2c29bcd25f9843dbeedc580ed", "revision": "91aee73557237b0cc1313e4ed2b32f10de6cc65e",
"url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/d4af981745ea67b2c29bcd25f9843dbeedc580ed.tar.gz", "url": "https://github.com/mikavilpas/blink-ripgrep.nvim/archive/91aee73557237b0cc1313e4ed2b32f10de6cc65e.tar.gz",
"hash": "1xjhpp9118bgpp2x3pxv0llngkm69fzxhdqp92civ19s5pxb5h5y" "hash": "1jg4559946rzsvvny1r7jki1gmr70yjxr8qlnsjkjyxj8h0pjjwl"
}, },
"bufdelete-nvim": { "bufdelete-nvim": {
"type": "Git", "type": "Git",
@ -272,9 +272,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "51fe5a782dbbd5cad8189420cb8d38fd7c245684", "revision": "4f56b047f03bf5edc0d71bf0ca694243a49b912f",
"url": "https://github.com/olimorris/codecompanion.nvim/archive/51fe5a782dbbd5cad8189420cb8d38fd7c245684.tar.gz", "url": "https://github.com/olimorris/codecompanion.nvim/archive/4f56b047f03bf5edc0d71bf0ca694243a49b912f.tar.gz",
"hash": "09vjvbf5rxmj2fax0ddcinbvx6mhjdy58fw9d1nf8ll7x8dj5j2s" "hash": "1mrb8qxd6mz5dlly9bh30pcd599gfy173f6pd4p8lszs3xhp598k"
}, },
"codewindow-nvim": { "codewindow-nvim": {
"type": "Git", "type": "Git",
@ -311,9 +311,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "f9ef25a7ef00267b7d13bfc00b0dea22d78702d5", "revision": "db8a4a9edb217067b1d7a2e0362c74bfe9cc944d",
"url": "https://github.com/stevearc/conform.nvim/archive/f9ef25a7ef00267b7d13bfc00b0dea22d78702d5.tar.gz", "url": "https://github.com/stevearc/conform.nvim/archive/db8a4a9edb217067b1d7a2e0362c74bfe9cc944d.tar.gz",
"hash": "1942dsg83skxnm3jrqyxx9mvzgiq1v68i9z43hpar4bmqvggviif" "hash": "13vpizk8ani64d3a9yrm0g3bz8m6m6cxnpzr2xgslbhxnkmbxq7j"
}, },
"copilot-cmp": { "copilot-cmp": {
"type": "Git", "type": "Git",
@ -337,9 +337,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "6c65c53a849c8ac4278ad07a4bac150f449da3c4", "revision": "30321e33b03cb924fdcd6a806a0dc6fa0b0eafb9",
"url": "https://github.com/zbirenbaum/copilot.lua/archive/6c65c53a849c8ac4278ad07a4bac150f449da3c4.tar.gz", "url": "https://github.com/zbirenbaum/copilot.lua/archive/30321e33b03cb924fdcd6a806a0dc6fa0b0eafb9.tar.gz",
"hash": "0psmi1pknc8cpckj9iqk4yx79xjkvmrjlwcnl0x1a5lbahdzifhv" "hash": "0jlwd5x0pdfxa1hg41dfvz9zji0frvlfg86vzak0d3xmn4hr8zgb"
}, },
"crates-nvim": { "crates-nvim": {
"type": "Git", "type": "Git",
@ -350,9 +350,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "fd2bbca7aa588f24ffc3517831934b4c4a9588e9", "revision": "403a0abef0e2aec12749a534dc468d6fd50c6741",
"url": "https://github.com/Saecki/crates.nvim/archive/fd2bbca7aa588f24ffc3517831934b4c4a9588e9.tar.gz", "url": "https://github.com/Saecki/crates.nvim/archive/403a0abef0e2aec12749a534dc468d6fd50c6741.tar.gz",
"hash": "1l2z447svf1ldpnsb9sn5b4q1a22g3wx126yw9hj7rcqrv50xw6i" "hash": "19ix86nbww5vljinfwfpjkz806j7dzw4pgjyjya201jb0n22lrc6"
}, },
"csharpls-extended-lsp-nvim": { "csharpls-extended-lsp-nvim": {
"type": "Git", "type": "Git",
@ -363,9 +363,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "8420ee6a9fe0bfc9a37920fd572b0ae5a2348967", "revision": "991d2c43afd7c7be77edd27a2ae686f9779382da",
"url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/8420ee6a9fe0bfc9a37920fd572b0ae5a2348967.tar.gz", "url": "https://github.com/Decodetalkers/csharpls-extended-lsp.nvim/archive/991d2c43afd7c7be77edd27a2ae686f9779382da.tar.gz",
"hash": "19k5iayhji76q031mzm1vw0n2irh2417mn0gdhf4cmadkrj4ygmg" "hash": "10jj6x78k34yrarp5ydc7n1ylp2xxgxl7jqh1y4d133mgcygabak"
}, },
"dashboard-nvim": { "dashboard-nvim": {
"type": "Git", "type": "Git",
@ -480,9 +480,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "2d91a86a43a1ae1303e48aac55542f57b5731990", "revision": "70430c32d176f4a15c6e2c80586cd2791e3a664e",
"url": "https://github.com/akinsho/flutter-tools.nvim/archive/2d91a86a43a1ae1303e48aac55542f57b5731990.tar.gz", "url": "https://github.com/akinsho/flutter-tools.nvim/archive/70430c32d176f4a15c6e2c80586cd2791e3a664e.tar.gz",
"hash": "1ijwhwmf6f2rrixdpbr0aigjjy7jwl20bi4v5y7rz8cg0lhsmy5x" "hash": "01p721ca4as9b9nn4qibb6s775fn66j13zsx2d3flhkssii06v45"
}, },
"friendly-snippets": { "friendly-snippets": {
"type": "Git", "type": "Git",
@ -506,9 +506,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "89ff12300e9a768f4890a8e02bb6a3f5d97f9a65", "revision": "03eed634a3b1f4a4dc53f928868566b0b697dabe",
"url": "https://github.com/ibhagwan/fzf-lua/archive/89ff12300e9a768f4890a8e02bb6a3f5d97f9a65.tar.gz", "url": "https://github.com/ibhagwan/fzf-lua/archive/03eed634a3b1f4a4dc53f928868566b0b697dabe.tar.gz",
"hash": "13bpzf0nb5sqf80fhly3zpfh94kkbr934qbn588668kjpplp1rqn" "hash": "007fz9rwhcfx8l6k6dfnm91dcc4gsazr3vqbv95z5l1h1j184v6c"
}, },
"gesture-nvim": { "gesture-nvim": {
"type": "Git", "type": "Git",
@ -571,9 +571,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "5d5954b2f22e109d4a6eba8b2618c5b96e4ee7a2", "revision": "238070a686c1da3bccccf1079700eb4b5e19aea4",
"url": "https://github.com/ellisonleao/glow.nvim/archive/5d5954b2f22e109d4a6eba8b2618c5b96e4ee7a2.tar.gz", "url": "https://github.com/ellisonleao/glow.nvim/archive/238070a686c1da3bccccf1079700eb4b5e19aea4.tar.gz",
"hash": "11rlis4riy1w4clnkiza8x6fs8xjwsrsgfzlz2k8z041ancmrw0a" "hash": "1j63y3hb03n5m4jig8576sxnb3jixxlr66m9xcs8vgfm5h0mrhqs"
}, },
"gruvbox": { "gruvbox": {
"type": "Git", "type": "Git",
@ -584,9 +584,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "c6f42890551b4827253387e93b035568826a9cb7", "revision": "15958f5ee43e144856cd2084ce6c571bfdb44504",
"url": "https://github.com/ellisonleao/gruvbox.nvim/archive/c6f42890551b4827253387e93b035568826a9cb7.tar.gz", "url": "https://github.com/ellisonleao/gruvbox.nvim/archive/15958f5ee43e144856cd2084ce6c571bfdb44504.tar.gz",
"hash": "1ac056i9hs5wbb9qzdijmhjcaz4h67v2c8q0361d17gdm8pdrvnj" "hash": "16nrxcpds3zacqmfw5jsd5d8qqbwllkw9xacjkglcnaynp4qghqq"
}, },
"harpoon": { "harpoon": {
"type": "Git", "type": "Git",
@ -610,9 +610,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "0a1d1119e69cdf9b89e509a8bea025e21d5a41c5", "revision": "52608d83b424de44e914711c0f505906816e7427",
"url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/0a1d1119e69cdf9b89e509a8bea025e21d5a41c5.tar.gz", "url": "https://github.com/mrcjkb/haskell-tools.nvim/archive/52608d83b424de44e914711c0f505906816e7427.tar.gz",
"hash": "1i0m53ri2c5l4yzwjkbwwa73c8k5yh8yz6ddcljz1b9q5vs9dazk" "hash": "1ngz8zzyni2wh0xhvrcl27am39kqaaabh5y9c4i8ym211ravzhv6"
}, },
"highlight-undo-nvim": { "highlight-undo-nvim": {
"type": "Git", "type": "Git",
@ -678,9 +678,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "2e2d28b7734b5efdfc1219f4da8a46c761587bc2", "revision": "6ffafab2e98b5bda46bf227055aa84b90add8cdc",
"url": "https://github.com/3rd/image.nvim/archive/2e2d28b7734b5efdfc1219f4da8a46c761587bc2.tar.gz", "url": "https://github.com/3rd/image.nvim/archive/6ffafab2e98b5bda46bf227055aa84b90add8cdc.tar.gz",
"hash": "1k2bch2l9bvy4ian6l3jymddcy7p4mvblpmbq0qvn8rzxdi65fy1" "hash": "105k4ccv18nynm70lphb4ac3ih1ad4hlh2syrhmyi1i1jwdirjgz"
}, },
"indent-blankline-nvim": { "indent-blankline-nvim": {
"type": "Git", "type": "Git",
@ -691,9 +691,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "005b56001b2cb30bfa61b7986bc50657816ba4ba", "revision": "e10626f7fcd51ccd56d7ffc00883ba7e0aa28f78",
"url": "https://github.com/lukas-reineke/indent-blankline.nvim/archive/005b56001b2cb30bfa61b7986bc50657816ba4ba.tar.gz", "url": "https://github.com/lukas-reineke/indent-blankline.nvim/archive/e10626f7fcd51ccd56d7ffc00883ba7e0aa28f78.tar.gz",
"hash": "1rmpi866bg7hyw620hbgmmmksxgll9ilbpigd1kk9b0lpvwxbbyj" "hash": "1whsjd715rr59warfy7nmw0hzkxfkxgzx9c8r6k2vka4flifirnk"
}, },
"lazydev-nvim": { "lazydev-nvim": {
"type": "Git", "type": "Git",
@ -755,9 +755,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "b58cca003d1d3311213d6db0352f58d8e57bfff0", "revision": "8b681c86b0bd7f932cd91987983d91497e43d83f",
"url": "https://github.com/ray-x/lsp_signature.nvim/archive/b58cca003d1d3311213d6db0352f58d8e57bfff0.tar.gz", "url": "https://github.com/ray-x/lsp_signature.nvim/archive/8b681c86b0bd7f932cd91987983d91497e43d83f.tar.gz",
"hash": "1jqpjb7xgdm5ikay8hdjz04bdkirhns6zpa68cblsyslpkvk4hk0" "hash": "1ap077hgl334klfyi2hv81hf6r9mqpkarrz0b3ky99aavz7bmn2j"
}, },
"lspkind-nvim": { "lspkind-nvim": {
"type": "Git", "type": "Git",
@ -781,9 +781,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "778d56ff9b387dacd14ae648ed5604394b486f51", "revision": "6063935cf68de9aa6dd79f8e1caf5df0a9385de3",
"url": "https://github.com/nvimdev/lspsaga.nvim/archive/778d56ff9b387dacd14ae648ed5604394b486f51.tar.gz", "url": "https://github.com/nvimdev/lspsaga.nvim/archive/6063935cf68de9aa6dd79f8e1caf5df0a9385de3.tar.gz",
"hash": "1rm8ww8krxliwli9m2j6j37xgwgjsrgapvgrcdr6nd4mi6hgmczm" "hash": "1pqasjg2f2yd3ci8hyxfqqs7xnkmwdc411dlm6qg1agiv1h8v205"
}, },
"lua-utils-nvim": { "lua-utils-nvim": {
"type": "Git", "type": "Git",
@ -807,9 +807,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "1517caa8fff05e4b4999857319d3b0609a7f57fa", "revision": "b8b60c7f1d0d95ad74ee215b2291280b30482476",
"url": "https://github.com/hoob3rt/lualine.nvim/archive/1517caa8fff05e4b4999857319d3b0609a7f57fa.tar.gz", "url": "https://github.com/hoob3rt/lualine.nvim/archive/b8b60c7f1d0d95ad74ee215b2291280b30482476.tar.gz",
"hash": "0mzclk1rb03ln0my8pqq8p4sn84zkwn0amy2xyb2xds8q9zi21hc" "hash": "02xyjp446b2nypw3hh4k6b6g9f892kxmmdv23s7dypcws28v50m9"
}, },
"luasnip": { "luasnip": {
"type": "Git", "type": "Git",
@ -833,9 +833,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "136e315e0c1e2ac116cc0953dd41adfebfb4a695", "revision": "d5856041d60f9500804c872709b8d5f59505d92b",
"url": "https://github.com/nvim-neorocks/lz.n/archive/136e315e0c1e2ac116cc0953dd41adfebfb4a695.tar.gz", "url": "https://github.com/nvim-neorocks/lz.n/archive/d5856041d60f9500804c872709b8d5f59505d92b.tar.gz",
"hash": "0fdgr21cj5nis4vicvws635w9c8bcls59yj64d3xwfj7nr40mzws" "hash": "1dxsy8baq7zdc047ixxxa1qkfw48jgbng4vngwlg6gc2rv16rf36"
}, },
"lzn-auto-require": { "lzn-auto-require": {
"type": "Git", "type": "Git",
@ -872,9 +872,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "978ffc65c6b513fde9ef075326d34d89197f1ea5", "revision": "6e01c0e5a15554852546fac9853960780ac52ed4",
"url": "https://github.com/echasnovski/mini.ai/archive/978ffc65c6b513fde9ef075326d34d89197f1ea5.tar.gz", "url": "https://github.com/echasnovski/mini.ai/archive/6e01c0e5a15554852546fac9853960780ac52ed4.tar.gz",
"hash": "1kgar55azqq9g6m9y98kr96cldhzipdfp2cjhszvnzw9ad28p3nb" "hash": "0138rsb0rh4fjiicm3gjah0b5n1c08lil29c5ssqk3xq1bdr69j9"
}, },
"mini-align": { "mini-align": {
"type": "Git", "type": "Git",
@ -885,9 +885,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "0ce67804b0343409c93eb14275b98d53a7b209cc", "revision": "3bdf6f0b91b31db5300a7b04f53f296a7fb150c1",
"url": "https://github.com/echasnovski/mini.align/archive/0ce67804b0343409c93eb14275b98d53a7b209cc.tar.gz", "url": "https://github.com/echasnovski/mini.align/archive/3bdf6f0b91b31db5300a7b04f53f296a7fb150c1.tar.gz",
"hash": "1lq5pzi24ahwfp1jipwl7a1mynnz1ja7c70bs2kilafpa314ymnp" "hash": "1255r5c9q0nnb7vnhs7xk45vqigmbhbim02ciczv8i80amfh9yw3"
}, },
"mini-animate": { "mini-animate": {
"type": "Git", "type": "Git",
@ -898,9 +898,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "33235a02c7dbaf2a5abdb9c584f9bdb6a6fef247", "revision": "13e170c13030b043aa8ad4311012ec0eaba0d5c7",
"url": "https://github.com/echasnovski/mini.animate/archive/33235a02c7dbaf2a5abdb9c584f9bdb6a6fef247.tar.gz", "url": "https://github.com/echasnovski/mini.animate/archive/13e170c13030b043aa8ad4311012ec0eaba0d5c7.tar.gz",
"hash": "1v4xlphp9h1vc48dxwf9hmm2mfr1z1s708knsbyx6gkd282zmzkg" "hash": "153hrx7i0kn65lz4yjgkaxkvj0xvqamm3mi6ciq9b0q3c2ngh7rj"
}, },
"mini-base16": { "mini-base16": {
"type": "Git", "type": "Git",
@ -911,9 +911,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "492b34f496fd1a53126feb1e47ebf55ce9d61e25", "revision": "44240f11871c15aba8fc49959ebd27c0b4768a40",
"url": "https://github.com/echasnovski/mini.base16/archive/492b34f496fd1a53126feb1e47ebf55ce9d61e25.tar.gz", "url": "https://github.com/echasnovski/mini.base16/archive/44240f11871c15aba8fc49959ebd27c0b4768a40.tar.gz",
"hash": "0srxnxkpi03282zdcbrq13b2m259pchnfvp94awn286zwsc9x23l" "hash": "0z4vvsm2hc1cab5qqd28x6jzyzh23cdijrrs1hkkkj0nj3si3zkn"
}, },
"mini-basics": { "mini-basics": {
"type": "Git", "type": "Git",
@ -924,9 +924,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "307ba95901099f44cff557da040ee8862093e410", "revision": "e8fbcf96e4e8262d452ddc851acea6c50449fa79",
"url": "https://github.com/echasnovski/mini.basics/archive/307ba95901099f44cff557da040ee8862093e410.tar.gz", "url": "https://github.com/echasnovski/mini.basics/archive/e8fbcf96e4e8262d452ddc851acea6c50449fa79.tar.gz",
"hash": "130y4b372n3gckg1in5mgdssxg55cswa0dwxrs4icq2nb7rxnbia" "hash": "0v3j61qik4mv2r246b7q7h4ndg68x373dr5jag3a4hwszgpf7jcl"
}, },
"mini-bracketed": { "mini-bracketed": {
"type": "Git", "type": "Git",
@ -950,9 +950,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "c635c40d06a45450d34695d70c3fb3efe432728f", "revision": "bba1d8b413d37081756f59200b8cf756181e5b9a",
"url": "https://github.com/echasnovski/mini.bufremove/archive/c635c40d06a45450d34695d70c3fb3efe432728f.tar.gz", "url": "https://github.com/echasnovski/mini.bufremove/archive/bba1d8b413d37081756f59200b8cf756181e5b9a.tar.gz",
"hash": "0d5zmn1rldcl37i6v6m2b2ql3nvkdfqjzf3zhdkqfd7pxvvwp12j" "hash": "0lbh2azsa9fmb8qp8gzhv36riiafybmjgg0prppchik8lsbhjzy4"
}, },
"mini-clue": { "mini-clue": {
"type": "Git", "type": "Git",
@ -963,9 +963,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "9bfd8ce71ae31460837fcec82a03946008929777", "revision": "08901d2223797aa25611c33aaf9d8a1049a653bb",
"url": "https://github.com/echasnovski/mini.clue/archive/9bfd8ce71ae31460837fcec82a03946008929777.tar.gz", "url": "https://github.com/echasnovski/mini.clue/archive/08901d2223797aa25611c33aaf9d8a1049a653bb.tar.gz",
"hash": "1rx2952li3zby1v24asrp9avy6l9f7f6v954a6xf1rl8ijz2aa5j" "hash": "026d647acwxr0wrf43lffmzw4x84jm6v5lipbqqpicqgqs8b4rfv"
}, },
"mini-colors": { "mini-colors": {
"type": "Git", "type": "Git",
@ -976,9 +976,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "0b13a3f8c7279d31833203b1c15d456047321f28", "revision": "d49e0764821d40adbf3f9e92091dfba0b0590378",
"url": "https://github.com/echasnovski/mini.colors/archive/0b13a3f8c7279d31833203b1c15d456047321f28.tar.gz", "url": "https://github.com/echasnovski/mini.colors/archive/d49e0764821d40adbf3f9e92091dfba0b0590378.tar.gz",
"hash": "00037f03cmx01y6hd7cdk4bibbzfqmygf851alhnvd2fs7flvxcw" "hash": "1kn5012q6x1hfpyjqhssydln3v6b25gvvjw1zhw93m8x9km2j524"
}, },
"mini-comment": { "mini-comment": {
"type": "Git", "type": "Git",
@ -1002,9 +1002,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "9e6aa17fef2e86d3f33666a7843b942791cc1c1f", "revision": "8f439dfb5432f9a78fb172ec7e03ee31f18551c4",
"url": "https://github.com/echasnovski/mini.completion/archive/9e6aa17fef2e86d3f33666a7843b942791cc1c1f.tar.gz", "url": "https://github.com/echasnovski/mini.completion/archive/8f439dfb5432f9a78fb172ec7e03ee31f18551c4.tar.gz",
"hash": "05z0ghbwh7h2ij8k72sidrpypnzkf57kf058kwpc0wd1jm9ymznm" "hash": "0y4zzp4najk2bydwzx72nbn18n32v6ar0dc2qgialszivy0nnhgh"
}, },
"mini-diff": { "mini-diff": {
"type": "Git", "type": "Git",
@ -1015,9 +1015,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "e4a59a8a22d9afeeaac92e3cb3fbd8ff5dc8e310", "revision": "bc3a7be30fd45ed4961ea90de1d9d04637cdeae6",
"url": "https://github.com/echasnovski/mini.diff/archive/e4a59a8a22d9afeeaac92e3cb3fbd8ff5dc8e310.tar.gz", "url": "https://github.com/echasnovski/mini.diff/archive/bc3a7be30fd45ed4961ea90de1d9d04637cdeae6.tar.gz",
"hash": "0z38rpxdgg298a1i5ar49694xfjv26m8572qbhq2s6wkf24p08yk" "hash": "0mjl819rd7hbsk3my9ypsl7q7kvxaiyms6a8z63d63nljsbs8ycf"
}, },
"mini-doc": { "mini-doc": {
"type": "Git", "type": "Git",
@ -1028,9 +1028,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "00d626a03e5642c657c58c99d14cc0ea6ed51abd", "revision": "466c340917b76d16a79fcbb2545c397fc49b110e",
"url": "https://github.com/echasnovski/mini.doc/archive/00d626a03e5642c657c58c99d14cc0ea6ed51abd.tar.gz", "url": "https://github.com/echasnovski/mini.doc/archive/466c340917b76d16a79fcbb2545c397fc49b110e.tar.gz",
"hash": "0n920j25rnb66hk3klrni9ji673800dbxyb8j30vd4dymq5051ym" "hash": "16aglk95hw9wbgz4vzpv3bf3hqzqa2qrrzsxqjva2smg9f59c7rl"
}, },
"mini-extra": { "mini-extra": {
"type": "Git", "type": "Git",
@ -1041,9 +1041,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "54420de7ee36cf011c6351a1d6290b2555120c7b", "revision": "7725a82b4d9c0acdc370385b9c04bb0791017230",
"url": "https://github.com/echasnovski/mini.extra/archive/54420de7ee36cf011c6351a1d6290b2555120c7b.tar.gz", "url": "https://github.com/echasnovski/mini.extra/archive/7725a82b4d9c0acdc370385b9c04bb0791017230.tar.gz",
"hash": "16kyn5jh6pnpiiahf16r2yk3bck9yz8vy5fbvwlfa847rbl39ybd" "hash": "0vndliykk98dn9qy8r3ip73y8zflyr40qml7jg522lq5ql546my6"
}, },
"mini-files": { "mini-files": {
"type": "Git", "type": "Git",
@ -1054,9 +1054,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "3007632477bb9df28b4e32329c63aea1ab2c2b0a", "revision": "0a396f5ca5516a07959ae2c00667e1a26c20f0ea",
"url": "https://github.com/echasnovski/mini.files/archive/3007632477bb9df28b4e32329c63aea1ab2c2b0a.tar.gz", "url": "https://github.com/echasnovski/mini.files/archive/0a396f5ca5516a07959ae2c00667e1a26c20f0ea.tar.gz",
"hash": "1bb0sv766gjnwnqpn7qhcsm6m6c8zj96ippsh1sjlqd3ma09hzwm" "hash": "1axjd6a6c02jllhi1l8c9xfplipvz4g82hnxjbsgx4kzc9b60zdq"
}, },
"mini-fuzzy": { "mini-fuzzy": {
"type": "Git", "type": "Git",
@ -1080,9 +1080,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "96034bd94220115e49dbf8c38ef4da5508ba29c2", "revision": "05f9ec07534ce8e2bf797c05c0a8bd826d9d24a2",
"url": "https://github.com/echasnovski/mini-git/archive/96034bd94220115e49dbf8c38ef4da5508ba29c2.tar.gz", "url": "https://github.com/echasnovski/mini-git/archive/05f9ec07534ce8e2bf797c05c0a8bd826d9d24a2.tar.gz",
"hash": "0f15bsqrjbifjp0g0fscncyhzsvjd3i4fh0vyagpl08g4as1fqx3" "hash": "0irvwbxhi9y4wf04khgv1l8z4a2hff3r7f2j3r0p76slqjgd7x19"
}, },
"mini-hipatterns": { "mini-hipatterns": {
"type": "Git", "type": "Git",
@ -1106,9 +1106,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "b65cb42ad651ee3543985e333c504bf820bc5a85", "revision": "7a88e67dfb953820718106d8fc83d0f97c4d9173",
"url": "https://github.com/echasnovski/mini.hues/archive/b65cb42ad651ee3543985e333c504bf820bc5a85.tar.gz", "url": "https://github.com/echasnovski/mini.hues/archive/7a88e67dfb953820718106d8fc83d0f97c4d9173.tar.gz",
"hash": "1yhkvszlw6pp1pxkz0w76fwmmysb2bl2kka0f0ws4jhfcdj6qv1c" "hash": "1kgjkx9bqycmm077i4jk0fnyl47fkmmd2vv0qf6lqsnnliivqxqw"
}, },
"mini-icons": { "mini-icons": {
"type": "Git", "type": "Git",
@ -1119,9 +1119,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "86a633f0dffcfd80110bac86681dbf4b5c37ba5c", "revision": "ec61af6e606fc89ee3b1d8f2f20166a3ca917a36",
"url": "https://github.com/echasnovski/mini.icons/archive/86a633f0dffcfd80110bac86681dbf4b5c37ba5c.tar.gz", "url": "https://github.com/echasnovski/mini.icons/archive/ec61af6e606fc89ee3b1d8f2f20166a3ca917a36.tar.gz",
"hash": "1810mvav1k24kxx3kj364v09k26d1s1p2y6dnc2l8mwzw7q70byr" "hash": "0y5b4bswykf8mf429y29lahmjzjsri0qspwyimnb1d73028qn8ck"
}, },
"mini-indentscope": { "mini-indentscope": {
"type": "Git", "type": "Git",
@ -1171,9 +1171,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "2fe08148f883d613c825c1c0c6ea8a19901061f0", "revision": "7f4c785b95ff6d266588fe6e5b6ea696cf654e61",
"url": "https://github.com/echasnovski/mini.map/archive/2fe08148f883d613c825c1c0c6ea8a19901061f0.tar.gz", "url": "https://github.com/echasnovski/mini.map/archive/7f4c785b95ff6d266588fe6e5b6ea696cf654e61.tar.gz",
"hash": "1mqf5bkyp8r05h7ba4drfxx97js2fzmdbjz0xb88xhnpmrikfjnv" "hash": "0f8mlszgi1fnmy0npqw27g28h9bgavy7mc97zivgsxgx2whgz6al"
}, },
"mini-misc": { "mini-misc": {
"type": "Git", "type": "Git",
@ -1184,9 +1184,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "3f0cf62b7e9c545e7e92fe5614f4d6acbe5a8f29", "revision": "a477a9d5790f6d899d3055c87f2e771118f91180",
"url": "https://github.com/echasnovski/mini.misc/archive/3f0cf62b7e9c545e7e92fe5614f4d6acbe5a8f29.tar.gz", "url": "https://github.com/echasnovski/mini.misc/archive/a477a9d5790f6d899d3055c87f2e771118f91180.tar.gz",
"hash": "04sw3kxx7qa8i2xvagxls78ih7l6fq9mk42xrqjim225657hva5p" "hash": "1fp60lhv93jiygc0hvchzdzjgs8scczp7kv9cm3kzzimcfa84ky6"
}, },
"mini-move": { "mini-move": {
"type": "Git", "type": "Git",
@ -1210,9 +1210,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "be6661ee23f2325841fb087efb8e492b29eccc9a", "revision": "e71f08013db6812d9ce95c2624ae405a4267f4f3",
"url": "https://github.com/echasnovski/mini.notify/archive/be6661ee23f2325841fb087efb8e492b29eccc9a.tar.gz", "url": "https://github.com/echasnovski/mini.notify/archive/e71f08013db6812d9ce95c2624ae405a4267f4f3.tar.gz",
"hash": "16n36gvk3gz46cs30gh8zd4mcwszniynl2k87rzbfhhcwsj71svx" "hash": "0fmy3d62283j2cwlxk97fyylad2zkd5j2r7pg7fb3cq8k1021d0s"
}, },
"mini-operators": { "mini-operators": {
"type": "Git", "type": "Git",
@ -1223,9 +1223,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "298218fb8280fd4a8234db80230dd84db6b07efd", "revision": "02cfac95919b945c19221f0fcebe883c6dce04f6",
"url": "https://github.com/echasnovski/mini.operators/archive/298218fb8280fd4a8234db80230dd84db6b07efd.tar.gz", "url": "https://github.com/echasnovski/mini.operators/archive/02cfac95919b945c19221f0fcebe883c6dce04f6.tar.gz",
"hash": "021big8pqbwkjrzkak0chffwhhvj8klanda5q9wxwgg1wky9qvi6" "hash": "1b51b3d1qkbzh68yadx3fcx9dgk405cb2ghln999fl5czvc3crmd"
}, },
"mini-pairs": { "mini-pairs": {
"type": "Git", "type": "Git",
@ -1236,9 +1236,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "b90e36aa5ca5e0d825e77ad67aac22214a4d9096", "revision": "1a3e73649c0eaef2f6c48ce1e761c6f0a7c11918",
"url": "https://github.com/echasnovski/mini.pairs/archive/b90e36aa5ca5e0d825e77ad67aac22214a4d9096.tar.gz", "url": "https://github.com/echasnovski/mini.pairs/archive/1a3e73649c0eaef2f6c48ce1e761c6f0a7c11918.tar.gz",
"hash": "0h35xn8029d74sdv1fyrycpkl10vv0m01fvx2v955v0jfc9cii1n" "hash": "0d0188v3gw2sdqnfly6i12v9036hdk1sg362lkngjmlpnq3m8574"
}, },
"mini-pick": { "mini-pick": {
"type": "Git", "type": "Git",
@ -1249,9 +1249,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "4dfc0a21f16d34e9b2429b96d62788ed8a65e6cd", "revision": "12ea14f8e285d1bcc909116685fdbb129a89d546",
"url": "https://github.com/echasnovski/mini.pick/archive/4dfc0a21f16d34e9b2429b96d62788ed8a65e6cd.tar.gz", "url": "https://github.com/echasnovski/mini.pick/archive/12ea14f8e285d1bcc909116685fdbb129a89d546.tar.gz",
"hash": "0ybfn2mn038mn2bdaf5hyiycimfi785silpcnayh4nj544zhzjc9" "hash": "1ssa7ym6zxhazx551bjsnfdmvm1553kj6amvcczw9jrqbf4ynjqy"
}, },
"mini-sessions": { "mini-sessions": {
"type": "Git", "type": "Git",
@ -1301,9 +1301,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "cf770619b85968bc0f45cace82f5c80b69ca0e96", "revision": "736c5177bd90cc852c05d903f662f0fc395a4b4b",
"url": "https://github.com/echasnovski/mini.starter/archive/cf770619b85968bc0f45cace82f5c80b69ca0e96.tar.gz", "url": "https://github.com/echasnovski/mini.starter/archive/736c5177bd90cc852c05d903f662f0fc395a4b4b.tar.gz",
"hash": "11l7vxhd6sra55aj2xmm79nfhrkisv9r6fssknmcdxrmh47dr3kd" "hash": "0w2awkcrabbsybvv2hlzjlqgcr53480pg5p3fhaaparrhd90c7na"
}, },
"mini-statusline": { "mini-statusline": {
"type": "Git", "type": "Git",
@ -1314,9 +1314,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "ec3adf7813b7604275dd4a28433e9c9610b70f1b", "revision": "83209bfbca156f9e4a5ec47a2a8ce1e5ce26311d",
"url": "https://github.com/echasnovski/mini.statusline/archive/ec3adf7813b7604275dd4a28433e9c9610b70f1b.tar.gz", "url": "https://github.com/echasnovski/mini.statusline/archive/83209bfbca156f9e4a5ec47a2a8ce1e5ce26311d.tar.gz",
"hash": "1ny69yjvldl4jpyjpy8z4w4zz6ir976x63nds8z05zgkq8fa2ajd" "hash": "1hma81mnylbnx812km7zc0xjxbs3bp2pb3bqzsny9w1llxwv7zrr"
}, },
"mini-surround": { "mini-surround": {
"type": "Git", "type": "Git",
@ -1327,9 +1327,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "97796f68a8698d9b63ac3927da0d0bf5c3a0876b", "revision": "f90069c7441a5fb04c3de42eacf93e16b64dd3eb",
"url": "https://github.com/echasnovski/mini.surround/archive/97796f68a8698d9b63ac3927da0d0bf5c3a0876b.tar.gz", "url": "https://github.com/echasnovski/mini.surround/archive/f90069c7441a5fb04c3de42eacf93e16b64dd3eb.tar.gz",
"hash": "1lris02am949lqg35ql3jgyfhzya68df3yhb5d2dbfmwhk6mjxgc" "hash": "0bs7y0ai67jlwdz76x6945xvj9f4vqr4qx4vyfg7z7b6k1gzc092"
}, },
"mini-tabline": { "mini-tabline": {
"type": "Git", "type": "Git",
@ -1353,9 +1353,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "5db2659a3bcda7890d3416cfbe49eb9c36824675", "revision": "16a909c3ce39d9af9ec4dacca16205d36f85d823",
"url": "https://github.com/echasnovski/mini.test/archive/5db2659a3bcda7890d3416cfbe49eb9c36824675.tar.gz", "url": "https://github.com/echasnovski/mini.test/archive/16a909c3ce39d9af9ec4dacca16205d36f85d823.tar.gz",
"hash": "173wj06k5g8k6ah2aw4azlgwmq7jmin5jkqkkpr9z1lviagrdss7" "hash": "1qf8ay763d011rvy9qwpv8q3mlxjlymvc4gx3bjfv0n56k5dzpg0"
}, },
"mini-trailspace": { "mini-trailspace": {
"type": "Git", "type": "Git",
@ -1447,9 +1447,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "69f798bf9493b84df660ac3c6b2fc03e23956d25", "revision": "d9544c74ec43cca0564fdc334c116fbe0be8a807",
"url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/69f798bf9493b84df660ac3c6b2fc03e23956d25.tar.gz", "url": "https://github.com/nvim-neo-tree/neo-tree.nvim/archive/d9544c74ec43cca0564fdc334c116fbe0be8a807.tar.gz",
"hash": "0yybrcljbfq6xygaqzspjz3bhxa6fb7w0qypky66cvhbpzrl6blz" "hash": "0wiw4aipg3qmzw6k9vrljh4cg09kyqd28s6xpv2zhsg05mm38nhb"
}, },
"neocord": { "neocord": {
"type": "Git", "type": "Git",
@ -1473,9 +1473,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "79ffd346ca19af49197d9c1b45d0b902c32c3e14", "revision": "6f0b4eefa591fbc4c9344f110b0c0bac5b49078c",
"url": "https://github.com/nvim-neorg/neorg/archive/79ffd346ca19af49197d9c1b45d0b902c32c3e14.tar.gz", "url": "https://github.com/nvim-neorg/neorg/archive/6f0b4eefa591fbc4c9344f110b0c0bac5b49078c.tar.gz",
"hash": "0czkcdfh0l8j80kaz2zpdyb424xa28c35jybkdigwj1fgi0afnzd" "hash": "1x8h5hxzg06g1d849bna6rs4jzjf248g59v87zvlc4scmp9pzjga"
}, },
"neorg-telescope": { "neorg-telescope": {
"type": "Git", "type": "Git",
@ -1551,9 +1551,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "a117163db44c256d53c3be8717f3e1a2a28e6299", "revision": "bb680d752cec37949faca7a1f509e2fe67ab418a",
"url": "https://github.com/nvimtools/none-ls.nvim/archive/a117163db44c256d53c3be8717f3e1a2a28e6299.tar.gz", "url": "https://github.com/nvimtools/none-ls.nvim/archive/bb680d752cec37949faca7a1f509e2fe67ab418a.tar.gz",
"hash": "1qxi1wq3snhns49sl6rli5hsgjn7zzc43brnwv0b6mfzl55ydzr8" "hash": "11zgc86cjkv1vi183mplx3bsqa2x7ardk7ybyrp702xx5hmd882l"
}, },
"nord": { "nord": {
"type": "Git", "type": "Git",
@ -1590,9 +1590,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "6522027785b305269fa17088395dfc0f456cedd2", "revision": "68f0e5c3dab23261a945272032ee6700af86227a",
"url": "https://github.com/windwp/nvim-autopairs/archive/6522027785b305269fa17088395dfc0f456cedd2.tar.gz", "url": "https://github.com/windwp/nvim-autopairs/archive/68f0e5c3dab23261a945272032ee6700af86227a.tar.gz",
"hash": "1i63wdgm54n3iiiix0y18mjvy2rsswc4iybqppsfpvi8cg2xjpa6" "hash": "1ai3s1083dx6bddhrkv7d3hyq3zsrblizbvpgl09r1w9cijxhj8m"
}, },
"nvim-bufferline-lua": { "nvim-bufferline-lua": {
"type": "Git", "type": "Git",
@ -1655,9 +1655,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "7aade9e99bef5f0735cf966e715b3ce45515d786", "revision": "a720d4966f758ab22e8ec28812b6df90a53e0f02",
"url": "https://github.com/mfussenegger/nvim-dap/archive/7aade9e99bef5f0735cf966e715b3ce45515d786.tar.gz", "url": "https://github.com/mfussenegger/nvim-dap/archive/a720d4966f758ab22e8ec28812b6df90a53e0f02.tar.gz",
"hash": "0cr2y3lkr6ffxxd9b2pj8hr3fzb5dlj003fcknswqwsdhws75l22" "hash": "0b979dhl5jr3kx9j5zih39jbrv22d554ws6y8g1cgsm2i3412s4h"
}, },
"nvim-dap-go": { "nvim-dap-go": {
"type": "Git", "type": "Git",
@ -1694,9 +1694,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "f674ba57349849bce894efdd54096483c88e810b", "revision": "1b97f8f954d74c46061bf289b6cea9232484c12c",
"url": "https://github.com/amrbashir/nvim-docs-view/archive/f674ba57349849bce894efdd54096483c88e810b.tar.gz", "url": "https://github.com/amrbashir/nvim-docs-view/archive/1b97f8f954d74c46061bf289b6cea9232484c12c.tar.gz",
"hash": "0ifbfhifly5sdsbxv1p71wvl644jz505ln9j1yr6qwvyk6a2krm1" "hash": "1xi0w20fq3yziwdjld1xhkm7dr0ihbbq2hik0qsckd7y73qqg5kg"
}, },
"nvim-lightbulb": { "nvim-lightbulb": {
"type": "Git", "type": "Git",
@ -1707,9 +1707,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "aa3a8b0f4305b25cfe368f6c9be9923a7c9d0805", "revision": "f7f61c47af5bf701b1f4af127bc565ab6491acbf",
"url": "https://github.com/kosayoda/nvim-lightbulb/archive/aa3a8b0f4305b25cfe368f6c9be9923a7c9d0805.tar.gz", "url": "https://github.com/kosayoda/nvim-lightbulb/archive/f7f61c47af5bf701b1f4af127bc565ab6491acbf.tar.gz",
"hash": "0wp8f6yphb28iaxlhg326kvrh3h8xn5fkkcfn1whbacch6562wym" "hash": "1wg7yib9qn8ybsk615kw1g8b3g5zbpdldp6bb7ax0jwxsn5nwwfb"
}, },
"nvim-lint": { "nvim-lint": {
"type": "Git", "type": "Git",
@ -1720,9 +1720,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "93b8040115c9114dac1047311763bef275e752dc", "revision": "6e9dd545a1af204c4022a8fcd99727ea41ffdcc8",
"url": "https://github.com/mfussenegger/nvim-lint/archive/93b8040115c9114dac1047311763bef275e752dc.tar.gz", "url": "https://github.com/mfussenegger/nvim-lint/archive/6e9dd545a1af204c4022a8fcd99727ea41ffdcc8.tar.gz",
"hash": "1115rn9npzj2xdj2zr1ayhfy76281zv0avbiyi5vgnvfg7064jmq" "hash": "0b318dahzf9kd043mjsa41rj44zfbs7k8i4bz0rqhcqipr19rwhk"
}, },
"nvim-lspconfig": { "nvim-lspconfig": {
"type": "Git", "type": "Git",
@ -1733,9 +1733,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "a785eb7ad5adf9341f5e9fc8bc3b25af4fdc9385", "revision": "8a1529e46eef5efc86c34c8d9bdd313abc2ecba0",
"url": "https://github.com/neovim/nvim-lspconfig/archive/a785eb7ad5adf9341f5e9fc8bc3b25af4fdc9385.tar.gz", "url": "https://github.com/neovim/nvim-lspconfig/archive/8a1529e46eef5efc86c34c8d9bdd313abc2ecba0.tar.gz",
"hash": "02bc6g1dq54hmg481dd2vywx1pirklymsq36dlwzg77qr2hr6701" "hash": "0l9mns71hh0jssxblr1q286z8hmxwbgyq1nw6scki9ffn23jwnz0"
}, },
"nvim-metals": { "nvim-metals": {
"type": "Git", "type": "Git",
@ -1746,9 +1746,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "f763b65fd71cb17d544753194fd91090e611c6e0", "revision": "fe6125f633c1b2f68d468a2041e81e2e5e8933d4",
"url": "https://github.com/scalameta/nvim-metals/archive/f763b65fd71cb17d544753194fd91090e611c6e0.tar.gz", "url": "https://github.com/scalameta/nvim-metals/archive/fe6125f633c1b2f68d468a2041e81e2e5e8933d4.tar.gz",
"hash": "0ayn8npywhr9j1rlhvq5kij0s3751hh89fd5qqp1iqjqr9mg4ns8" "hash": "1xpav9ykwk7kz61c6y33kyjxf0nf47risdj0q9gf5rnl88cln4by"
}, },
"nvim-navbuddy": { "nvim-navbuddy": {
"type": "Git", "type": "Git",
@ -1837,9 +1837,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "caf6f633d4d77a29b6e265b560c5a035d171a913", "revision": "6c54643ef42016b744888b06d2381abd23f9b7ea",
"url": "https://github.com/kylechui/nvim-surround/archive/caf6f633d4d77a29b6e265b560c5a035d171a913.tar.gz", "url": "https://github.com/kylechui/nvim-surround/archive/6c54643ef42016b744888b06d2381abd23f9b7ea.tar.gz",
"hash": "130y0b2f69y5rzm64ss34a9zyqkpkybr2d1s4p0pcvvaq1ngq0r0" "hash": "1c5agqfffmjxc73bv8d4hmrnzx62ikqpv7pii19v5alfdcnh5j48"
}, },
"nvim-tree-lua": { "nvim-tree-lua": {
"type": "Git", "type": "Git",
@ -1850,9 +1850,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "44d9b58f11d5a426c297aafd0be1c9d45617a849", "revision": "c09ff35de503a41fa62465c6b4ae72d96e7a7ce4",
"url": "https://github.com/nvim-tree/nvim-tree.lua/archive/44d9b58f11d5a426c297aafd0be1c9d45617a849.tar.gz", "url": "https://github.com/nvim-tree/nvim-tree.lua/archive/c09ff35de503a41fa62465c6b4ae72d96e7a7ce4.tar.gz",
"hash": "0gya49yydrbq5jylsk4b9c2cpygy0mxhr6kwdsbg0di0i74pkav0" "hash": "0bnc2fc9ipz9yp917l61vvcaqmbdg5fhqxrp7jfjxj5qmvadhai9"
}, },
"nvim-treesitter-context": { "nvim-treesitter-context": {
"type": "Git", "type": "Git",
@ -1863,9 +1863,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "93b29a32d5f4be10e39226c6b796f28d68a8b483", "revision": "572e534c9f881bb9bf9f388e4c87f360446c72d4",
"url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/93b29a32d5f4be10e39226c6b796f28d68a8b483.tar.gz", "url": "https://github.com/nvim-treesitter/nvim-treesitter-context/archive/572e534c9f881bb9bf9f388e4c87f360446c72d4.tar.gz",
"hash": "12ixiqb4bj7n3kkzqi81hyhn3bjsb93250gvfy12bxya2l5bi20g" "hash": "0bg3x75j8mwvpdhwd945lxbwmhw2j1qi135zn0yli78c9jn8g0ay"
}, },
"nvim-ts-autotag": { "nvim-ts-autotag": {
"type": "Git", "type": "Git",
@ -1889,9 +1889,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "5b75cf5fdb74054fc8badb2e7ca9911dc0470d94", "revision": "a52c92c3bbaa10f0c9b547a50adaa8c7d8b29f94",
"url": "https://github.com/kevinhwang91/nvim-ufo/archive/5b75cf5fdb74054fc8badb2e7ca9911dc0470d94.tar.gz", "url": "https://github.com/kevinhwang91/nvim-ufo/archive/a52c92c3bbaa10f0c9b547a50adaa8c7d8b29f94.tar.gz",
"hash": "0arbnim2lchd4khrr06f5n0vsj29ahrs7v277j9vmnkmrfpjzvhb" "hash": "1fv3rhny1d8wgxd3h3fy4vv05nb0fz506sk2in8rkmwlzwixl2wn"
}, },
"nvim-web-devicons": { "nvim-web-devicons": {
"type": "Git", "type": "Git",
@ -1902,9 +1902,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "4c3a5848ee0b09ecdea73adcd2a689190aeb728c", "revision": "d0cafff5c4347a604a07edf7bb9a91fda7eb577e",
"url": "https://github.com/nvim-tree/nvim-web-devicons/archive/4c3a5848ee0b09ecdea73adcd2a689190aeb728c.tar.gz", "url": "https://github.com/nvim-tree/nvim-web-devicons/archive/d0cafff5c4347a604a07edf7bb9a91fda7eb577e.tar.gz",
"hash": "1a3pkkjdv99nzmh9rf3rn4x1wwhbrr7497ln7xlnkczmk9faz8r4" "hash": "1j5ccksn2lkd1f1fvhhjs2amhq17wxmgcqv6jk05jpdbngw2mv98"
}, },
"obsidian-nvim": { "obsidian-nvim": {
"type": "Git", "type": "Git",
@ -1954,9 +1954,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "145dce4d2f1bbaed5ff9e353822981b783627b32", "revision": "abf8890a9b0612c51d738268c759c4331bc2109c",
"url": "https://github.com/nvim-orgmode/orgmode/archive/145dce4d2f1bbaed5ff9e353822981b783627b32.tar.gz", "url": "https://github.com/nvim-orgmode/orgmode/archive/abf8890a9b0612c51d738268c759c4331bc2109c.tar.gz",
"hash": "0vy5wx8kwf0k7sx27cy6lcqvni5njq1nhcj2yxk8xkdn61wk7gyi" "hash": "0j4f2y47s5ymii1w0r9gk39z4vks5fc9cy0rvj1vzml4vf4wijsi"
}, },
"otter-nvim": { "otter-nvim": {
"type": "Git", "type": "Git",
@ -1967,9 +1967,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "622816aac66933352e20e4d5d01993cd270d6fb0", "revision": "e37053d2c6a17463e705483122eee04d41e3d4af",
"url": "https://github.com/jmbuhr/otter.nvim/archive/622816aac66933352e20e4d5d01993cd270d6fb0.tar.gz", "url": "https://github.com/jmbuhr/otter.nvim/archive/e37053d2c6a17463e705483122eee04d41e3d4af.tar.gz",
"hash": "15ciqkx3hbbccy30dkga17jhra4mslvas0qnqiqrv5qlc09shyrp" "hash": "0sq7x2mcxl7z0j4s3a395fy0bzz13h4rxd03lp6674y6hsjxcm55"
}, },
"oxocarbon": { "oxocarbon": {
"type": "Git", "type": "Git",
@ -2058,9 +2058,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "de39919a57e1a40a4c7dc5bae0de276f9c616ef3", "revision": "f1e5490e87478cf0b528250ebb51552f3d08436a",
"url": "https://github.com/HiPhish/rainbow-delimiters.nvim/archive/de39919a57e1a40a4c7dc5bae0de276f9c616ef3.tar.gz", "url": "https://github.com/HiPhish/rainbow-delimiters.nvim/archive/f1e5490e87478cf0b528250ebb51552f3d08436a.tar.gz",
"hash": "04a3y7kyszgjgi1nmjb41vwwpz4svkxh61zkbxrn4ajvxz1ia05i" "hash": "02265awjpkd8v6s22wx8qrk2wxq8b7c7h5lr9n7pi6d4lwyrkrxf"
}, },
"registers-nvim": { "registers-nvim": {
"type": "Git", "type": "Git",
@ -2084,9 +2084,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "a1fc4e559252baa128c471adadf0be045abd542d", "revision": "08e1fa4e281e48ee4aa892428de9fb91e66edca6",
"url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/a1fc4e559252baa128c471adadf0be045abd542d.tar.gz", "url": "https://github.com/MeanderingProgrammer/render-markdown.nvim/archive/08e1fa4e281e48ee4aa892428de9fb91e66edca6.tar.gz",
"hash": "0n9zis5jf7khjdmc622g40is5yjsqkxph64mldpd3q8ka64yaib1" "hash": "1kiwa88l2262ycfj6z70hdriml0y2wnji3l9w27jbky9zxwhazrs"
}, },
"rose-pine": { "rose-pine": {
"type": "Git", "type": "Git",
@ -2136,9 +2136,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "1486b5a2cc0de646d6d0837ec77127c9d6e2c50f", "revision": "c7cc0e00ec53cafaa38e258cba4a6507c180289b",
"url": "https://github.com/mrcjkb/rustaceanvim/archive/1486b5a2cc0de646d6d0837ec77127c9d6e2c50f.tar.gz", "url": "https://github.com/mrcjkb/rustaceanvim/archive/c7cc0e00ec53cafaa38e258cba4a6507c180289b.tar.gz",
"hash": "1gl4i8pbmia78srxcsi131vxby5d8w9mn0ydzl3r0v7pawyvwr9q" "hash": "1514w2x5vpn790rz8wkah0chr7yz9sm5whaprnm1qc26fz4jwc17"
}, },
"smartcolumn-nvim": { "smartcolumn-nvim": {
"type": "Git", "type": "Git",
@ -2178,9 +2178,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "d1bc5421ef3e8edc5101e37edbb7de6639207a09", "revision": "a514379f5f89bf72955ed3bf5c1c31a40b8a1472",
"url": "https://github.com/nanotee/sqls.nvim/archive/d1bc5421ef3e8edc5101e37edbb7de6639207a09.tar.gz", "url": "https://github.com/nanotee/sqls.nvim/archive/a514379f5f89bf72955ed3bf5c1c31a40b8a1472.tar.gz",
"hash": "1j4n5c8h1iriqzsjxr0wvz70g9lf6d4lm3nyxlpwy9dqmbj8w0kd" "hash": "0rdhfjzfqhpjimi7b398d8ivfrg3ay084gz92fp0g4sgr3m876x3"
}, },
"tabular": { "tabular": {
"type": "Git", "type": "Git",
@ -2204,9 +2204,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "a4ed82509cecc56df1c7138920a1aeaf246c0ac5", "revision": "814f102cd1da3dc78c7d2f20f2ef3ed3cdf0e6e4",
"url": "https://github.com/nvim-telescope/telescope.nvim/archive/a4ed82509cecc56df1c7138920a1aeaf246c0ac5.tar.gz", "url": "https://github.com/nvim-telescope/telescope.nvim/archive/814f102cd1da3dc78c7d2f20f2ef3ed3cdf0e6e4.tar.gz",
"hash": "0vc2fr5nhbc39d55zn09fh8zpy4472ic4xmwvmk5dda8fqw76p8q" "hash": "0lbsq6x5bf7l54x7rkdkh7pa63afsgf0jnm0zf9ig7fw2lh18b8f"
}, },
"tiny-devicons-auto-colors-nvim": { "tiny-devicons-auto-colors-nvim": {
"type": "Git", "type": "Git",
@ -2295,9 +2295,9 @@
}, },
"branch": "master", "branch": "master",
"submodules": false, "submodules": false,
"revision": "10e6ec6f00365639e383fa8e95a32058dad53b22", "revision": "ddcc71126f910ec83037622bc8d506f91a290ade",
"url": "https://github.com/chomosuke/typst-preview.nvim/archive/10e6ec6f00365639e383fa8e95a32058dad53b22.tar.gz", "url": "https://github.com/chomosuke/typst-preview.nvim/archive/ddcc71126f910ec83037622bc8d506f91a290ade.tar.gz",
"hash": "1va3yw7iq5170ilfzd0fvpvkbkxn2yqk413j64ymg31aql8amgjc" "hash": "1iqcbpgk87gcgnqd5dv8n4h4hbildp5hbjhnlwjx5zlzcg5qv2my"
}, },
"vim-dirtytalk": { "vim-dirtytalk": {
"type": "Git", "type": "Git",
@ -2399,9 +2399,9 @@
}, },
"branch": "main", "branch": "main",
"submodules": false, "submodules": false,
"revision": "a21a0b4f593e1fb17b17882f1ab3a3c1b943b831", "revision": "80d9385dbebe7049fd1961d7909b835a58ce9dcc",
"url": "https://github.com/gbprod/yanky.nvim/archive/a21a0b4f593e1fb17b17882f1ab3a3c1b943b831.tar.gz", "url": "https://github.com/gbprod/yanky.nvim/archive/80d9385dbebe7049fd1961d7909b835a58ce9dcc.tar.gz",
"hash": "1sk3acrwwmx9wfxnfymgvl88bnp0xh8a30pyx040czrj3zl5l920" "hash": "1lg9nxc01shkazqk5g3j0iskiqbwr9sxv07sqrwkwlh36jn59rcp"
} }
}, },
"version": 5 "version": 5