Skip to content
Merged

Patches #1738

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions docs/manual/configuring/queries.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,14 @@ in {
filetypes = ["nix"];
loadtype = "extends";
query = ''
((apply_expression
(apply_expression
function: (variable_expression
name: (identifier) @_func
(#eq? @_func "mkLuaInline"))

argument: (indented_string_expression
(string_fragment) @injection.content)

(#set! injection.language "lua")
(#set! injection.combined)))
(#set! injection.combined))
'';
}];
}
Expand Down
19 changes: 19 additions & 0 deletions docs/manual/hacking.md
Original file line number Diff line number Diff line change
Expand Up @@ -310,6 +310,25 @@ acceptableList = [
];
```

##### Binaries

Always use `getExe` and `getExe'` from `lib.meta` instead of manual binary path
expansion.

###### Examples

```diff
+let
+ inherit (lib.meta) getExe getExe';
+in

-bin = "${pkgs.bar}/bin/bar";
+cmd = getExe pkgs.bar;

-cmd = "${pkgs.bar}/bin/foo";
+cmd = getExe' pkgs.bar "foo";
```

#### Naming of External Tools {#sec-code-style-naming-external-tools}

In NVF, we often package or preconfigure external tools. One common example are
Expand Down
13 changes: 13 additions & 0 deletions docs/manual/release-notes/rl-0.9.md
Original file line number Diff line number Diff line change
Expand Up @@ -362,6 +362,15 @@

- Split of `zsh` from `languages.bash` into its own language module.

[`injected` formatter]: https://github.com/stevearc/conform.nvim/blob/master/doc/advanced_topics.md#injected-language-formatting-code-blocks

- Add [`injected` formatter] to all language modules, to allow for formatting of
injections via conform, like Markdown code blocks or some multiline strings in
nix.

- Make `query` injections in `nix` files combined, to fix highlighting problems,
when injecting inside multiline strings.

- Telling the `vscode-json-language-server` that `json5` is `jsonc` instead of
the default fallback of `json`, for more accurate results.

Expand Down Expand Up @@ -395,6 +404,10 @@

- Added `gitlab-ci-ls`.

- Add `ts-query-ls` as a conform.nvim formatter.

- Added formatting to `languages.query`.

- Added `phpantom` LSP preset and into `languages.php`.

- Moved extra diagnostic modules under `diagnostics.presets.<name>` this will
Expand Down
3 changes: 2 additions & 1 deletion modules/plugins/debugger/nvim-dap/presets/lldb.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.types) mkDapPresetEnableOption;
inherit (lib.meta) getExe';

cfg = config.vim.debugger.nvim-dap.presets.lldb;
in {
Expand All @@ -20,7 +21,7 @@ in {
config.vim.debugger.nvim-dap.adapters = mkIf cfg.enable {
lldb = {
type = "executable";
command = "${pkgs.lldb}/bin/lldb-dap";
command = getExe' pkgs.lldb "lldb-dap";
};
};
}
3 changes: 2 additions & 1 deletion modules/plugins/diagnostics/presets/biomejs.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.types) mkDiagnosticsPresetEnableOption;
inherit (lib.meta) getExe;

cfg = config.vim.diagnostics.presets.biomejs;
in {
Expand All @@ -17,6 +18,6 @@ in {
};

config = mkIf cfg.enable {
vim.diagnostics.nvim-lint.linters.biomejs.cmd = "${pkgs.biome}/bin/biome";
vim.diagnostics.nvim-lint.linters.biomejs.cmd = getExe pkgs.biome;
};
}
3 changes: 2 additions & 1 deletion modules/plugins/diagnostics/presets/checkmake.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.types) mkDiagnosticsPresetEnableOption;
inherit (lib.meta) getExe;

cfg = config.vim.diagnostics.presets.checkmake;
in {
Expand All @@ -17,6 +18,6 @@ in {
};

config = mkIf cfg.enable {
vim.diagnostics.nvim-lint.linters.checkmake.cmd = "${pkgs.checkmake}/bin/checkmake";
vim.diagnostics.nvim-lint.linters.checkmake.cmd = getExe pkgs.checkmake;
};
}
3 changes: 2 additions & 1 deletion modules/plugins/diagnostics/presets/cpplint.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.types) mkDiagnosticsPresetEnableOption;
inherit (lib.meta) getExe;

cfg = config.vim.diagnostics.presets.cpplint;
in {
Expand All @@ -17,6 +18,6 @@ in {
};

config = mkIf cfg.enable {
vim.diagnostics.nvim-lint.linters.cpplint.cmd = "${pkgs.cpplint}/bin/cpplint";
vim.diagnostics.nvim-lint.linters.cpplint.cmd = getExe pkgs.cpplint;
};
}
3 changes: 2 additions & 1 deletion modules/plugins/diagnostics/presets/deadnix.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.types) mkDiagnosticsPresetEnableOption;
inherit (lib.meta) getExe;

cfg = config.vim.diagnostics.presets.deadnix;
in {
Expand All @@ -17,6 +18,6 @@ in {
};

config = mkIf cfg.enable {
vim.diagnostics.nvim-lint.linters.deadnix.cmd = "${pkgs.deadnix}/bin/deadnix";
vim.diagnostics.nvim-lint.linters.deadnix.cmd = getExe pkgs.deadnix;
};
}
3 changes: 2 additions & 1 deletion modules/plugins/diagnostics/presets/djlint.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.types) mkDiagnosticsPresetEnableOption;
inherit (lib.meta) getExe;

cfg = config.vim.diagnostics.presets.djlint;
in {
Expand All @@ -17,6 +18,6 @@ in {
};

config = mkIf cfg.enable {
vim.diagnostics.nvim-lint.linters.djlint.cmd = "${pkgs.djlint}/bin/djlint";
vim.diagnostics.nvim-lint.linters.djlint.cmd = getExe pkgs.djlint;
};
}
3 changes: 2 additions & 1 deletion modules/plugins/diagnostics/presets/dotenv-linter.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.types) mkDiagnosticsPresetEnableOption;
inherit (lib.meta) getExe;

