Commit Graph

57 Commits

Author SHA1 Message Date
Folke Lemaitre 6b55862d2d
refactor(cache): refactor for upstreaming to `vim.loader` 2023-03-15 15:10:56 +01:00
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 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 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 d992387912
perf: track some additional cputimes 2023-01-02 11:28:18 +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 b4edbd09f5
docs: updated bootstrap code to stable branch 2022-12-31 09:44:22 +01:00
WilliamHsieh 51fb95e4a8
fix: duplicate state check in bootstrap (#255) 2022-12-30 18:55:36 +01:00
Folke Lemaitre de82a99197
fix(bootstrap): fixed bootstrap script 2022-12-30 14:46:25 +01:00
Folke Lemaitre 291dd6a74b
docs: updated bootstrap code to exclude single-branch 2022-12-30 01:01:22 +01:00
Folke Lemaitre 929198bc4f
feat(bootstrap): bootstrap with last lazy stable release 2022-12-29 23:32:02 +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 e3ffcff7cc
fix(cache): ad jit.verion to cache version string. Fixes #225 2022-12-29 08:01:05 +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 a2fdf369f2
feat(profile): added accurate startuptime to ui/stats/docs 2022-12-27 13:34:12 +01:00
Folke Lemaitre 6404d42155
fix: move re-sourcing check to the top 2022-12-20 13:47:53 +01:00
Folke Lemaitre 5ecc988610
docs: use https to bootstrap lazy 2022-12-20 12:34:05 +01:00
Folke Lemaitre b89e6bffd2
perf: lazy-load the commands available on the `lazy` module 2022-12-18 17:36:37 +01:00
Folke Lemaitre c0d3617e0b
feat: check if ffi is available and error if not 2022-12-18 14:29:02 +01:00
Folke Lemaitre f25f942eb7
feat: expose all commands on main lazy module 2022-12-18 11:42:27 +01:00
Folke Lemaitre 17d1653b4a
fix: bootstrap code now uses git url instead of https for beta testers + fixed rtp path 2022-12-15 23:24:16 +01:00
Folke Lemaitre 1ee4e8b719
fix: updated the bootstrap code 2022-12-14 21:38:40 +01:00
Folke Lemaitre 72f64ce1f7
feat: added checks for Neovim version 2022-12-14 21:25:16 +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 8de617c01b
feat: getter for plugins 2022-12-14 16:07:32 +01:00
Folke Lemaitre 7b945eec58
feat: dont run setup again when a user re-sources their config & show a warning 2022-12-03 23:46:50 +01:00
Folke Lemaitre b2727d98a3
perf: disable cache by default on VimEnter or on BufReadPre 2022-12-03 18:59:53 +01:00
Folke Lemaitre 6fe425c91a
perf: caching strategy is now configurable 2022-12-02 12:43:34 +01:00
Folke Lemaitre 59fb050767
fix: respect --noplugin 2022-12-02 10:02:41 +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 a87b6e1005
style: cleanup 2022-11-30 23:15:26 +01:00
Folke Lemaitre e1c08d64b3
perf: merge module/cache and use ffi to pack cache data 2022-11-30 14:19:50 +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 9be3d3d840
feat: config option install_missing=true 2022-11-30 00:19:08 +01:00
Folke Lemaitre ceeeda36e8
feat: added bootstrap code 2022-11-29 12:49:15 +01:00
Folke Lemaitre 28af1e1ac3
refactor: moved all plugin state to Plugin._ 2022-11-28 11:19:50 +01:00
Folke Lemaitre 6dc45ada55
refactor: moved manage functionality to its own module 2022-11-27 11:02:28 +01:00
Folke Lemaitre 05a0da532b
refactor: move handlers to its own file 2022-11-26 21:29:40 +01:00
Folke Lemaitre 30bdc9b5a1
fix: check for lazy before setting loading time 2022-11-26 13:58:18 +01:00
Folke Lemaitre 3e8fbaffba
refactor: merge plugin & state in one file 2022-11-25 22:48: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 68a8d57b5b
chore: cleanup 2022-11-23 16:10:16 +01:00
Folke Lemaitre e59dc377d5
feat: util.info 2022-11-22 22:35:06 +01:00