Matt Sturgeon
d3a25cb97f
lib/keymaps: add abbreviation support to modes
enum
...
See https://neovim.io/doc/user/usr_24.html#_abbreviations
2025-02-15 13:51:37 +00:00
Matt Sturgeon
a1e168a2a0
lib/keymaps: replace modes
attrs with list
...
Simplify and remove dead code. Replace the `desc` attrs with inline
comments.
2025-02-15 13:35:19 +00:00
Firelight Flagboy
56e8230939
lib/options: Add mkEnabledOption
...
Like `lib.options.mkEnableOption` but it's enabled by default
2025-02-06 01:56:55 +00:00
Quentin Boyer
a2f01876f7
lib: Harmonize package options which may not exist in nixpkgs
2025-01-31 22:55:38 +00:00
Matt Sturgeon
1a5f1b4393
lib/plugins: introduce mkMetaModule
2025-01-29 17:39:18 +00:00
Gaetan Lepage
abba4af10b
lib/utils: fix typo in example of mkAssertions
2025-01-29 15:05:42 +01:00
Matt Sturgeon
53bfadc2c2
lib/modules: work-around a submodule type-merging issue
...
Includes a regression test.
Revert "lib/modules: remove explicit `specialArgs.lib`"
This reverts commit b5efe91c52
.
2025-01-21 12:10:29 +00:00
Gaetan Lepage
a7e516b322
lib/utils: add mkAssertions
2025-01-20 14:17:26 +01:00
Gaetan Lepage
02e16b2a76
lib/utils: add mkWarnings
2025-01-20 12:25:33 +00:00
Matt Sturgeon
a70b16976b
lib: export evalNixvim
as top-level alias
...
- `lib.nixvim.evalNixvim`
- `<nixvim>.lib.evalNixvim` (flake output)
2025-01-20 05:23:05 +00:00
Matt Sturgeon
3172e48dbb
lib/tests: simplify access to default system
2025-01-17 10:16:10 +00:00
Matt Sturgeon
9bf4c9d55b
wrappers/standalone: make pkgs
arg optional, allow specifying system
2025-01-17 10:16:10 +00:00
Matt Sturgeon
8c6f9ed8c4
lib/modules: allow specifying system
as an evalNixvim
arg
2025-01-17 10:16:10 +00:00
Matt Sturgeon
c19daee453
docs/user-guide: document nixvim's lib overlay
2025-01-17 02:23:10 +00:00
Matt Sturgeon
16662760a9
lib/modules: specify modulesPath
...
`specialArgs.modulesPath` can be used to allow users to manually
import modules relative to our `./modules` directory.
It is also used by the module system to provide a base path for
relative `disabledModules` paths.
2025-01-17 00:28:36 +00:00
Matt Sturgeon
b5efe91c52
lib/modules: remove explicit specialArgs.lib
...
`lib.evalModules` will do this internally anyway
2025-01-17 00:21:28 +00:00
Gaetan Lepage
91227dca9e
lib/options: add defaultNullOpts.mkFloat
2025-01-04 00:15:16 +01:00
Gaetan Lepage
2e600f5796
lib/options: add defaultNullOpts.mkProportion
2025-01-03 23:31:37 +01:00
Gaetan Lepage
cbddd58c69
lib/maintainers: add jolars
2025-01-02 00:07:27 +01:00
Gaetan Lepage
caef39133f
lib/options: mkAttrsOf, mkListOf, mkAttributeSet should accept raw values
2024-12-31 11:00:20 +01:00
Gaetan Lepage
c04dda021b
lib/options/mkRaw: automatically convert example strings to rawLua type
2024-12-31 00:10:49 +01:00
Gaetan Lepage
7500425d31
lib/options/mkRaw': handle pluginDefault=null
2024-12-27 23:36:04 +00:00
Heitor Augusto
1671f8618f
lib/mk-neovim-plugin: allow lazy-loading without luaConfig
2024-12-26 23:12:15 +00:00
Heitor Augusto
f878289722
lib/plugins: make plugin optional when lazy-loading
2024-12-26 23:00:27 +00:00
Matt Sturgeon
9487403532
modules/context: flake
option, provides access to our flake
2024-12-23 12:18:06 +00:00
Matt Sturgeon
6f45ca4a22
lib/modules: flake
is now required
2024-12-23 11:55:32 +00:00
Matt Sturgeon
403d5e23c5
lib/modules: remove assertion message for removed check
arg
2024-12-23 11:54:35 +00:00
Gaetan Lepage
f1b5c2c593
lib/tests: remove deprecated dontRun
2024-12-23 10:23:39 +00:00
Matt Sturgeon
aefab28b3b
lib/overlay: init
...
The overlay allows extending any instance of nixpkgs-lib into a
nixvim-compatible "extended" instance.
2024-12-23 09:58:54 +00:00
Matt Sturgeon
214731d355
lib/plugins: deprecate neovim-plugin
& vim-plugin
aliases
2024-12-22 10:29:38 +00:00
Matt Sturgeon
787844cfe4
lib/plugins: call sub-components with relevant args
2024-12-22 09:35:16 +00:00
Matt Sturgeon
690fc895b5
lib/plugins: extract common logic for package
options
...
Adds `mkPluginPackageModule`.
2024-12-22 09:35:16 +00:00
Matt Sturgeon
896f6be694
lib/plugins: take ownership of modules
utils
...
These util functions were previously defined in `modules`, but
`plugins.utils` is a better home.
2024-12-22 09:35:16 +00:00
Matt Sturgeon
ec97297fd5
lib/plugins: separate main factory functions
2024-12-22 09:35:16 +00:00
Matt Sturgeon
88a1c1b46a
lib/plugins: organise plugin-factory functions in a subdir
2024-12-22 09:35:15 +00:00
Matt Sturgeon
4b3b67fb6f
lib: make overrideable & access via flake
...
Add a non-system specific `<flake>.lib.nixvim` output, which is
equivalent to the existing `<flake>.lib.<system>.helpers` output.
This is now also wrapped with `lib.makeOverridable` to allow overriding
the function args used to construct the nixvim-lib.
Consistently access nixvim-lib via the new flake output, overriding
where necessary.
2024-12-21 15:17:43 +00:00
Matt Sturgeon
e2ef15a665
lib: add extend
function
2024-12-21 15:14:30 +00:00
Matt Sturgeon
f1addaaddf
lib/{neovim,vim}-plugin: remove redundant parens
2024-12-18 20:12:01 +00:00
Matt Sturgeon
6019ce784c
lib/{neovim,vim}-plugin: use loc
throughout
2024-12-18 19:47:37 +00:00
Gaetan Lepage
167167e4b3
lib/vim-plugin: expose new helpers settingsOptionDescription
and processPrefixedGlobals
and mkSettingsOption
2024-12-17 22:46:34 +01:00
Gaetan Lepage
1d50fa4f63
lib: add applyPrefixToAttrs
2024-12-17 21:40:20 +00:00
Gaetan Lepage
0ddf6e39ac
lib/mkSettingsRenamedOptionModules: allow attrs value with 'old' and 'new' keys
2024-12-16 10:49:09 +00:00
Matt Sturgeon
bef9feb446
lib/modules: pass inputs.nixpkgs
into evalNixvim
...
Expose our locked nixpkgs as the `nixpkgs.source` module options.
This only happens when `evalNixvim` is part of a lib that was provided
`flake` as an argument.
Stubbed the `nixpkgs.source` option for now. Eventually, this will be
used to construct `pkgs` internally. For now, it's purely informational.
2024-12-15 18:41:23 +00:00
Matt Sturgeon
32027965d8
lib: remove dependency on pkgs
2024-12-15 18:24:57 +00:00
Austin Horstman
63c81b1778
lib/options: mkLazyLoadOption: packPathName -> name
2024-12-13 21:30:36 -06:00
Austin Horstman
c37031d71f
treewide: luaName -> moduleName
...
Jus to closer align with its usage.
2024-12-13 21:30:36 -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
Matt Sturgeon
6a192a8604
lib/neovim-plugin: allow configLocation
to be wrapped using mkOrder
2024-12-14 02:39:44 +00:00
Austin Horstman
0997b371c7
lib/neovim-plugin: freeform lazy settings
...
Instead of trying to manage upstream configuration options, just keep
using our freeform options so we can do less finicky logic and
workarounds.
2024-12-10 10:07:38 -06:00
Austin Horstman
c3f9cb721c
lib/neovim-plugin: refactor mkLazyLoadOption
2024-12-10 10:07:38 -06:00