Commit Graph

337 Commits

Author SHA1 Message Date
Folke Lemaitre b193f96f7b
fix(spec): only process a spec once 2022-12-20 23:14:49 +01:00
Folke Lemaitre 7be46bceef
style: removed unused requires 2022-12-20 22:32:16 +01:00
Dan Sully 897d6df5ac
fix: add filetype to window buffer. (#41)
Add a filetype to the Lazy window buffer, which allows plugins like codewindow to ignore it.
2022-12-20 21:23:00 +01:00
Folke Lemaitre 06ac8bda66
perf(ui): clear existing extmarks before rendering 2022-12-20 20:53:00 +01:00
Folke Lemaitre ffcd0ab7bb
fix(loader): source filetype.lua before plugins. Fixes #35 2022-12-20 20:32:37 +01:00
Folke Lemaitre 9d12cdcc06
fix(git): don't run git log for submodules. Fixes #33 2022-12-20 19:58:56 +01:00
Folke Lemaitre 6c767a604d
feat: added options to configure change detection. Fixes #32 2022-12-20 19:38:37 +01:00
Folke Lemaitre 941df31a41
feat(ui): make the windoww size configurable. Fixes #34 2022-12-20 19:29:28 +01:00
Folke Lemaitre 52984419ff
fix: use nvim_feekeys instead of nvim_input for keys handler. Fixes #28 2022-12-20 18:24:48 +01:00
Folke Lemaitre 1371a14167
fix(build): use the shell to execute build commands 2022-12-20 16:57:02 +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 316503f124
fix: dont autoload cached modules when module=false 2022-12-20 16:02:22 +01:00
Folke Lemaitre 992c6791ef
fix: always set Config.me regardless of reset rtp 2022-12-20 16:02:06 +01:00
Folke Lemaitre df6c9863dc
fix: add neovim libs to rtp for treesitter parsers etc 2022-12-20 15:03:26 +01:00
Folke Lemaitre e9d3a73bbc
fix: default logs are now since 3 days ago to be in line with the docs 2022-12-20 14:13:58 +01:00
Folke Lemaitre 6e32759c5d
fix: deepcopy lazyspec before processing 2022-12-20 14:01:59 +01:00
Folke Lemaitre ec0f8d0947
docs: added config.dev.path to the example 2022-12-20 13:49:29 +01:00
Folke Lemaitre 6404d42155
fix: move re-sourcing check to the top 2022-12-20 13:47:53 +01:00
Folke Lemaitre ddf36d7748
fix: checker should not error on non-existing dirs 2022-12-20 13:44:21 +01:00
Folke Lemaitre f78d8bf376
fix: show error when merging, but continue 2022-12-20 13:36:18 +01:00
Folke Lemaitre 1754056475
fix: use jobstart instead of system to open urls 2022-12-20 12:34:24 +01:00
Folke Lemaitre 5ecc988610
docs: use https to bootstrap lazy 2022-12-20 12:34:05 +01:00
Folke Lemaitre ae644a604d
fix: only run updated checker for installed plugins. Fixes #16 2022-12-20 11:58:54 +01:00
Folke Lemaitre af87108605
fix(util): fixed double slashes 2022-12-20 08:47:01 +01:00
Folke Lemaitre 62c1542141
fix(cache): normalize paths 2022-12-20 08:31:19 +01:00
Folke Lemaitre bb1c2f4c3e
feat: added support for Windows 2022-12-20 07:19:55 +01:00
Folke Lemaitre 198963fdab
feat: utility method to normalize a path 2022-12-20 07:19:41 +01:00
Folke Lemaitre a18988372f
fix: check for installed plugins with plain find 2022-12-20 07:15:26 +01:00
Folke Lemaitre b7bf18abd3
style: spelling 2022-12-19 21:11:33 +01:00
Folke Lemaitre 1baa92f8ca
docs: added docs on `<cr>` and `<K>` 2022-12-19 21:05:22 +01:00
Folke Lemaitre 5ed9855d1c
feat: added completion for all lazy commands 2022-12-19 15:22:47 +01:00
Folke Lemaitre b46278751f
docs: added optional plugins to docs for commands and methods 2022-12-19 15:22:47 +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 2dd6230018
feat: added `:Lazy load foobar.nvim` to load a plugin 2022-12-19 14:22:43 +01:00
Folke Lemaitre 8a0da3b27e
config: move lazy cache to state/nvim/lazy/cache 2022-12-19 13:55:04 +01:00
Folke Lemaitre 6f00cdedee
docs: typos 2022-12-19 13:36:11 +01:00
Folke Lemaitre faac2dd11c
perf(cache): cache loadfile and no find modpaths without package.loaders 2022-12-19 13:34:37 +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 1fe43f3e29
fix(ui): focus Lazy window when auto-installing plugins in `VimEnter` 2022-12-19 12:20:02 +01:00
Folke Lemaitre d4aee2715f
feat!: removed the LazyUpdate etc commands. sub-commands only from now on 2022-12-19 10:11:21 +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 c87673c4b9
feat(ui): added help for <CR> on a plugin 2022-12-18 14:51:39 +01:00
Folke Lemaitre 968fa3fe20
style: removed bold from home button 2022-12-18 14:47:12 +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 1730661ec2
docs: generate docs for commands 2022-12-18 11:42:54 +01:00
Folke Lemaitre f25f942eb7
feat: expose all commands on main lazy module 2022-12-18 11:42:27 +01:00
Folke Lemaitre 0b4a04de7d
feat(ui): make home bold 2022-12-17 17:36:09 +01:00
Folke Lemaitre a46c0c04f1
feat: never source `packer_compiled.lua` 2022-12-17 17:35:45 +01:00
Folke Lemaitre 9026a0e25d
feat(ui): made it look a little less like a Mason rip-off :) 2022-12-17 15:56:47 +01:00
Folke Lemaitre 85e375223f
fix(ui): always clear complete tasks with the same name when starting a new task 2022-12-17 15:56:47 +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 f18efa1da1
fix(ui): split window before opening a file from the Lazy ui, otherwise it'll get closed immediately 2022-12-17 12:52:31 +01:00
Folke Lemaitre 6f728e698d
fix(ui): show first tag for each help doc in details 2022-12-17 12:52:30 +01:00
Folke Lemaitre 97366711be
feat(ui): added dir to props 2022-12-17 12:52:30 +01:00
Folke Lemaitre 23984dd1f3
fix: set correct dir for lazy plugin 2022-12-17 12:52:30 +01:00
Folke Lemaitre 2d6559302e
docs: removed toc 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 e897524b1f
refactor: split autoload in autoload and check_load 2022-12-16 13:07:16 +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 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 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 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 fd600be2e5
docs: added docs on readme help indexing 2022-12-15 14:34:08 +01:00
Folke Lemaitre 4dfab59c87
refactor: use Util.read_file and Util.write_file for docs 2022-12-15 14:08:09 +01:00
Folke Lemaitre 70ca110ca1
feat: README.md files are now automagically added to help. By default only when no doc/ exists 2022-12-15 14:08:09 +01:00
Folke Lemaitre 27178b5e67
feat: utility methods to read/write files 2022-12-15 14:08:09 +01:00
Folke Lemaitre f4720ee9f7
feat(docs): added toc generator 2022-12-15 08:47:01 +01:00
Folke Lemaitre dc1d71d5cf
docs: added plugin spec code 2022-12-15 00:23:09 +01:00
Folke Lemaitre 80a7839eec
feat: lua code generator for the README.md 2022-12-15 00:23:09 +01:00
Folke Lemaitre ccdf65b5b8
fix: `Plugin.init` implies lazy-loading 2022-12-15 00:23:09 +01:00
Folke Lemaitre 1ee4e8b719
fix: updated the bootstrap code 2022-12-14 21:38:40 +01:00
Folke Lemaitre 5128d896c7
fix: destroy the cache when VIMRUNTIME has changed 2022-12-14 21:38:24 +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 ad0b4caa64
feat(ui): show `updates available` diagnostic when an update is available 2022-12-14 16:07:53 +01:00
Folke Lemaitre 8de617c01b
feat: getter for plugins 2022-12-14 16:07:32 +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 2a7466abad
feat(checker): only report an update once and do a fast update check after each manage operation 2022-12-13 10:10:17 +01:00
Folke Lemaitre f24c055fe9
feat: better way of dealing with lazy loaded completions (thanks to @lewis6991) 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 be509c01f9
perf: added profiling for sourcing of runtime files 2022-12-05 23:14:04 +01:00
Folke Lemaitre 08d081f21d
fix(ui): open with noautocmd=true and close with vim.schedule to prevent weird errors by other plugins 2022-12-05 22:33:33 +01:00
Folke Lemaitre dc2dcd2d5a
feat: added health checks 2022-12-05 21:31:26 +01:00
Folke Lemaitre 315be83afc
feat(ui): added statusline component to show pending updates 2022-12-05 20:49:45 +01:00
Folke Lemaitre 65cd28e613
feat(ui): added update checker 2022-12-05 20:49:23 +01:00
Folke Lemaitre 71e4b92fd6
feat(api): return runner from manage operations 2022-12-05 20:36:49 +01:00
Folke Lemaitre 6d68cc6ea2
feat(ui): added debug interface to inspect active handlers and the module cache 2022-12-05 14:47:30 +01:00
Folke Lemaitre d36ad410ee
feat: util.foreach with sorted keys 2022-12-05 14:47:30 +01:00
Folke Lemaitre b8d8648d28
refactor: moved handler to separate modules 2022-12-05 14:47:30 +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 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 13b5688487
feat(ui): show any helps files and added hover handler 2022-12-03 21:07:11 +01:00
Folke Lemaitre 6e44be0f2d
fix(ui): always show branch name in details 2022-12-03 21:06: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 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 ccc506d5f7
perf: added option to reset rtp to just your config and the neovim runtime 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 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 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 0ba218a065
feat: `Plugin.local` to use a local project instead of fetching remote 2022-12-02 19:17:38 +01:00
Folke Lemaitre afcba52b1a
fix: return nil when `fs_stat` fails and return nil in module loader 2022-12-02 19:16:21 +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 ebf15fc198
feat: for `event=`, fire any new autocmds created by loading the plugins for the event 2022-12-02 17:01:05 +01:00
Folke Lemaitre e4cf8b1416
feat: added debug option 2022-12-02 16:52:22 +01:00
Folke Lemaitre fe6b0b03ea
feat: moved Config.package.reset -> Config.performance.reset_packpath 2022-12-02 12:52:06 +01:00
Folke Lemaitre 6fe425c91a
perf: caching strategy is now configurable 2022-12-02 12:43:34 +01:00
Folke Lemaitre ae379a62dc
fix(git): fixed branch detection, get target commit from origin and always checkout a tag or commit so we dont need to use git merge 2022-12-02 11:26:07 +01:00
Folke Lemaitre 3e143c6017
fix(fs): dont set cloned=true if symlink already existed 2022-12-02 11:24:23 +01:00
Folke Lemaitre 59fb050767
fix: respect --noplugin 2022-12-02 10:02:41 +01:00
Folke Lemaitre 98ccf556d8
fix(ui): use Plugin.find to detect loading reason 2022-12-02 09:25:30 +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 0b6dec46e0
perf: module now caches all lua modules used till VimEnter 2022-12-02 09:25:30 +01:00
Folke Lemaitre 723274efee
feat(ui): better detection of plugins/config files that loaded a plugin 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 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 5eb2622a4e
fix: prepend package path to packpath if package.reset=false 2022-12-02 09:25:30 +01:00
Folke Lemaitre 041a716f4e
feat: show module source if loading source is under config 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 c1a05a5f9b
test: process config timeout can be nil 2022-11-30 23:44:10 +01:00
Folke Lemaitre bd2d64230f
feat: added config option for process timeout 2022-11-30 23:38:52 +01:00
Folke Lemaitre b2339ade84
feat: config option for runner concurrency 2022-11-30 23:15:26 +01:00
Folke Lemaitre a87b6e1005
style: cleanup 2022-11-30 23:15:26 +01:00
Folke Lemaitre a197f751f9
feat: config option for ui throttle 2022-11-30 23:15:26 +01:00
Folke Lemaitre 0cff878b2e
feat: config for ui border 2022-11-30 23:15:26 +01:00
Folke Lemaitre fb96183753
feat: allow config of default for version field 2022-11-30 23:15:26 +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 47f5c124aa
config: removed interactive option. not needed 2022-11-30 23:15:26 +01:00
Folke Lemaitre 0369278159
fix: update state after running operation so the ui reflects any changes from cleaning 2022-11-30 23:15:26 +01:00
Folke Lemaitre 1e2f5273bb
fix: show proper installed/clean state for local plugins 2022-11-30 23:15:26 +01:00
Folke Lemaitre 39c7e21c5f
refactor: Loader.source_runtime 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