Commit Graph

126 Commits

Author SHA1 Message Date
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
Folke Lemaitre 0233460d54
fix: support local files as plugin spec 2022-11-29 14:35:48 +01:00
Folke Lemaitre 7328e290ba
refactor: Plugin.requires => Plugin.dependencies 2022-11-29 14:27:04 +01:00
Folke Lemaitre 0774f1bc25
feat: added support for Plugin.lock (wont update) 2022-11-29 12:36:07 +01:00
Folke Lemaitre 4384d0e6d9
feat: added lockfile support 2022-11-29 00:15:13 +01:00
Folke Lemaitre 2fa5be3779
refactor(config): package_path => packpath 2022-11-29 00:14:23 +01:00
Folke Lemaitre fb84c081b0
feat: lots of improvements to pipeline runner and converted all tasks to new system 2022-11-28 22:03:44 +01:00
Folke Lemaitre 4de10f9578
fix: correctly handle changes from local to remote plugin 2022-11-28 13:18:31 +01:00
Folke Lemaitre 28af1e1ac3
refactor: moved all plugin state to Plugin._ 2022-11-28 11:19:50 +01:00
Folke Lemaitre 9179c0a14d
style: cleanup & annotations 2022-11-28 07:36:32 +01:00
Folke Lemaitre 42c2fb42c8
perf: cache handler groups 2022-11-26 22:04:32 +01:00
Folke Lemaitre 05a0da532b
refactor: move handlers to its own file 2022-11-26 21:29:40 +01:00
Folke Lemaitre 870d8924f7
fix: recalculate loaders on config file change 2022-11-26 19:33:38 +01:00
Folke Lemaitre 8790070871
perf: further optims to loading and caching specs. dont cache specs with plugin that have init or in start with config 2022-11-26 13:58:01 +01:00
Folke Lemaitre 3e8fbaffba
refactor: merge plugin & state in one file 2022-11-25 22:48:17 +01:00