Commit graph

1841 commits

Author SHA1 Message Date
Gaetan Lepage
3cd3913d45 flake.lock: Update 2024-07-31 17:05:50 +02:00
Matt Sturgeon
8945b3b5e3
flake/generate-files: fix --commit line count
`echo` pipes all its output at once, so `wc -l` always counts 1 line.

See https://stackoverflow.com/questions/60954221
2024-07-31 14:06:49 +01:00
Stanislav Asunkin
9314cd46f0 modules/performance: add ability to byte compile nvim runtime directory
This commit adds `performance.byteCompileLua.nvimRuntime` toggle that,
if enabled, byte compiles all lua files in Nvim runtime directory.
2024-07-31 11:31:40 +00:00
Stanislav Asunkin
55ca9d235b modules/performance: add ability to byte compile lua plugins
This commit adds `performance.byteCompileLua.plugins` toggle that, if
enabled, byte compiles all lua files in plugins
2024-07-31 11:31:40 +00:00
Stanislav Asunkin
44849233e0 modules/performance: add ability to byte compile lua configuration files
This commit adds support for byte compiling lua configuration files.
It's enabled by default (if byte compiling is enabled at all) and can be
disabled with `performance.byteCompileLua.configs` toggle.

To implement this feature `extraFiles.<name>.finalSource` internal
read-only option is introduced. `source` option cannot be used because
it's user configurable. In order to access the values of the
`performance.byteCompileLua` options, parent config is added to
specialArgs of extraFiles submodule. Then the usages of `source` option
changed to `finalSource` in all relevant places (filesPlugin and
wrappers).

Added more helpers for various cases of byte compiling:

* `byteCompileLuaFile` byte compiles lua file
* `byteCompileLuaHook` is a setup hook that byte compiles all lua files
* `byteCompileLuaDrv` overrides derivation by adding byteCompileLuaHook
  to it

Added tests to validate that extraFiles specified by various methods are
handled correctly. Added a separate home-manager test, that is intended
to validate that extraFiles propagated to wrapper modules are correctly
byte compiled.
2024-07-31 11:31:40 +00:00
Stanislav Asunkin
17e8904992 modules/performance: add performance.byteCompileLua option
* add `performance.byteCompileLua.enable` toggle to enable or disable
  all byte compiling features
* add `performance.byteCompileLua.initLua` toggle to enable or
  disable byte compiling of init.lua
* add `writeByteCompiledLua` helper for saving byte compiled lua source
  code to the nix store
* `nixvim-print-init` utility is always pointed to uncompiled init.lua
* add tests
2024-07-31 11:31:40 +00:00
Matt Sturgeon
3789c69658
flake/generate-files: use nixfmt directly
Running `nix fmt` is unnecessary in this case.
2024-07-31 11:49:28 +01:00
Matt Sturgeon
0b23a4ce85
flake/generate-files: do all builds in one eval 2024-07-31 11:49:28 +01:00
Matt Sturgeon
fc8155b5fa
tests/generated: init by checking declared tools
This moves most assertions out of generate-files and into a check
derivation. This should allow the CI to finish, even when there are
issues.

This also properly tests efmls, which was only checked partially before.

rust-analyzer is not covered because the existing assertions relate more
to edge-cases not handled by the generation script than the result it
builds.
2024-07-31 11:49:28 +01:00
Matt Sturgeon
a8eceddd07
plugins/lsp/efmls: remove unused tool declarations 2024-07-31 11:40:07 +01:00
Ughur Alakbarov
ee89f7437b
typo 2024-07-30 18:26:30 +02:00
Matt Sturgeon
2089eb407d
plugins/which-key: deprecate v2 registrations
These have been replaced in v3 with a new spec.

As we will soon migrate which-key to `settings` options, I've named the
new option `settings.spec` so that we do not need to "rename" it again
soon.

This commit **does not** actually add a freeform settings option.
2024-07-29 11:16:49 +01:00
Thomas Stachl
2415edc0cb
plugins/lsp/nextls: init 2024-07-29 07:47:28 +02:00
Matt Sturgeon
040bab5f55
lib/helpers: call with auto-args
Define `call = callPackageWith { inherit pkgs lib helpers; }`, which can
be used to automatically pass the correct args into helpers files.

`helpers` is passed in recursively.
2024-07-28 22:51:24 +01:00
Matt Sturgeon
0e98d9cf1e
lib/helpers: build recursively 2024-07-28 22:30:11 +01:00
github-actions[bot]
a655679ecc flake.lock: Update
Flake lock file updates:

• Updated input 'devshell':
    'github:numtide/devshell/cf8c7405479cfde7ea4dc815e195391d2328df10' (2024-07-25)
  → 'github:numtide/devshell/cc8700135fb0740199ac248063f20c6b1a3c7e42' (2024-07-26)
