Commit graph

1873 commits

Author SHA1 Message Date
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
traxys
26b9647ed7 dev: Introduce an editorconfig file for shfmt
The shfmt default is tabs, this allows to match the treefmt default for
shfmt launched from outside nix, like from efm-lang-server within
neovim.
2024-07-23 22:07:43 +02:00
traxys
53f76f76b0 dev: Re-evaluate direnv when a flake-module changes 2024-07-23 22:04:28 +02:00
traxys
f1eaf5b617 dev: Allow to pass arguments to nix in tests
This can allow to pass --show-trace for example
2024-07-23 22:03:42 +02:00
traxys
1c75b414cb dev: Allow to choose the system in tests
This is done through the -s/--system <system> option
2024-07-23 21:58:23 +02:00
Gaetan Lepage
901e8760d0 flake-modules/dev: format launch-test.sh 2024-07-22 23:25:28 +02:00
Stanislav Asunkin
9317537848 modules: avoid setting empty strings to extraConfig* options
Problem:  Some modules are setting empty strings to extraConfig* options
          with the intention to not generate any config. But empty
          strings are also values, so they are still concatenated in the
          final value of extraConfig* options. This results in a
          multiple empty strings in extraConfigs.

Solution: Avoid using optionalString when setting values to extraConfig*
          options. Use mkIf instead.

          This commit also fixes mkIf condition in autocmd module.

          `mkNeovimPlugin` is a special case. To avoid evaluating
          caller's arguments mkMerge/optionalAttrs pattern is used
          instead.
2024-07-22 23:18:53 +02:00
Stanislav Asunkin
299d0406bb modules/output: refactor config generation
The motivation for this change was to avoid generating empty
config sections like

    vim.cmd([[

    ]])

To make a config generation cleaner several helper functions introduced:

* `hasContent` have been moved to helpers
* `concatNonEmptyLines` joins strings (which has content) separated with
  newlines
* `wrapVimscriptForLua` wraps a lua string for using in Vimscript, but
  only if the string has content, otherwise empty string is returned
* `wrapLuaForVimscript` wraps Vimscript for using in lua, but only if
  the string has content, otherwise empty string is returned

Added tests:

* testing that all possible config sections are present in the final
  generated config
* testing that the config files generated by empty `files` definitions
  don't have any content in it
2024-07-22 23:18:53 +02:00
Matt Sturgeon
6dc0bda459
lib/to-lua: handle derivations as path strings
Fixes #1888
2024-07-22 13:24:16 +01:00
Stanislav Asunkin
34aa3e00e7 modules/filetype: ensure that the module does not set empty settings
When setting any filetype suboption to null (or anything else guarded by
mkIf) it's value becomes:

    { extension = null; filename = null; pattern = null; }

Account for that case in mkIf condition so that the option would not
produce empty filetype definition.
2024-07-22 11:33:52 +03:00
Sorin Iclanzan
d2f733efb4 systemModules should be systemPackages in README example 2024-07-21 20:06:19 +00:00
Stanislav Asunkin
06261fc472 modules/lsp/servers/vls: do not add filetype extension if not enabled 2024-07-21 20:17:03 +02:00
Stanislav Asunkin
8eb5763bbb modules/lua-loader: make enable option nullable
This avoids having the option always "defined".

This also avoids luaLoader configuration in extra files by default.
Earlier `vim.loader.disable()` was always added to configs produced
by `files` option, effectively disabling luaLoader even if it was
explicitly enabled in a top-level configuration.
2024-07-21 17:11:50 +03:00
traxys
7908729711 dev: Make the tests command able to select which test to launch
The `tests` command can either launch all tests (without any arguments),
a specific test with `-t/--test` or choose a test with `-i/--interactive`
2024-07-21 15:17:17 +02:00
traxys
b1576362a7 tests: Remove the test link farm
Fixes #1878
2024-07-21 15:17:17 +02:00
traxys
e80a8874ac docs: Add a section of *Package options
Documents the fix for #1282

Closes #1282
2024-07-19 22:46:32 +02:00
Sandro Jäckel
8a4dc239d6 plugins/{lsp,none-ls}: remove package aliases 2024-07-19 18:39:01 +02:00
Stanislav Asunkin
c9a6912be5 modules/files: fix creating configs of vim type 2024-07-19 14:45:34 +03:00
traxys
daa94bd6c2 tests: Disable coq-nvim defaults on x86_64 darwin 2024-07-19 11:11:17 +02:00