cfg = config.vim.diagnostics.presets.dotenv-linter;
in {
Expand All @@ -17,6 +18,6 @@ in {
};

config = mkIf cfg.enable {
vim.diagnostics.nvim-lint.linters.dotenv-linter.cmd = "${pkgs.dotenv-linter}/bin/dotenv-linter";
vim.diagnostics.nvim-lint.linters.dotenv-linter.cmd = getExe pkgs.dotenv-linter;
};
}
3 changes: 2 additions & 1 deletion modules/plugins/diagnostics/presets/eslint_d.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.types) mkDiagnosticsPresetEnableOption;
inherit (lib.meta) getExe;

cfg = config.vim.diagnostics.presets.eslint_d;
in {
Expand All @@ -18,7 +19,7 @@ in {

config = mkIf cfg.enable {
vim.diagnostics.nvim-lint.linters.eslint_d = {
cmd = "${pkgs.eslint_d}/bin/eslint_d";
cmd = getExe pkgs.eslint_d;
required_files = [
"eslint.config.js"
"eslint.config.mjs"
Expand Down
5 changes: 3 additions & 2 deletions modules/plugins/diagnostics/presets/golangci-lint.nix
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
...
}: let
inherit (lib.modules) mkIf;
inherit (lib.meta) getExe;
inherit (lib.generators) mkLuaInline;
inherit (lib.nvim.types) mkDiagnosticsPresetEnableOption;

Expand All @@ -19,7 +20,7 @@ in {

config = mkIf cfg.enable {
vim.diagnostics.nvim-lint.linters.golangci-lint = {
cmd = "${pkgs.golangci-lint}/bin/golangci-lint";
cmd = getExe pkgs.golangci-lint;
args = [
"run"
"--output.json.path=stdout"
Expand All @@ -40,7 +41,7 @@ in {
-- Run on current file only if go.mod is missing
function()
local fnmod = ":p";
local cmd = {"${pkgs.go}/bin/go", "env", "GOMOD"};
local cmd = {"${getExe pkgs.go}", "env", "GOMOD"};
local ok, gomod = pcall(vim.fn.system, cmd);
gomod = gomod:gsub("%s+", "")
if ok and gomod ~= "" and gomod ~= "/dev/null" then
Expand Down
3 changes: 2 additions & 1 deletion modules/plugins/diagnostics/presets/hadolint.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.types) mkDiagnosticsPresetEnableOption;
inherit (lib.meta) getExe;

cfg = config.vim.diagnostics.presets.hadolint;
in {
Expand All @@ -17,6 +18,6 @@ in {
};

config = mkIf cfg.enable {
vim.diagnostics.nvim-lint.linters.hadolint.cmd = "${pkgs.hadolint}/bin/hadolint";
vim.diagnostics.nvim-lint.linters.hadolint.cmd = getExe pkgs.hadolint;
};
}
3 changes: 2 additions & 1 deletion modules/plugins/diagnostics/presets/htmlhint.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.types) mkDiagnosticsPresetEnableOption;
inherit (lib.meta) getExe;

cfg = config.vim.diagnostics.presets.htmlhint;
in {
Expand All @@ -17,6 +18,6 @@ in {
};

config = mkIf cfg.enable {
vim.diagnostics.nvim-lint.linters.htmlhint.cmd = "${pkgs.htmlhint}/bin/htmlhint";
vim.diagnostics.nvim-lint.linters.htmlhint.cmd = getExe pkgs.htmlhint;
};
}
3 changes: 2 additions & 1 deletion modules/plugins/diagnostics/presets/ktlint.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.types) mkDiagnosticsPresetEnableOption;
inherit (lib.meta) getExe;

cfg = config.vim.diagnostics.presets.ktlint;
in {
Expand All @@ -17,6 +18,6 @@ in {
};

config = mkIf cfg.enable {
vim.diagnostics.nvim-lint.linters.ktlint.cmd = "${pkgs.ktlint}/bin/ktlint";
vim.diagnostics.nvim-lint.linters.ktlint.cmd = getExe pkgs.ktlint;
};
}
3 changes: 2 additions & 1 deletion modules/plugins/diagnostics/presets/luacheck.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.types) mkDiagnosticsPresetEnableOption;
inherit (lib.meta) getExe;

cfg = config.vim.diagnostics.presets.luacheck;
in {
Expand All @@ -17,6 +18,6 @@ in {
};

config = mkIf cfg.enable {
vim.diagnostics.nvim-lint.linters.luacheck.cmd = "${pkgs.luajitPackages.luacheck}/bin/luacheck";
vim.diagnostics.nvim-lint.linters.luacheck.cmd = getExe pkgs.luajitPackages.luacheck;
};
}
5 changes: 3 additions & 2 deletions modules/plugins/diagnostics/presets/mago.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.types) mkDiagnosticsPresetEnableOption;
inherit (lib.meta) getExe;

cfg = config.vim.diagnostics.presets;
in {
Expand All @@ -24,10 +25,10 @@ in {

config.vim.diagnostics.nvim-lint.linters = {
mago_lint = mkIf cfg.mago_lint.enable {
cmd = "${pkgs.mago}/bin/mago";
cmd = getExe pkgs.mago;
};
mago_analyze = mkIf cfg.mago_analyze.enable {
cmd = "${pkgs.mago}/bin/mago";
cmd = getExe pkgs.mago;
};
};
}
3 changes: 2 additions & 1 deletion modules/plugins/diagnostics/presets/markdownlint-cli2.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.types) mkDiagnosticsPresetEnableOption;
inherit (lib.meta) getExe;

cfg = config.vim.diagnostics.presets.markdownlint-cli2;
in {
Expand All @@ -17,6 +18,6 @@ in {
};

config = mkIf cfg.enable {
vim.diagnostics.nvim-lint.linters.markdownlint-cli2.cmd = "${pkgs.markdownlint-cli2}/bin/markdownlint-cli2";
vim.diagnostics.nvim-lint.linters.markdownlint-cli2.cmd = getExe pkgs.markdownlint-cli2;
};
}
3 changes: 2 additions & 1 deletion modules/plugins/diagnostics/presets/mypy.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.types) mkDiagnosticsPresetEnableOption;
inherit (lib.meta) getExe;

cfg = config.vim.diagnostics.presets.mypy;
in {
Expand All @@ -17,6 +18,6 @@ in {
};

config = mkIf cfg.enable {
vim.diagnostics.nvim-lint.linters.mypy.cmd = "${pkgs.mypy}/bin/mypy";
vim.diagnostics.nvim-lint.linters.mypy.cmd = getExe pkgs.mypy;
};
}
3 changes: 2 additions & 1 deletion modules/plugins/diagnostics/presets/phpstan.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.types) mkDiagnosticsPresetEnableOption;
inherit (lib.meta) getExe;

cfg = config.vim.diagnostics.presets.phpstan;
in {
Expand All @@ -17,6 +18,6 @@ in {
};

config = mkIf cfg.enable {
vim.diagnostics.nvim-lint.linters.phpstan.cmd = "${pkgs.phpstan}/bin/phpstan";
vim.diagnostics.nvim-lint.linters.phpstan.cmd = getExe pkgs.phpstan;
};
}
3 changes: 2 additions & 1 deletion modules/plugins/diagnostics/presets/rubocop.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.types) mkDiagnosticsPresetEnableOption;
inherit (lib.meta) getExe;

cfg = config.vim.diagnostics.presets.rubocop;
in {
Expand All @@ -17,6 +18,6 @@ in {
};

config = mkIf cfg.enable {
vim.diagnostics.nvim-lint.linters.rubocop.cmd = "${pkgs.rubocop}/bin/rubocop";
vim.diagnostics.nvim-lint.linters.rubocop.cmd = getExe pkgs.rubocop;
};
}
3 changes: 2 additions & 1 deletion modules/plugins/diagnostics/presets/rumdl.nix
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
}: let
inherit (lib.modules) mkIf;
inherit (lib.nvim.types) mkDiagnosticsPresetEnableOption;
inherit (lib.meta) getExe;

cfg = config.vim.diagnostics.presets.rumdl;
in {
Expand All @@ -17,6 +18,6 @@ in {
};

config = mkIf cfg.enable {
vim.diagnostics.nvim-lint.linters.rumdl.cmd = "${pkgs.rumdl}/bin/rumdl";
vim.diagnostics.nvim-lint.linters.rumdl.cmd = getExe pkgs.rumdl;
};
}
Loading
Loading