Gaetan Lepage
95573411bc
modules/keymaps: add replace_keycodes keymap sub-option
2025-03-28 11:32:49 +01:00
Gaetan Lepage
fe95b14d52
lib/keymap-helpers (mapConfigOptions): use mkNullOrStr for desc
2025-03-28 11:32:49 +01:00
Gaetan Lepage
1681cc3869
lib/maintainers: remove jolars as he became a nixpkgs maintainer
2025-03-19 00:51:22 +01:00
Matt Sturgeon
b8c5587399
lib/keymaps: make mode
type's description more readable
...
Only list the enum values once, instead of twice.
2025-02-15 15:09:05 +00:00
Matt Sturgeon
bd46d896a8
lib/keymaps: add a link to :h map-modes
2025-02-15 14:19:24 +00:00
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