Folke Lemaitre
75ffe56f70
feat: rewrite of spec resolving
2024-06-24 17:15:10 +02:00
Folke Lemaitre
8d35e60eeb
test: fix spec tests
2024-06-24 17:15:10 +02:00
Folke Lemaitre
8eba74c3fc
feat: packspec
2024-06-24 17:15:10 +02:00
Folke Lemaitre
89ddc59d19
Revert "feat(util): opts merging now supports lists extending by tagging a table with __extend = true. Use with care"
...
This reverts commit 74fd3611f2
.
2024-06-06 23:27:29 +02:00
Folke Lemaitre
74fd3611f2
feat(util): opts merging now supports lists extending by tagging a table with __extend = true. Use with care
2024-06-06 23:23:52 +02:00
Vlad
784a726f2e
style: Set vim.opt.rtp type to vim.Option ( #1498 )
...
## Details
There is an issue in the `neodev` repo that mentions this:
[#193 ](https://github.com/folke/neodev.nvim/issues/193 )
I think the problem comes from a combination of 2 things:
1. As mentioned in the [Reddit post](https://www.reddit.com/r/neovim/comments/1cvrilk/diagnosticwarning_after_upgrade_to_neovim_010/ ):
`Nvim never had Lua type annotations for vim.opt`.
2. Setting `vim.opt.rtp` anywhere in the config will cause Lua-LS to infer the
type for `vim.opt.rtp`. While users are unlikely to do this it does happen
in `lazy.nvim`, in places shown in this PR.
2024-06-04 06:58:19 +02:00
Folke Lemaitre
9e157df077
feat: refactor all vim.loop -> vim.uv and add a shim when needed
2024-03-22 08:58:36 +01:00
Folke Lemaitre
c059eece0c
refactor: Handler.load => Handler.resolve
2023-10-17 17:43:37 +02:00
Folke Lemaitre
2f169e74d4
refactor(handlers): lazy resolving of plugin handlers ( #1126 )
...
* refactor(handlers): lazy resolving of plugin handlers
* test: fixed tests
2023-10-16 22:34:44 +02:00
Folke Lemaitre
1ea2eaefa6
test: fixed tests for plugin spec
2023-10-16 15:11:01 +02:00
Folke Lemaitre
3dc413d6fd
fix(plugin): improved dir/dev merging. Fixes #993
2023-10-15 08:36:15 +02:00
Folke Lemaitre
70f764bf73
fix(util): Util.merge now skips nil args
2023-10-13 11:37:57 +02:00
Folke Lemaitre
22bf6ae04b
style: sort requires
2023-10-09 11:25:42 +02:00
Folke Lemaitre
f3c7169dd6
feat(plugin): dont include plugin spec fragments for disabled or optional plugins ( #1058 )
...
* feat(plugin): dont include plugin spec fragments for disabled or optional plugins
* test: fixed tests
* fix(plugin): calculate handlers after disabling plugins
* fix(plugin): clear Plugin._.super when rebuilding
* fix(ui): dont process handlers for disabled plugins
* test: added tests for disabling fragments
* fix(plugin): ignore any installed deps of a disabled conditional plugin. Fixes #1053
2023-09-29 16:11:56 +02:00
abeldekat
e7334d8db5
feat(plugins): Given an optional plugin, conditionally discard deps ( #947 )
...
* deps_of_all_optional: First, refactor the code responsible for disabling unneeded deps to be more generic
* deps_of_all_optional: Second, also disable unneeded deps from plugins marked as all optional
* deps_of_all_optional: add tests proving unneeded optional deps are now also discarded
* deps_of_all_optional: forgot return type
---------
Co-authored-by: abeldekat <abel@nomail.com>
2023-07-22 10:20:52 +02:00
Folke Lemaitre
045f23eb35
test: fixed tests
2023-07-06 15:38:21 +02:00
Folke Lemaitre
3c14a0a279
test: fix tests
2023-04-16 07:39:39 +02:00
Folke Lemaitre
462633bae1
perf: new file-based cache that ensures correct rtp order ( #532 )
...
* perf: new file-based cache that ensures rtp is alweays correct and will cache all files, including those after startup
* refactor: new cache
* test: fix tests
* fix(cache): cache file names on Windows
* feat(cache): allow to disable the cache
* docs: updated cache settings
2023-02-13 12:01:56 +01:00
Folke Lemaitre
f3695bc5be
test: fixed tests for `Util.merge`
2023-01-12 13:16:23 +01:00
Folke Lemaitre
3f3d9df324
test: fixed tests for `Plugin.opts`
2023-01-12 13:13:45 +01:00
Folke Lemaitre
2128ca90fb
feat(spec): event, keys, ft and cmd can now also be a function that returns the values to be used
2023-01-12 13:08:43 +01:00
Folke Lemaitre
b28c6b9000
feat(util): `Util.merge` now support advanced merging strategies. Docs coming soon
2023-01-10 07:32:28 +01:00
Folke Lemaitre
4304035ef4
feat(spec): allow git@ and http urls in `Plugin[1]` without `url=`. Fixes #357
2023-01-09 13:25:50 +01:00
Folke Lemaitre
e77be3cf3b
fix(spec): `Plugin.opts` is now always a table. Fixes #351
2023-01-08 18:45:40 +01:00
Folke Lemaitre
7260a2b28b
feat(spec)!: setting a table to `Plugin.config` is now deprecated. Please use `Plugin.opts` instead. (backward compatible for now)
2023-01-08 15:01:58 +01:00
Folke Lemaitre
a39fa0f0ce
feat(git): added fast `Git.get_origin` and `Git.get_config`
2023-01-08 08:05:44 +01:00
Folke Lemaitre
ad00eb1be2
test: fixed helper function to delete test directory
2023-01-07 22:52:49 +01:00
Folke Lemaitre
d34c85d580
fix(cache): check that modpaths still exist when finding mod root
2023-01-07 22:24:53 +01:00
Folke Lemaitre
81cb352fe6
feat(spec): spec merging now properly works with `Plugin.enabled`
2023-01-04 10:36:51 +01:00
Folke Lemaitre
953c2791d8
fix(util): made `Util.lsmod` more robust. See #298
2023-01-03 22:31:18 +01:00
Folke Lemaitre
05aec48968
feat(spec): allow overriding `Plugin.enabled`
2023-01-03 10:34:53 +01:00
Folke Lemaitre
69121c7721
tests: fixed tests
2023-01-02 14:35:36 +01:00
Folke Lemaitre
51c23b661e
fix(spec): allow a spec module to be on the rtp and not only in config
2023-01-01 20:31:34 +01:00
Folke Lemaitre
4bf771a6b2
feat(spec): allow using plugin names in dependencies
2022-12-22 17:25:12 +01:00
Folke Lemaitre
50ba619d9e
test: fix tests
2022-12-20 13:40:09 +01:00
Folke Lemaitre
cb87aa3893
ci: run tests on linux only for nw
2022-12-20 08:56:59 +01:00
Folke Lemaitre
65675808d1
chore: todo
2022-12-19 13:37:14 +01:00
Folke Lemaitre
1375409642
test: fixed tests
2022-12-13 10:29:48 +01:00
Folke Lemaitre
4cfe0b5315
refactor: `Plugin.uri` => `Plugin.url`
2022-12-13 10:10:17 +01:00
Folke Lemaitre
756b4849d9
refactor: Plugin.dep => Plugin._.dep
2022-12-02 17:09:40 +01:00
Folke Lemaitre
45e18c977d
test: fix tests with `module=`
2022-12-02 09:25:30 +01:00
Folke Lemaitre
ac9e5401dc
test: test XDG paths for tests and added a test that checks if they are setup correctly
2022-12-02 09:25:30 +01:00
Folke Lemaitre
5134e797f3
feat!: all plugins are now opt. Plugin.opt => Plugin.lazy
2022-12-01 11:23:39 +01:00
Folke Lemaitre
a87b6e1005
style: cleanup
2022-11-30 23:15:26 +01:00
Folke Lemaitre
4438faf9a9
perf: removed partial spec caching. not worth the tiny performance boost
2022-11-30 00:19:08 +01:00
Folke Lemaitre
ca78dd77ac
fix: make sure Plugin.opt is always a boolean
2022-11-29 20:36:06 +01:00
Folke Lemaitre
b796abcc33
feat: lazy handler implies opt=true
2022-11-29 19:58:31 +01:00
Folke Lemaitre
908b9adf9c
feat: dependencies are opt=true by default if they only appear as a dep
2022-11-29 19:51:53 +01:00
Folke Lemaitre
0233460d54
fix: support local files as plugin spec
2022-11-29 14:35:48 +01:00