• Updated input 'home-manager':
    'github:nix-community/home-manager/304a011325b7ac7b8c9950333cd215a7aa146b0e' (2024-07-24)
  → 'github:nix-community/home-manager/975b83ca560d17db51a66cb2b0dc0e44213eab27' (2024-07-27)
• Updated input 'nix-darwin':
    'github:lnl7/nix-darwin/884f3fe6d9bf056ba0017c132c39c1f0d07d4fec' (2024-07-23)
  → 'github:lnl7/nix-darwin/0413754b3cdb879ba14f6e96915e5fdf06c6aab6' (2024-07-27)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/dc14ed91132ee3a26255d01d8fd0c1f5bff27b2f' (2024-07-23)
  → 'github:NixOS/nixpkgs/b73c2221a46c13557b1b3be9c2070cc42cf01eb3' (2024-07-27)
2024-07-28 14:15:43 +02:00
Austin Horstman
59941a5300
config-examples: fix typo 2024-07-27 15:14:06 -05:00
Austin Horstman
686507a4cb
config-examples: add khanelivim 2024-07-27 15:14:06 -05:00
Noah Thornton
162ae6354b plugins/lsp/jdtls: add Eclipse JDT language server for Java
This adds the Eclipse JDT language server for Java.
2024-07-26 10:57:25 -07:00
Quentin Boyer
47b6c4804f github: Fix stable doc path 2024-07-25 22:34:45 +00:00
Austin Horstman
10e5066a9a
plugins/otter: add warning if treesitter highlighting not set 2024-07-25 16:01:43 -05:00
Austin Horstman
91130385ed
plugins/treesitter: support unsetting keymaps 2024-07-25 15:12:52 -05:00
Quentin Boyer
c12e59ff7c doc: Use correct href for nuscht-search
This commit also adds a subdirectory in the docs derivation, to have the
same local structure than what is uploaded on github pages.
2024-07-25 18:23:47 +00:00
Gaetan Lepage
ac50052a49 plugins/lsp/pylsp: remove useless dependency for pylsp-rope 2024-07-25 17:04:22 +00:00
github-actions[bot]
114c036850 flake.lock: Update
Flake lock file updates:

• Updated input 'devshell':
    'github:numtide/devshell/1ebbe68d57457c8cae98145410b164b5477761f4' (2024-06-03)
  → 'github:numtide/devshell/cf8c7405479cfde7ea4dc815e195391d2328df10' (2024-07-25)
• Updated input 'home-manager':
    'github:nix-community/home-manager/635563f245309ef5320f80c7ebcb89b2398d2949' (2024-07-21)
  → 'github:nix-community/home-manager/304a011325b7ac7b8c9950333cd215a7aa146b0e' (2024-07-24)
• Updated input 'nix-darwin':
    'github:lnl7/nix-darwin/2ae24bcafdb88fdf70b061cc8b18d070dbd9013a' (2024-07-22)
  → 'github:lnl7/nix-darwin/884f3fe6d9bf056ba0017c132c39c1f0d07d4fec' (2024-07-23)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/68c9ed8bbed9dfce253cc91560bf9043297ef2fe' (2024-07-21)
  → 'github:NixOS/nixpkgs/dc14ed91132ee3a26255d01d8fd0c1f5bff27b2f' (2024-07-23)
• Updated input 'nuschtosSearch':
    'github:NuschtOS/search/b5990bce952c39824169dad255ff39c8abe4ca21' (2024-07-18)
  → 'github:NuschtOS/search/551b031e2bc0bcc9584347a8da6312e57169661d' (2024-07-21)
• Updated input 'treefmt-nix':
    'github:numtide/treefmt-nix/888bfb10a9b091d9ed2f5f8064de8d488f7b7c97' (2024-07-20)
  → 'github:numtide/treefmt-nix/8db8970be1fb8be9c845af7ebec53b699fe7e009' (2024-07-23)
2024-07-25 17:04:22 +00:00
Matt Sturgeon
faff876ee6
wrappers: use lib.nixvim option
Update internal usage from the deprecated `nixvim.helpers` option to the
new `lib.nixvim` option name.
2024-07-25 17:10:54 +01:00
Quentin Boyer
4d874f6c11 dev: Make the serve-docs command uncached 2024-07-25 14:00:35 +00:00
traxys
42a7676d5a docs: Add an option search to our documentation 2024-07-25 14:00:35 +00:00
GGORG
30ab203d56 plugins/guess-indent: init 2024-07-25 13:45:18 +02:00
GGORG
230f95eae0 maintainers: add GGORG 2024-07-25 13:40:08 +02:00
Matt Sturgeon
216d64c158
wrappers: make helpers available via lib option
NixOS, HM, & Darwin provide a `lib` option, not to be confused with the
`lib` module arg.

This option is intended for modules to define custom functions without
having to extend nixpkgs lib.

