Compare commits

...

8 commits

Author SHA1 Message Date
raf
14fb42562e
Merge pull request #734 from horriblename/lazy-file
Some checks are pending
Set up binary cache / cachix (default) (push) Waiting to run
Set up binary cache / cachix (maximal) (push) Waiting to run
Set up binary cache / cachix (nix) (push) Waiting to run
Validate flake & check documentation / Validate Flake Documentation (push) Waiting to run
Validate flake & check documentation / Validate hyperlinks in documentation sources (push) Waiting to run
Validate flake & check formatting / Validate Flake (push) Waiting to run
Validate flake & check formatting / Formatting via Alejandra (push) Waiting to run
Build and deploy documentation / Check latest commit (push) Waiting to run
Build and deploy documentation / publish (push) Blocked by required conditions
Check for typos in the source tree / check-typos (push) Waiting to run
lazy: create LazyFile user event, load copilot-lua on LazyFile
2025-03-23 16:04:56 +00:00
raf
e0715c4e78
Merge branch 'main' into lazy-file 2025-03-23 15:58:09 +00:00
Phan Đăng Khoa
7696f470a7
eslint_d: added conditions for launching eslint_d (#737)
* eslint_d: added conditions for launching eslint_d

* eslint_d: documented changes to docs/release-notes/rl-0.8.md

---------

Co-authored-by: raf <raf@notashelf.dev>
2025-03-23 15:57:38 +00:00
Ching Pei Yang
d105f69921 docs: mention LazyFile 2025-03-23 11:09:51 +01:00
Ching Pei Yang
5f99c7f4e5 docs: update release notes 2025-03-23 11:09:51 +01:00
Ching Pei Yang
c639cf5064 copilot: load on LazyFile 2025-03-23 11:09:51 +01:00
Ching Pei Yang
e2d10e8fb2 lazy: create LazyFile user event 2025-03-23 11:09:51 +01:00
Ching Pei Yang
58021beb1c lazy: fix incomplete event type 2025-03-23 11:09:51 +01:00
8 changed files with 72 additions and 3 deletions

View file

@ -38,3 +38,22 @@ As of version **0.7**, we exposed an API for configuring lazy-loaded plugins via
};
}
```
## LazyFile event {#sec-lazyfile-event}
You can use the `LazyFile` user event to load a plugin when a file is opened:
```nix
{
config.vim.lazy.plugins = {
"aerial.nvim" = {
package = pkgs.vimPlugins.aerial-nvim;
event = [{event = "User"; pattern = "LazyFile";}];
# ...
};
};
}
```
You can consider `LazyFile` as an alias to
`["BufReadPost" "BufNewFile" "BufWritePre"]`

View file

@ -89,6 +89,7 @@
[blink.cmp]: https://github.com/saghen/blink.cmp
- Add [blink.cmp] support.
- Add `LazyFile` user event.
[diniamo](https://github.com/diniamo):
@ -244,8 +245,8 @@
syncing of nvim shell environment with direnv's.
- Add [blink.cmp] source options and some default-disabled sources.
- Add [blink.cmp] option to add
[friendly-snippets](https://github.com/rafamadriz/friendly-snippets)
so blink.cmp can source snippets from it.
[friendly-snippets](https://github.com/rafamadriz/friendly-snippets) so
blink.cmp can source snippets from it.
- Fix [blink.cmp] breaking when built-in sources were modified.
[TheColorman](https://github.com/TheColorman):
@ -271,3 +272,7 @@
[Butzist](https://github.com/butzist):
- Add Helm chart support under `vim.languages.helm`.
[rice-cracker-dev](https://github.com/rice-cracker-dev):
- `eslint_d` now checks for configuration files to load.

View file

@ -37,6 +37,12 @@ in {
inherit (cfg) setupOpts;
after = mkIf cfg.cmp.enable "require('copilot_cmp').setup()";
event = [
{
event = "User";
pattern = "LazyFile";
}
];
cmd = ["Copilot" "CopilotAuth" "CopilotDetach" "CopilotPanel" "CopilotStop"];
keys = [
(mkLuaKeymap ["n"] cfg.mappings.panel.accept (wrapPanelBinding ''require("copilot.panel").accept'' cfg.mappings.panel.accept) "[copilot] Accept suggestion" {})

View file

@ -72,6 +72,16 @@
ls_sources,
null_ls.builtins.diagnostics.eslint_d.with({
command = "${getExe pkg}",
condition = function(utils)
return utils.root_has_file({
"eslint.config.js",
"eslint.config.mjs",
".eslintrc",
".eslintrc.json",
".eslintrc.js",
".eslintrc.yml",
})
end,
})
)
'';

View file

@ -72,6 +72,16 @@
ls_sources,
null_ls.builtins.diagnostics.eslint_d.with({
command = "${getExe pkg}",
condition = function(utils)
return utils.root_has_file({
"eslint.config.js",
"eslint.config.mjs",
".eslintrc",
".eslintrc.json",
".eslintrc.js",
".eslintrc.yml",
})
end,
})
)
'';

View file

@ -123,6 +123,16 @@
ls_sources,
null_ls.builtins.diagnostics.eslint_d.with({
command = "${getExe pkg}",
condition = function(utils)
return utils.root_has_file({
"eslint.config.js",
"eslint.config.mjs",
".eslintrc",
".eslintrc.json",
".eslintrc.js",
".eslintrc.yml",
})
end,
})
)
'';

View file

@ -134,6 +134,15 @@ in {
startPlugins = ["lz-n" "lzn-auto-require"];
optPlugins = pluginPackages;
augroups = [{name = "nvf_lazy_file_hooks";}];
autocmds = [
{
event = ["BufReadPost" "BufNewFile" "BufWritePre"];
group = "nvf_lazy_file_hooks";
command = "doautocmd User LazyFile";
once = true;
}
];
lazy.builtLazyConfig = ''
require('lz.n').load(${toLuaObject lznSpecs})

View file

@ -126,7 +126,7 @@
};
event = mkOption {
type = nullOr (oneOf [str (listOf str) lznEvent]);
type = nullOr (oneOf [str lznEvent (listOf (either str lznEvent))]);
default = null;
description = "Lazy-load on event";
};