Commit Graph

855 Commits

Author SHA1 Message Date
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
Folke Lemaitre 3ec5a2ce4c
perf: run cache autosave after loading 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 3e4f84640e
feat: git log config 2022-11-29 15:25:09 +01:00
Folke Lemaitre 0233460d54
fix: support local files as plugin spec 2022-11-29 14:35:48 +01:00
Folke Lemaitre 32fa5f8441
fix: when just cloned, never commit lock 2022-11-29 14:27:32 +01:00
Folke Lemaitre 7328e290ba
refactor: Plugin.requires => Plugin.dependencies 2022-11-29 14:27:04 +01:00
Folke Lemaitre 0f5ceb9012
style: cache debug 2022-11-29 14:26:07 +01:00
Folke Lemaitre ceeeda36e8
feat: added bootstrap code 2022-11-29 12:49:15 +01:00
Folke Lemaitre 0774f1bc25
feat: added support for Plugin.lock (wont update) 2022-11-29 12:36:07 +01:00
Folke Lemaitre 20ff5fa218
feat: added profiler view 2022-11-29 12:02:38 +01:00
Folke Lemaitre 08b7e42fb0
feat: added keybindings to update/install/clean/restore/... single plugins 2022-11-29 10:56:17 +01:00
Folke Lemaitre 54a82ad695
feat: default log is last 10 entries 2022-11-29 10:55:49 +01:00
Folke Lemaitre 5bcdddc0ec
fix(tasks): always set updated on checkout. Change default logging to 3 days 2022-11-29 10:30:45 +01:00
Folke Lemaitre 0db98bf053
feat(view): modes and help 2022-11-29 10:30:14 +01:00
Folke Lemaitre 88869e67d2
feat(text): center text 2022-11-29 10:29:56 +01:00
Folke Lemaitre 7303017b6f
fix: log errors in runner 2022-11-29 10:29:37 +01:00
Folke Lemaitre 63cf2a52bd
feat: added "Lazy check" to check for updates without updating 2022-11-29 08:23:23 +01:00
Folke Lemaitre d486bc586b
fix: get current branch if remote head not available (for local repos only) 2022-11-29 08:19:55 +01:00
Folke Lemaitre 88a12027af
refactor: renamed reset -> restore: update to state of lockfile 2022-11-29 08:06:10 +01:00
Folke Lemaitre 782d287d89
fix: make sure we have ran on_exit before returning is_done=true 2022-11-29 07:56:59 +01:00
Folke Lemaitre 5d84967e9c
fix: show view with schedule to prevent Neovim crash when no plugins are installed 2022-11-29 07:56:29 +01:00
Folke Lemaitre 4384d0e6d9
feat: added lockfile support 2022-11-29 00:15:13 +01:00
Folke Lemaitre bbad0cb891
fix(view): handler details 2022-11-29 00:14:37 +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 93a3a6ccb5
fix: manage opts show => interactive 2022-11-28 13:11:41 +01:00
Folke Lemaitre 16fd35c285
refactor: Task.needed => task.skip 2022-11-28 13:11:20 +01:00
Folke Lemaitre 3768256956
refactor: pipelines now always run sequential 2022-11-28 13:10:59 +01:00
Folke Lemaitre 2abdc681fa
feat: new git module to work with branches, tags & versions 2022-11-28 11:36:12 +01:00
Folke Lemaitre 073b5e3caa
perf: fast return for Util.ls when file found 2022-11-28 11:35:47 +01:00
Folke Lemaitre 28af1e1ac3
refactor: moved all plugin state to Plugin._ 2022-11-28 11:19:50 +01:00
Folke Lemaitre ab1b512545
feat: new task pipeline runner 2022-11-28 11:04:32 +01:00
Folke Lemaitre 9179c0a14d
style: cleanup & annotations 2022-11-28 07:36:32 +01:00
Folke Lemaitre 02f5528aa3
refactor: move task too manage.task 2022-11-28 07:35:58 +01:00
Folke Lemaitre f54c24a4fa
feat: added full semver and range parsing 2022-11-28 07:31:43 +01:00
Folke Lemaitre 08f4804916
refactor: cleanup sections and fixed handlers in view 2022-11-27 11:03:17 +01:00
Folke Lemaitre 6dc45ada55
refactor: moved manage functionality to its own module 2022-11-27 11:02:28 +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 38e2711cdb
feat: return wether a module was loaded from cache or from file (dirty) 2022-11-26 19:33:00 +01:00
Folke Lemaitre 30bdc9b5a1
fix: check for lazy before setting loading time 2022-11-26 13:58:18 +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 413dd5b112
fix: dont return init.lua in lsmod 2022-11-26 13:57:17 +01:00
Folke Lemaitre 359c260911
chore: remove deprecated scandir 2022-11-26 13:57:05 +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 bad1b1f87d
feat: detect headless and set interactive=false 2022-11-25 22:49:41 +01:00
Folke Lemaitre 80a2b71a09
refactor: less code for cache 2022-11-25 22:49:21 +01:00
Folke Lemaitre cfc39330dc
fix: always recaclulate hash when loading a module 2022-11-25 22:48:59 +01:00
Folke Lemaitre 04dea38794
fix: reset diagnostics when lazy view buffer closes 2022-11-25 22:48:37 +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 48199f8031
feat: new render features like profile etc 2022-11-24 22:06:05 +01:00
Folke Lemaitre d7dbe1a43f
feat: added section with logs containing breaking changes 2022-11-24 22:05:38 +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 711834f17c
refactor: split util 2022-11-24 22:03:00 +01:00
Folke Lemaitre 32ca1c4bf8
fix: only save state when dirty 2022-11-23 21:55:21 +01:00
Folke Lemaitre 72d51cee9b
perf: copy reason without deepcopy 2022-11-23 21:54:56 +01:00
Folke Lemaitre c046b1f5d5
feat!: added icons 2022-11-23 19:06:04 +01:00
Folke Lemaitre fe6d0b1745
feat: task docs and options for logs 2022-11-23 16:12:43 +01:00
Folke Lemaitre 6f835ab87b
feat: url open handlers 2022-11-23 16:12:12 +01:00
Folke Lemaitre a11fc5a0e0
feat: a gazilion rendering improvements 2022-11-23 16:12:02 +01:00
Folke Lemaitre 00ff59f385
refactor: cleanup 2022-11-23 16:11:14 +01:00
Folke Lemaitre 815bb2ce6c
feat(text): multiline support and pattern highlights 2022-11-23 16:10:46 +01:00
Folke Lemaitre 68a8d57b5b
chore: cleanup 2022-11-23 16:10:16 +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 e59dc377d5
feat: util.info 2022-11-22 22:35:06 +01:00
Folke Lemaitre 72889623af
fix: support adding top-level lua directories 2022-11-22 22:27:29 +01:00
Folke Lemaitre fca984b18c
refactor: move core modules needed for loading under core 2022-11-22 21:28:27 +01:00
Folke Lemaitre 3218c2d9ec
feat: git log 2022-11-22 21:12:50 +01:00
Folke Lemaitre 54d5ff18f5
perf: split caching in state, cache and module 2022-11-22 21:12:33 +01:00
Folke Lemaitre a543134b8c
perf: way better compilation and caching 2022-11-21 21:50:16 +01:00
Folke Lemaitre c749404423
fix: first line of file 2022-11-21 00:29:17 +01:00
Folke Lemaitre 7f4743ac30
fix: clean 2022-11-21 00:27:28 +01:00
Folke Lemaitre 35b1f98ac7
fix: highlights 2022-11-20 23:34:48 +01:00
Folke Lemaitre 57d024ef19
fix: decompilation fixes 2022-11-20 23:25:56 +01:00
Folke Lemaitre ae0b87181d
feat: lazy commands 2022-11-20 23:25:28 +01:00
Folke Lemaitre a87982ff15
feat: lazy view 2022-11-20 23:25:21 +01:00
Folke Lemaitre a612e6f6f4
feat: plugin manager tasks 2022-11-20 23:04:56 +01:00
Folke Lemaitre 0219a531ed
style: formatting 2022-11-20 22:34:59 +01:00
Folke Lemaitre e73626a344
feat: initial commit 2022-11-20 22:33:47 +01:00