49 Commits
Author SHA1 Message Date
TashandMatt Sturgeon 72d07973ba plugins/lazy: allow pkg option in pluginType to be null.
- It's often required to define a spec that doesn't define a `pkg`, for
  example in the case of import statements.
2026-05-19 12:59:05 +00:00
Austin Horstman e61a31b597 plugins/lz-n: support importing plugin specs 2026-04-25 23:58:09 +00:00
TashandAustin Horstman 0166a4a54c plugins/lazy: make pluginType freeform. 2026-04-04 02:15:11 +00:00
Gaetan LepageandAustin Horstman 1d333fc92e treewide: apply linter suggestions 2025-12-28 04:26:49 +00:00
Gaetan Lepage 5aae2b9fcd plugins/lazy: introduce settings free-form option 2025-10-23 07:57:54 +00:00
Gaetan Lepage 9a057ef01a plugins/lazy: migrate to mkNeovimPlugin 2025-10-22 21:50:15 +00:00
Gaetan Lepage 429dc19c28 plugins/lazy: remove old deprecation warning 2025-10-22 21:50:15 +00:00
saygo-pngandMatt Sturgeon c4b27080a6 treewide: infer packPathName menial work
Signed-off-by: saygo-png <saygo.mail@proton.me>
2025-09-27 23:49:59 +00:00
wrvsrxandMatt Sturgeon a1d59a5542 plugins/lazy: add performance option 2025-09-16 21:02:44 +00:00
Heitor AugustoandMatt Sturgeon a6eda59091 plugins/lz-n: update references to options
Update the extraConfig function to access settings through opts parameter
instead of direct import. Also remove the unused options import for cleaner code.
2025-05-09 01:14:36 +01:00
Heitor AugustoandMatt Sturgeon b1cfeb4f34 plugins/lz-n: add support for keymap(<plugin>).set API
Add a new `keymaps` option to the lz-n plugin that allows users to define
keymaps that use lz.n's keymap(<plugin>).set functionality. This enables
users to create keymaps that lazy-load plugins when specific keys are pressed,
using the familiar vim.keymap.set() API style.

The implementation:
- Adds a new `keymaps` option using mkMapOptionSubmodule with a custom plugin property
- Exposes a simple and consistent interface for configuring lazy-loaded keymaps
- Processes these keymaps to generate corresponding Lua code with require('lz.n').keymap().set()
- Cleanly separates plugin specs from keymap definitions while preserving their relationship
2025-05-09 01:14:36 +01:00
Heitor AugustoandMatt Sturgeon bb2e1acf70 plugins/lz-n: add HeitorAugustoLN as a maintainer 2025-05-09 01:14:36 +01:00
Heitor AugustoandMatt Sturgeon a9938e06ae plugins/lz-n: remove with lib 2025-05-09 01:14:36 +01:00
Gaetan Lepageandnix-infra-bot 9abe8fd025 modules/dependencies: add git 2025-04-11 08:51:45 +10:00
Gaetan Lepage 5d833a1692 plugins/packer: remove (deprecated) 2025-04-01 16:03:03 +02:00
Matt Sturgeon 5e9a6c00a9 treewide: neovim-plugin -> plugins 2024-12-22 10:04:00 +00:00
Gaetan Lepageandnix-infra-bot ec24d496d5 treewide (cleaning): helpers.toLuaObject -> lib.nixvim.toLuaObject 2024-12-15 21:55:51 +00:00
Austin Horstman 95361fda3c treewide: apply deadnix suggestions 2024-12-14 11:34:26 -06:00
Austin Horstman a7012e7864 treewide: originalName -> packPathName
We used to only think of it as the plugin repo's name, but we have been
needing to use it for the name of the plugin's packpath location.
2024-12-13 21:29:00 -06:00
Austin Horstman 8012fbd998 plugins/lz-n: move to extraConfigLuaPre
Code that can trigger lazy loading might be inserted before the trigger
is defined.
2024-12-12 18:07:34 -06:00
Matt Sturgeon 2f49c76a6a lib: remove nixvimTypes alias 2024-09-27 08:31:07 +01:00
Quentin Boyerandnix-infra-bot d2f9e011d9 lib/neovim-plugin: Add lua configuration scoped to the plugin
This commit adds a `plugins.<name>.luaConfig` section controlling the
plugin specific configuration.

The section contains the internal `init` option, containing the plugin's
initialization code.

It also contains the public `pre` and `post` options, that allow to add
code before & after the `init` section

