Commit Graph

85 Commits

Author SHA1 Message Date
Folke Lemaitre 21a219a825
refactor(cache): revert all `vim.cache` changes and disable it if it would ever exist 2023-03-15 09:01:00 +01: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 9afba388fa
feat(plugin): added config.defaults.cond. Fixes #640 2023-03-14 11:19:56 +01:00
Folke Lemaitre 10f5844abf
fix(loader): never load lua files from a plugin where cond=false. Show error instead 2023-03-14 11:19:56 +01:00
Folke Lemaitre 17a3c3acea
perf: more cache optims 2023-02-14 11:00:56 +01: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 c83d2aeb27
fix(loader): don't deactivate when not loaded 2023-02-10 17:47:25 +01:00
Folke Lemaitre 57a3960faf
feat: deactivate WIP 2023-02-07 23:52:02 +01:00
Folke Lemaitre 49b43def14
fix(install): dont load the colorscheme again if a `config()` of the colorscheme also loads it. Fixes #488 2023-02-07 22:59:05 +01:00
Folke Lemaitre 7160ca419e
fix(loader): load plugin opts inside a `try` clause to report errors 2023-01-15 20:00:12 +01:00
Folke Lemaitre b73312aa32
fix: use `vim.api.nvim_exec_autocmds` instead of `vim.cmd[[do]]` to prevent weird `vim.notify` behavior 2023-01-13 09:01:24 +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 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 102bc2722e
fix(loader): source runtime files without `silent`. Fixes #336 2023-01-06 19:16:39 +01:00
Folke Lemaitre eed1ef3c2d
feat(commands): `:Lazy! load` now skips `cond` checks when loading plugins. Fixes #330 2023-01-06 07:11:50 +01:00
Folke Lemaitre 2ef44e2dee
fix(loader): revert change that loaded /plugin after config. Fixes #328 2023-01-05 19:43:47 +01:00
Folke Lemaitre c59c05c7a8
fix(loader): run plugin config before sourcing runtime 2023-01-04 23:17:29 +01:00
Folke Lemaitre a7ac2ad020
feat(loader): disable plugins 2023-01-04 12:40:00 +01:00
Folke Lemaitre 09fd8fabd2
fix(loader): dont show error of missing plugins if they are disabled 2023-01-04 11:02:29 +01:00
Folke Lemaitre b4d4e6b41b
fix(loader): move mapleader check to loader, so it can be set by spec files 2023-01-04 09:07:30 +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 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