The old option is renamed, if it is accessed it will print:

    trace: Obsolete option `nixvim.helpers' is used. It was renamed to `lib.nixvim'.
2024-07-24 22:02:56 +01:00
Stanislav Asunkin
0ac10f6776 modules/performance: refactor after code review 2024-07-24 16:50:50 +02:00
Stanislav Asunkin
6e2ec5ed02 modules/performance: add plenary filetypes directory to default pathsToLink
plenary.nvim is often pulled as a dependency of other plugins.
It has filetype definitions in `data/plenary/filetypes` directory.
Even though I don't think there are plugins using it instead of
vim.filetype, but it should be no harm to add this directory by default.
2024-07-24 16:50:50 +02:00
Stanislav Asunkin
532b0044d0 plugins/telescope: add compatibility with combinePlugins 2024-07-24 16:50:50 +02:00
Stanislav Asunkin
5c75cfac13 plugins/telescope/fzy-native: add compatibility with combinePlugins 2024-07-24 16:50:50 +02:00
Stanislav Asunkin
61caa52fc5 plugins/telescope/fzf-native: add compatibility with combinePlugins 2024-07-24 16:50:50 +02:00
Stanislav Asunkin
ce93f1724f plugins/treesitter: add workaround for performance.combinePlugins 2024-07-24 16:50:50 +02:00
Stanislav Asunkin
0c32f5bda5 modules/performance: don't combine filesPlugin into plugin pack
It's expected that user may want to override some runtime files in its
own config directory. Do not combine it into plugin pack to avoid
collisions.
2024-07-24 16:50:50 +02:00
Stanislav Asunkin
e65c9590d0 modules/performance: add combinePlugins.standalonePlugins option 2024-07-24 16:50:50 +02:00
Stanislav Asunkin
d6bebcefa3 modules/performance: handle plugin configs when combining plugins 2024-07-24 16:50:50 +02:00
Stanislav Asunkin
27201addd7 modules/performance: handle optional plugins when combining plugins 2024-07-24 16:50:50 +02:00
Stanislav Asunkin
f900dcd6aa modules/performance: handle python3 dependencies when combining plugins 2024-07-24 16:50:50 +02:00
Stanislav Asunkin
fdb3950c59 modules/performance: add an option to combine plugins to a single plugin pack 2024-07-24 16:50:50 +02:00
Stanislav Asunkin
119f12db27 modules/output: avoid using global with lib; 2024-07-24 16:50:50 +02:00
Nathan Felber
6387299364
plugins/cmake-tools: init 2024-07-24 10:15:51 +01:00
Nathan Felber
a1bd7aebc6
maintainers: add NathanFelber 2024-07-24 10:15:51 +01:00
Antonín Říha
ab67ee7e8b plugins/lsp/openscad-lsp: init
Signed-off-by: Antonín Říha <antonin.riha@protonmail.com>
2024-07-24 00:04:05 +02:00
Gaetan Lepage
10cc58d497 plugins/lsp/pylsp: propagatedBuildInputs -> dependencies 2024-07-23 23:21:01 +02:00
Gaetan Lepage
3b6d403f39 plugins/better-escape: switch to mkNeovimPlugin + update 2024-07-23 23:21:01 +02:00
github-actions[bot]
95dade6292 flake.lock: Update
Flake lock file updates:

• Updated input 'git-hooks':
    'github:cachix/git-hooks.nix/8d6a17d0cdf411c55f12602624df6368ad86fac1' (2024-07-09)
  → 'github:cachix/git-hooks.nix/f451c19376071a90d8c58ab1a953c6e9840527fd' (2024-07-15)
• Updated input 'home-manager':
    'github:nix-community/home-manager/90ae324e2c56af10f20549ab72014804a3064c7f' (2024-07-11)
  → 'github:nix-community/home-manager/afd2021bedff2de92dfce0e257a3d03ae65c603d' (2024-07-16)
• Updated input 'nix-darwin':
    'github:lnl7/nix-darwin/5ce8503cf402cf76b203eba4b7e402bea8e44abc' (2024-07-13)
  → 'github:lnl7/nix-darwin/a3e4a7b8ffc08c7dc1973822a77ad432e1ec3dec' (2024-07-18)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/7e7c39ea35c5cdd002cd4588b03a3fb9ece6fad9' (2024-07-12)
  → 'github:NixOS/nixpkgs/ad0b5eed1b6031efaed382844806550c3dcb4206' (2024-07-16)
• Updated input 'treefmt-nix':
    'github:numtide/treefmt-nix/5b002f8a53ed04c1a4177e7b00809d57bd2c696f' (2024-07-12)
  → 'github:numtide/treefmt-nix/50104496fb55c9140501ea80d183f3223d13ff65' (2024-07-19)
2024-07-23 23:21:01 +02:00