Commit Graph

112 Commits

Author SHA1 Message Date
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 b23a5dc8d5
fix(loader): setup handlers after installing missing plugins. Fixes #272 2023-01-01 18:45:20 +01:00
Folke Lemaitre 730bb84364
perf(loader): re-use topmod cache to find `setup()` module 2022-12-30 20:14:46 +01:00
Folke Lemaitre 81ee02b8f6
feat(startup): missing plugins will now install the versions in the lockfile if available. Fixes #138 2022-12-30 09:17:53 +01:00
Folke Lemaitre a4bd4dc4a7
fix(loader): normalize rtp paths on windows #230 2022-12-29 23:06:51 +01:00
Folke Lemaitre 9f3fb38402
fix(ftdetect): source ftdetect files only once. Fixes #235 2022-12-29 22:40:57 +01:00
Folke Lemaitre 3a1a10cd75
fix(loader): implemented correct adding to rtp. fix #230, fix #226 2022-12-29 16:03:23 +01:00
Folke Lemaitre c7122d64cd
fix(loader): temporary fix for Vimtex and others. See #230 2022-12-29 10:51:25 +01:00
Folke Lemaitre 4e3a973f85
fix(rtp): correct order of adding to rtp. Fixes #226 2022-12-29 08:21:27 +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 956164d27d
fix(loader): show proper error message when trying to load a plugin that is not installed. Fixes #201. Fixes #202 2022-12-28 17:58:24 +01:00
Folke Lemaitre 5f423b29c6
fix(loader): when `config=true`, pass `nil` to `setup()`. Fixes #208 2022-12-28 17:58:24 +01:00
Folke Lemaitre edf8310288
feat(plugin): added `Plugin.priority` for start plugins 2022-12-27 17:24:47 +01:00
Folke Lemaitre b6ebed5888
fix(plugin): pass plugin as arg to config/init/build 2022-12-26 22:59:07 +01:00
Folke Lemaitre aed842ae1e
feat(plugin): added `Plugin.cond`. Fixes #89, #168 2022-12-26 09:37:30 +01:00
Folke Lemaitre 90952239d2
fix(loader): add proper error message when trying to load a plugin that doesn't exist. Fixes #160 2022-12-25 14:06:53 +01:00
Folke Lemaitre 7b9b476a62
fix(install): make sure to setup loaders before attempting install so colorscheme can load. Fixes #122 2022-12-23 07:48:45 +01:00
Folke Lemaitre 2a7b0047dd
feat(spec): `config` can be `true` or a `table` that will be passed to `require("plugin").setup(config)` 2022-12-22 22:48:22 +01:00
Folke Lemaitre 2756a6f756
fix!: run `init()` before loading start plugins. Fixes #107 2022-12-22 18:47:34 +01:00
Folke Lemaitre 07b467738d
feat(loader): automatically lazy-load colorschemes 2022-12-22 13:49:17 +01:00
Folke Lemaitre b7c489b08f
fix(loader): lua modules can be links instead of files. Fixes #66 2022-12-21 16:28:01 +01:00
Folke Lemaitre ff24f493ee
fix(loader): source rtp `/plugin` files after loading start plugins. Fixes 2022-12-21 14:34:31 +01:00
Folke Lemaitre 3606d62918
fix: add after directories to rtp to make after/ftplugin and others work. Fixes #47 2022-12-20 23:35:06 +01:00
Folke Lemaitre 7be46bceef
style: removed unused requires 2022-12-20 22:32:16 +01:00
Folke Lemaitre ffcd0ab7bb
fix(loader): source filetype.lua before plugins. Fixes #35 2022-12-20 20:32:37 +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 32f2b71ff8
fix(cache): do a fast check to see if a cached modpath is still valid. find it again otherwise 2022-12-19 12:21:20 +01:00
Folke Lemaitre a46c0c04f1
feat: never source `packer_compiled.lua` 2022-12-17 17:35:45 +01:00
Folke Lemaitre 5c0c381b56
fix(loader): runtime files are now sourced alphabetically per directory 2022-12-17 15:56:47 +01:00
Folke Lemaitre eeb06a5a50
feat(loader): added error handler to sourcing of runtime files 2022-12-17 15:56:47 +01:00
Folke Lemaitre e897524b1f
refactor: split autoload in autoload and check_load 2022-12-16 13:07:16 +01:00
Folke Lemaitre 7134417e89
fix: use initial rtp for rtp plugin after files and use loaded plugins for their after files 2022-12-15 23:23:18 +01:00
Folke Lemaitre ec2f432a84
feat!: lazy now handles the full startup sequence (`vim.go.loadplugins=false`) 2022-12-14 21:03:53 +01:00
Folke Lemaitre be509c01f9
perf: added profiling for sourcing of runtime files 2022-12-05 23:14:04 +01:00
Folke Lemaitre b8d8648d28
refactor: moved handler to separate modules 2022-12-05 14:47:30 +01:00
Folke Lemaitre 3f517abfa4
feat: cleanup keys/cmd handlers when loading a plugin 2022-12-03 23:42:05 +01:00
Folke Lemaitre c98e722fa4
fix: always add config/after to rtp 2022-12-03 21:08:35 +01:00
Folke Lemaitre 3ed24baeb0
fix: source plugin files for plugins that want to run a build script during startup 2022-12-03 17:46:34 +01:00
Folke Lemaitre 93d30722a0
fix: add plugin after dir to rtp for start plugins so it gets picked up during startup 2022-12-03 17:46:34 +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 ec858db225
fix: temporary colorscheme should only load when installing 2022-12-02 22:45:33 +01:00
Folke Lemaitre 7ec65e4cd9
feat: temporary colorscheme to use during install during startup 2022-12-02 19:18:10 +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 e22e8e4506
style: added more comments to init 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 5134e797f3
feat!: all plugins are now opt. Plugin.opt => Plugin.lazy 2022-12-01 11:23:39 +01:00
Folke Lemaitre 39c7e21c5f
refactor: Loader.source_runtime 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 7328e290ba
refactor: Plugin.requires => Plugin.dependencies 2022-11-29 14:27:04 +01:00
Folke Lemaitre 20ff5fa218
feat: added profiler view 2022-11-29 12:02:38 +01:00
Folke Lemaitre 28af1e1ac3
refactor: moved all plugin state to Plugin._ 2022-11-28 11:19:50 +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 7933ae11c4
feat: error handler for loading modules, config and init, with custom error formatting 2022-11-25 22:50:17 +01:00
Folke Lemaitre fe33e4e3dd
feat: lazy caching now works with functions that have upvalues 2022-11-25 15:35:40 +01:00
Folke Lemaitre 2507fd5790
perf: tons of performance improvements. Lazy should now load in about 1.5ms for 97 plugins 2022-11-24 22:05:18 +01:00
Folke Lemaitre 72d51cee9b
perf: copy reason without deepcopy 2022-11-23 21:54:56 +01:00
Folke Lemaitre 2080694e34
feat: load plugin on cmd complete and make completion just work 2022-11-23 16:08:44 +01:00
Folke Lemaitre 4df73f167d
feat: keep track what loaded a plugin 2022-11-23 16:07:57 +01:00
Folke Lemaitre fca984b18c
refactor: move core modules needed for loading under core 2022-11-22 21:28:27 +01:00