Finally, it contains the `final` option, being the concatenation of the
three previous options.
2024-09-22 16:15:27 +00:00
Austin Horstman 5316141e50 plugins/packer: use package option 2024-09-14 19:23:48 -05:00
Austin Horstman 1364f071ad plugins/lazy: use package option 2024-09-14 19:23:45 -05:00
Matt Sturgeon ae3a2c9d10 plugins: remove all use of lib.nixvim.mkPackageOption 2024-09-05 01:31:18 +01:00
Matt Sturgeon 1fd4b6c739 plugins: migrate defaultPackage -> package
Migrate all users of `mkVimPlugin` and `mkNeovimPlugin` to use the new
`package` argument instead of the old `defaultPackage` argument.
2024-09-04 03:29:34 +01:00
Matt Sturgeon 18b7597e6c lib/neovim-plugin: drop config arg 2024-09-02 10:35:52 +01:00
Austin Horstman 710f3472ec plugins/packer: use gitPackage 2024-08-29 16:39:53 -05:00
Austin Horstman 4fe95d4502 plugins/lazy: use gitPackage 2024-08-29 16:39:53 -05:00
psfloydandGaetanLepage 78abafe280 plugins/lz-n: init 2024-08-08 06:18:43 +00:00
traxys 62f32bfc71 treewide: Reformat with nixfmt 2024-05-05 22:00:40 +02:00
Christian KemperandGitHub f6e79601ad plugins/lazy.nvim: new plugin manager (#1175) 2024-03-08 21:13:30 +01:00
traxysandGitHub 507ff5b142 docs: Use a nixpkgs patch instead of copy/pasting nixpkgs functions (#1011)
This makes the code more maintainable, as it only depends on our small
patch, instead of a large number of internals of nixpkgs.
2024-02-03 19:04:09 +01:00
traxysandGitHub af41ea2d80 helpers: move rawType to helpers.nixvimTypes (#871)
This is done in preparation of adding new (lua) types to help the
documentation.
2024-01-01 23:33:53 +01:00
traxysandGitHub 1d8e7906c9 plugins: Introduce helpers.defaultNullOpts.mkLuaFn (#855)
This allows to avoid calling `mkRaw` on lua functions, as they will get
applied automatically.

This could also help in the future to refactor the use of Lua code to
make it more user-friendly.
2023-12-29 15:24:42 +01:00
Gaetan LepageandGaétan Lepage 19f39c3b1b plugins: swith to the new behaviour of mkRaw 2023-11-23 11:39:41 +01:00
Gaetan LepageandGaétan Lepage b6724702b4 misc: refactor imports, prefer adding helpers to args rather than importing it 2023-11-06 16:33:39 +01:00
municornandGitHub 934bf7e2e3 fix(helpers): use "__unkeyed" prefix instead of "@" in toLuaObject (#632) 2023-10-09 15:50:21 +02:00
Gaétan LepageandGitHub 4eed4e1de4 plugins/packer: improve lua generation (#270) 2023-03-18 16:26:00 +01:00
Gaétan LepageandGitHub e89d919e4d plugins/packer: refactoring + fixes + tests (#243) 2023-03-12 18:23:23 +01:00
Gaétan LepageandGitHub 264de8cefb added formatter + reformat existing codebase (#175) 2023-02-20 10:42:13 +00:00
Gaétan LepageandGitHub c73bef16ab helpers: add mkPackageOption + refactoring (#144) (#150) 2023-01-25 18:46:49 +00:00
Pedro AlvesandGitHub 2d54272177 Revert "helpers: add mkPackageOption + refactoring (#144)" (#149)
This reverts commit b724085447.
2023-01-25 00:03:26 +00:00
Gaétan LepageandGitHub b724085447 helpers: add mkPackageOption + refactoring (#144) 2023-01-24 23:59:06 +00:00
Pedro Alves 238f0c590e misc: fix mkEnableOption descriptions 2023-01-22 03:32:08 +00:00
Pedro AlvesandGitHub 4ddd3969e5 nixvim: support standalone nixvim
This represents a major rearchitecture for nixvim, so I'm leaving this up to track the progress for now, and to serve as a reference for any breaking changes during transition.

The main change is, of course, being able to use nixvim standalone. To do this, you should use the new build function, which takes in two arguments: the system architecture (e.g. x86_64-linux) and the configuration. For the new configuration, do not use the programs.nixvim. prefix.

For module development, the main change is that you should no longer prefix your modules with programs.nixvim..
2022-09-18 11:19:23 +01:00
Pedro Alves d32ed07d0e packer: add git dependency 2021-12-11 15:10:06 +00:00
Pedro Alves 11922ace8d packer.nvim: fix package name 2021-03-19 12:41:10 +00:00
Pedro Alves f7e02b3ccf packer: init plugin 2021-03-18 14:03:17 +00:00