Folke Lemaitre
|
199e100464
|
fix(plugin): delay check if plugin ref exists until after loading all plugins. Fixes #833
|
2023-05-27 08:45:14 +02:00 |
Folke Lemaitre
|
c325c50ba4
|
fix(plugin): check that import is a string. See #825
|
2023-05-25 08:26:55 +02:00 |
Folke Lemaitre
|
32170a8891
|
fix(plugin): fix url based plugin name and added extra safety checks. Fixes #824
|
2023-05-25 08:10:08 +02:00 |
Folke Lemaitre
|
57062f3a09
|
feat(plugin): trigger LazyPlugins after loading plugin specs
|
2023-05-25 08:09:19 +02:00 |
Folke Lemaitre
|
b0aa5348d8
|
docs: added docs on optional
|
2023-05-23 08:57:57 +02:00 |
Folke Lemaitre
|
9177778891
|
fix(plugin): rename weak => optional. Makes more sense :)
|
2023-05-22 14:53:36 +02:00 |
Folke Lemaitre
|
af39d61d3f
|
fix: better weak handling
|
2023-05-22 14:31:28 +02:00 |
Folke Lemaitre
|
8564f6d22b
|
feat(plugin): added support for `weak` specs. They will not be included in the final spec if not specified somwhere else
|
2023-05-22 14:24:18 +02:00 |
Fraser Hanson
|
d2d67b5a0b
|
fix(config): use url_format for the lazy plugin (#792)
Co-authored-by: Fraser Hanson <fraser.hanson@netapp.com>
|
2023-05-10 17:20:06 +02:00 |
Folke Lemaitre
|
dff6f07290
|
style(plugins): more descriptive error when a spec module didnt return any specs
|
2023-04-22 14:10:06 +02:00 |
Folke Lemaitre
|
ea1a044e3c
|
feat(cache): use `vim.cache` everywhere. poly-fill when needed
|
2023-03-14 19:45:22 +01:00 |
Folke Lemaitre
|
1a34636094
|
refactor(cache): documented the cache in preparation to upstream
|
2023-03-14 12:56:58 +01:00 |
Folke Lemaitre
|
355312eb51
|
fix(plugin): properly pass is_list for recursively merging props
|
2023-03-07 19:11:33 +01:00 |
Folke Lemaitre
|
77223786aa
|
fix(git): properly deal with failed clones. Fixes #571
|
2023-02-28 11:51:16 +01:00 |
Folke Lemaitre
|
ff76e58961
|
fix(spec): make sure imported specs are sorted alphabetically
|
2023-02-17 13:58:23 +01:00 |
Null Chilly
|
772d8888cc
|
feat(dev): optionally fallback to git when local plugin doesn't exist (#446)
* feat: fallback to git when local plugin isn't found
* feat(option): fallback to git when local plugin doesn't exist
|
2023-01-24 22:55:34 +01:00 |
Folke Lemaitre
|
c389ad552b
|
fix(spec): dont complain about an invalid short url, when a full url is set. Fixes #421
|
2023-01-18 08:39:02 +01:00 |
Folke Lemaitre
|
1b2a6f631c
|
perf(plugin): de-duplicate dependencies, keys, ft, event and cmd
|
2023-01-17 14:00:42 +01:00 |
Folke Lemaitre
|
da4e8cc245
|
fix(spec): dont copy dep and super state from existing plugins
|
2023-01-17 14:00:42 +01:00 |
Folke Lemaitre
|
baaf8ddfff
|
fix(spec): when overriding a spec by name that has not been imported yet, show an error when needed
|
2023-01-17 14:00:42 +01:00 |
Folke Lemaitre
|
0cbd91d2cd
|
feat(spec): you can now override specs using only the plugin name instead of the short url
|
2023-01-16 17:03:43 +01:00 |
Folke Lemaitre
|
984008f7ae
|
refactor: add lazy.nvim with full url. Fixes #396
|
2023-01-15 20:04:52 +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
|
e1cd9cd0ad
|
fix(loader): prevent loading plugins when loading specs
|
2023-01-11 23:08:07 +01:00 |
Folke Lemaitre
|
ad7aafb257
|
fix(spec): don't import specs more than once
|
2023-01-10 09:28:59 +01:00 |
Folke Lemaitre
|
d3a963d51c
|
refactor(util): improved notify functions
|
2023-01-10 09:28:59 +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
|
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
|
c313249271
|
feat(spec): show error when loading two specs with the same name and a different url. Fixes #337
|
2023-01-07 09:37:03 +01:00 |
Folke Lemaitre
|
dea43afc4a
|
feat(spec): allow import property on a plugin spec
|
2023-01-04 17:50:57 +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
|
bce0c6e327
|
perf(spec): more efficient merging of specs and added `Plugin._.super`
|
2023-01-04 09:35:00 +01:00 |
Folke Lemaitre
|
c85f929bd9
|
fix(install): dont try re-installing failed missing plugins during startup. Fixes #303
|
2023-01-03 22:50:14 +01:00 |
Folke Lemaitre
|
1fd80159d0
|
fix(spec): show error when users load a plugins module called `lazy`
|
2023-01-03 22:49:04 +01:00 |
Folke Lemaitre
|
299ffdfd53
|
feat(ui): added section with disabled plugins
|
2023-01-03 10:43:10 +01:00 |
Folke Lemaitre
|
05aec48968
|
feat(spec): allow overriding `Plugin.enabled`
|
2023-01-03 10:34:53 +01:00 |
Folke Lemaitre
|
ce3e1fc560
|
fix(plugin): only get plugin from spec when needed.
|
2023-01-02 15:27:01 +01:00 |
Folke Lemaitre
|
69121c7721
|
tests: fixed tests
|
2023-01-02 14:35:36 +01:00 |
Folke Lemaitre
|
bc4133cb3e
|
feat(spec): show spec warnings in checkhealth only
|
2023-01-02 12:53:35 +01:00 |
Folke Lemaitre
|
2d06faa941
|
feat(loader): incrementally install missing plugins and rebuild spec, so imported specs from plugins work as expected
|
2023-01-02 10:08:45 +01:00 |
Folke Lemaitre
|
919b7f5de3
|
feat(spec): added `import` to import other plugin modules
|
2023-01-02 09:44:28 +01:00 |
Folke Lemaitre
|
313015fdb4
|
feat(spec): allow mergig of config, priority and dependencies
|
2023-01-02 09:41:09 +01:00 |
Folke Lemaitre
|
7d755987ba
|
fix(spec): normalize deps before adding spec to make sure merging works as expected
|
2023-01-02 09:40:19 +01:00 |
Folke Lemaitre
|
39b66027a5
|
feat(spec): added support for importing multiple spec modules with `import = "foobar"`
|
2023-01-01 21:07:05 +01:00 |
Folke Lemaitre
|
32511a1214
|
feat(health): added spec parsing errors to `:checkhealth`
|
2022-12-30 11:52:20 +01:00 |
Folke Lemaitre
|
c8553ca44f
|
feat(plugin): allow some `lazy.nvim` spec props to be set by the user
|
2022-12-29 00:49:38 +01:00 |
Folke Lemaitre
|
34977c2b80
|
perf: move autoloader to cache and always use lazy's modname path resolver which is much faster
|
2022-12-28 17:58:24 +01:00 |
Folke Lemaitre
|
38a9541939
|
style(plugin): improved types a bit, but sumneko still can't handle them since they're recursive
|
2022-12-27 08:30:28 +01:00 |
Folke Lemaitre
|
8a3152de93
|
fix(plugin): find plugins with `/lua/` instead of `/lua`
|
2022-12-27 07:44:28 +01:00 |
Folke Lemaitre
|
aed842ae1e
|
feat(plugin): added `Plugin.cond`. Fixes #89, #168
|
2022-12-26 09:37:30 +01:00 |
Folke Lemaitre
|
2f5c1be525
|
fix(ui): get plugin details from the correct plugin in case it was deleted
|
2022-12-26 09:37:30 +01:00 |
Folke Lemaitre
|
9110371120
|
feat(build): build can now be a list to execute multiple build commands. Fixes #143
|
2022-12-24 11:30:15 +01:00 |
Folke Lemaitre
|
81126403a8
|
feat!: `init()` no longer implies lazy-loading. Add `lazy=false` for affected plugins
|
2022-12-22 23:08:12 +01:00 |
Folke Lemaitre
|
2756a6f756
|
fix!: run `init()` before loading start plugins. Fixes #107
|
2022-12-22 18:47:34 +01:00 |
Folke Lemaitre
|
4bf771a6b2
|
feat(spec): allow using plugin names in dependencies
|
2022-12-22 17:25:12 +01:00 |
Folke Lemaitre
|
44f80a7f5d
|
feat(plugin): allow plugin files only without a main plugin module. Fixes #53
|
2022-12-21 09:03:47 +01:00 |
Folke Lemaitre
|
b193f96f7b
|
fix(spec): only process a spec once
|
2022-12-20 23:14:49 +01:00 |
Folke Lemaitre
|
ffabe91b2d
|
fix(cache): if mod is loaded already in the loader, then return that
|
2022-12-20 16:41:11 +01:00 |
Folke Lemaitre
|
6e32759c5d
|
fix: deepcopy lazyspec before processing
|
2022-12-20 14:01:59 +01:00 |
Folke Lemaitre
|
f78d8bf376
|
fix: show error when merging, but continue
|
2022-12-20 13:36:18 +01:00 |
Folke Lemaitre
|
bb1c2f4c3e
|
feat: added support for Windows
|
2022-12-20 07:19:55 +01:00 |
Folke Lemaitre
|
a18988372f
|
fix: check for installed plugins with plain find
|
2022-12-20 07:15:26 +01:00 |
Folke Lemaitre
|
1efa710210
|
feat: added `module=false` to skip auto-loading of plugins on `require`
|
2022-12-19 14:56:48 +01:00 |
Folke Lemaitre
|
23984dd1f3
|
fix: set correct dir for lazy plugin
|
2022-12-17 12:52:30 +01:00 |
Folke Lemaitre
|
060cf23aca
|
perf: when reloading plugin specs always use cache
|
2022-12-16 15:08:09 +01:00 |
Folke Lemaitre
|
f23a6eef8c
|
perf: prevent string.match to find plugin name from a modpath
|
2022-12-16 13:06:30 +01:00 |
Folke Lemaitre
|
ecf03a6892
|
refactor: simplified handler code
|
2022-12-16 12:53:08 +01:00 |
Folke Lemaitre
|
b8fa6f960f
|
fix: add lazy.nvim with dev=false to prevent using the dev version for myself
|
2022-12-15 23:23:45 +01:00 |
Folke Lemaitre
|
ccdf65b5b8
|
fix: `Plugin.init` implies lazy-loading
|
2022-12-15 00:23:09 +01:00 |
Folke Lemaitre
|
12ded3f422
|
fix: replace ~ by HOME for Plugin.dir
|
2022-12-13 10:29:40 +01:00 |
Folke Lemaitre
|
0625493aad
|
feat!: local plugins now always need to set `Plugin.dir`
|
2022-12-13 10:10:17 +01:00 |
Folke Lemaitre
|
4cfe0b5315
|
refactor: `Plugin.uri` => `Plugin.url`
|
2022-12-13 10:10:17 +01:00 |
Folke Lemaitre
|
43b303bd8f
|
fix: dev plugins with dev=false should be configured as remote
|
2022-12-13 10:10:17 +01:00 |
Folke Lemaitre
|
0393e524e5
|
refactor: moved plugin handler types to plugin
|
2022-12-06 10:36:31 +01:00 |
Folke Lemaitre
|
65cd28e613
|
feat(ui): added update checker
|
2022-12-05 20:49:23 +01:00 |
Folke Lemaitre
|
3f517abfa4
|
feat: cleanup keys/cmd handlers when loading a plugin
|
2022-12-03 23:42:05 +01:00 |
Folke Lemaitre
|
dbe2d0942a
|
feat: plugins no longer need to be installed under site/pack/*/opt
|
2022-12-03 15:48:06 +01:00 |
Folke Lemaitre
|
37c7366ab0
|
feat: symlinking local plugins is no longer needed
|
2022-12-03 15:31:21 +01:00 |
Folke Lemaitre
|
7b272b6ed6
|
feat: automatically detect config module changes in or oustside Neovim and reload
|
2022-12-03 00:12:49 +01:00 |
Folke Lemaitre
|
fbfa790d46
|
refactor: `Plugin.local` => `Plugin.dev`
|
2022-12-02 22:48:47 +01:00 |
Folke Lemaitre
|
0ba218a065
|
feat: `Plugin.local` to use a local project instead of fetching remote
|
2022-12-02 19:17:38 +01:00 |
Folke Lemaitre
|
756b4849d9
|
refactor: Plugin.dep => Plugin._.dep
|
2022-12-02 17:09:40 +01:00 |
Folke Lemaitre
|
330dbe7203
|
feat: `Plugin.specs()` can now reload and keeps existing state
|
2022-12-02 17:02:25 +01:00 |
Folke Lemaitre
|
575421b3fb
|
feat!: plugins are now autmatically loaded on require. `module=` no longer needed!
|
2022-12-02 09:25:30 +01:00 |
Folke Lemaitre
|
d46bc7795c
|
fix: always overwrite any plugin spec for lazy.nvim to manage itself
|
2022-12-02 09:25:30 +01:00 |
Folke Lemaitre
|
714bc0a136
|
feat(ui): improvements to profiling and rendering of loaded reasons
|
2022-12-02 09:25:30 +01:00 |
Folke Lemaitre
|
af8b8e128e
|
feat: lazy setup with either a plugins module, or a plugins spec
|
2022-12-01 13:34:01 +01:00 |
Folke Lemaitre
|
4653119625
|
perf: reset packpath to only include the lazy package. Improved my startup time by 2ms
|
2022-12-01 11:23:39 +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
|
5e0662727d
|
style: fixed some selene errors/warnings
|
2022-12-01 11:23:39 +01:00 |
Folke Lemaitre
|
042aaa4f87
|
feat!: renamed Plugin.run => Plugin.build
|
2022-12-01 07:43:34 +01:00 |
Folke Lemaitre
|
334f32e595
|
refactor: renamed Config.opt => Config.defaults.opt
|
2022-11-30 23:15:26 +01:00 |
Folke Lemaitre
|
5d81c5062b
|
refactor: renamed plugins_local to dev
|
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
|
812bb3c8b7
|
perf: dont loop over handlers to determine if a plugin should be opt=true
|
2022-11-29 20:26:37 +01:00 |
Folke Lemaitre
|
69cdb718f8
|
refactor: rename Plugin.lock => Plugin.pin to prevent confusion with the lockfile
|
2022-11-29 20:19:07 +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 |