Commit Graph

1062 Commits

Author SHA1 Message Date
Folke Lemaitre bd37afc96e
fix(git): when a `Plugin.branch` is set, don't use `config.defaults.version`. Fixes #409 2023-01-17 13:14:25 +01:00
github-actions[bot] c05d61d208
chore(main): release 9.3.0 (#385)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-16 22:18:55 +01:00
Folke Lemaitre 870af80c68
feat(spec): overriding keys with an rhs of `false` will remove the key instead 2023-01-16 21:27:55 +01:00
Folke Lemaitre 208f91b52f
feat(git): some debugging tools for git 2023-01-16 20:41:29 +01:00
Folke Lemaitre 0cbd91d2cd
feat(spec): you can now override specs using only the plugin name instead of the short url 2023-01-16 17:03:43 +01:00
Folke Lemaitre efe72d98e6
perf(util): properly check that Neovim is exiting. Dont run VeryLazy when that's the case 2023-01-16 12:37:28 +01:00
Folke Lemaitre e8cb863703
fix(util): rever 2023-01-16 12:33:03 +01:00
Folke Lemaitre 1e67dc0d56
perf(util): dont trigger VeryLazy autocmds when exiting 2023-01-16 12:29:19 +01:00
Folke Lemaitre fdf0332fe1
feat(keys): allow overriding a keys value to `vim.NIL` to not add the key 2023-01-16 10:16:35 +01:00
Folke Lemaitre 984008f7ae
refactor: add lazy.nvim with full url. Fixes #396 2023-01-15 20:04:52 +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 666ed7bf73
fix(build): make sure `rplugin.vim` is loaded when doing a build. Fixes #382 2023-01-13 09:20:00 +01:00
github-actions[bot] 0d0d5870a3
chore(main): release 9.2.0 (#376)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-13 09:13:19 +01:00
hgigas 7b78ce3332
feat(commands): allow commands like `Lazy ... | ...` (#377)
Set bar attribute:
```
-bar	    The command can be followed by a "|" and another command.
```
2023-01-13 09:05:13 +01:00
Folke Lemaitre 7b0d1a7866
fix(float): only clear diagnostics for valid buffers 2023-01-13 09:01:24 +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 81017b99e7
fix(cache): de-duplicate topmods. Fixes #349 2023-01-13 09:01:24 +01:00
Folke Lemaitre 784bb3c100
refactor: removed special `__merge` functionality 2023-01-12 13:13:30 +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 3fbe4fe27a
fix(ui): open diff and others over the ui. Don't try to be smart about it. Fixes #361 2023-01-12 09:01:36 +01:00
github-actions[bot] 0741d62319
chore(main): release 9.1.3 (#374)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-11 23:13:41 +01:00
Folke Lemaitre 07fd7adb34
fix(cache): use cached chunk when specs are loading for valid plugins 2023-01-11 23:11:38 +01:00
Folke Lemaitre e1cd9cd0ad
fix(loader): prevent loading plugins when loading specs 2023-01-11 23:08:07 +01:00
github-actions[bot] 9d494e0594
chore(main): release 9.1.2 (#362)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-11 21:45:02 +01:00
Folke Lemaitre a64623899d
fix(ui): possible error during initial install 2023-01-11 17:13:10 +01:00
Folke Lemaitre 74bc61ab97
fix(handlers): allow overriding handler values 2023-01-11 13:44:09 +01:00
Folke Lemaitre 3b44c3c14a
fix(ui): reset buf and win options on resize 2023-01-11 13:43:17 +01:00
Folke Lemaitre 5aca9280df
perf(util): execute VeryLazy right after UIEnter 2023-01-11 13:40:19 +01:00
Folke Lemaitre 8756c0950c
fix(ui): properly position Lazy tabs when opening another cmd. Fixes #361 2023-01-10 14:26:34 +01:00
github-actions[bot] d2110278be
chore(main): release 9.1.1 (#360)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-10 11:21:52 +01:00
Folke Lemaitre 5faadf6398
fix(ui): get_plugin should return when ui is not showing 2023-01-10 11:19:47 +01:00
github-actions[bot] 18eb724dff
chore(main): release 9.1.0 (#352)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-10 09:40:28 +01:00
Folke Lemaitre 70b07ebad5
ci: let release-please update Config.version 2023-01-10 09:28:59 +01:00
Folke Lemaitre ad7aafb257
fix(spec): don't import specs more than once 2023-01-10 09:28:59 +01:00
Folke Lemaitre 9fa62ea8ea
fix(cache): dont keep invalid entries in the cache (cleanup) 2023-01-10 09:28:59 +01:00
Folke Lemaitre d3a963d51c
refactor(util): improved notify functions 2023-01-10 09:28:59 +01:00
Folke Lemaitre b28c6b9000
feat(util): `Util.merge` now support advanced merging strategies. Docs coming soon 2023-01-10 07:32:28 +01:00
Folke Lemaitre e6ee0fa610
fix(ui): keymap for building a single plugin changed from `b` to `gb`. Fixes #358 2023-01-09 20:21:31 +01:00
Folke Lemaitre 4304035ef4
feat(spec): allow git@ and http urls in `Plugin[1]` without `url=`. Fixes #357 2023-01-09 13:25:50 +01:00
Folke Lemaitre d813c518d5
docs: improvements to readme updater 2023-01-09 13:09:16 +01:00
Folke Lemaitre 3a216d008d
fix(docs): auto-gen of readme stuff 2023-01-09 08:05:46 +01:00
Folke Lemaitre a32e307981
fix(diffview): fixed parameter for showing single commit with DiffView. Fixes #304 2023-01-09 08:05:32 +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 6a31b97e37
feat(util): better deep merging with `Util.merge` 2023-01-08 15:01:58 +01:00
Folke Lemaitre 615781aebf
feat(git): lazy now detects origin changes and will fix it on update. Fixes #346. Fixes #331 2023-01-08 08:32:03 +01:00
Folke Lemaitre a39fa0f0ce
feat(git): added fast `Git.get_origin` and `Git.get_config` 2023-01-08 08:05:44 +01:00
Folke Lemaitre ad00eb1be2
test: fixed helper function to delete test directory 2023-01-07 22:52:49 +01:00
Folke Lemaitre d34c85d580
fix(cache): check that modpaths still exist when finding mod root 2023-01-07 22:24:53 +01:00
Folke Lemaitre c313249271
feat(spec): show error when loading two specs with the same name and a different url. Fixes #337 2023-01-07 09:37:03 +01:00
Folke Lemaitre 5ed89b5a0d
fix(config): properly handle uis connecting after startup 2023-01-07 09:12:59 +01:00
Brian Koropoff 05b55deb16
fix(config): Don't cache check for attached UIs (#340)
UIs can attach and detach from headless nvim dynamically
(indeed, this is one of its use cases).
2023-01-07 09:01:45 +01:00
Folke Lemaitre 102bc2722e
fix(loader): source runtime files without `silent`. Fixes #336 2023-01-06 19:16:39 +01:00
Folke Lemaitre 4f76b431f7
refactor(util)!: `require("lazy.util").open_cmd()` is deprecated. See the docs 2023-01-06 11:20:08 +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 e89e938991
refactor: split open_cmd in float_cmd and float_term 2023-01-05 17:36:01 +01:00
Folke Lemaitre 13af39b83e
refactor: easier to pass window options for floats 2023-01-05 17:01:56 +01:00
Folke Lemaitre b2dec14824
fix(cache): check full paths of cached modpaths. Fixes #324 2023-01-05 13:42:23 +01:00
Folke Lemaitre e4f79a42d6
fix(util): Util.try can now work without an error message 2023-01-05 11:31:13 +01:00
Folke Lemaitre 847ef091fa
style: disabled stats debug 2023-01-05 11:30:47 +01:00
Folke Lemaitre c59c05c7a8
fix(loader): run plugin config before sourcing runtime 2023-01-04 23:17:29 +01:00
Folke Lemaitre dea43afc4a
feat(spec): allow import property on a plugin spec 2023-01-04 17:50:57 +01:00
Tsakiris Tryfon 3bde7b5ba8
fix(keys): Use vim's default value for an unset g:mapleader (#316) 2023-01-04 14:02:48 +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 81cb352fe6
feat(spec): spec merging now properly works with `Plugin.enabled` 2023-01-04 10:36:51 +01:00
Folke Lemaitre bce0c6e327
perf(spec): more efficient merging of specs and added `Plugin._.super` 2023-01-04 09:35:00 +01:00
Folke Lemaitre 6d46a3028d
style(keys): remove debug output 2023-01-04 09:22:52 +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 2e87520826
fix(util): assume type is file when no type is returned by scandir. Fixes #306 2023-01-04 08:57:50 +01:00
Folke Lemaitre e61b334cee
fix(diff): make diffview work again. Fixes #304 2023-01-04 08:13:51 +01:00
Folke Lemaitre 507b695753
fix(keys): only replace localleader and maplocalleader. Fixes #307, fixes #308 2023-01-04 07:54:45 +01:00
Folke Lemaitre b2673f1057
style: debug formatting 2023-01-04 00:27:31 +01:00
Folke Lemaitre 1c854d7a6d
fix(health): check for all packages on the rtp, excluding `dist` packs 2023-01-03 23:48:00 +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 1fd80159d0
fix(spec): show error when users load a plugins module called `lazy` 2023-01-03 22:49:04 +01:00
Folke Lemaitre 953c2791d8
fix(util): made `Util.lsmod` more robust. See #298 2023-01-03 22:31:18 +01:00
Folke Lemaitre f36c7cb0dc
feat(version): allow version=false to override default version 2023-01-03 21:19:20 +01:00
Folke Lemaitre 7b9fa284f8
style: better debug 2023-01-03 16:17:15 +01:00
Folke Lemaitre e93f50fd1b
fix(keys): operator pending mode 2023-01-03 16:16:49 +01:00
Folke Lemaitre 2e3e65b0f7
fix(keys): operator 2023-01-03 11:17:37 +01:00
Folke Lemaitre cdb998c6fe
fix(keys): make operator pending mode work. Fixes #286 2023-01-03 11:16:15 +01:00
Folke Lemaitre 299ffdfd53
feat(ui): added section with disabled plugins 2023-01-03 10:43:10 +01:00
Folke Lemaitre 05aec48968
feat(spec): allow overriding `Plugin.enabled` 2023-01-03 10:34:53 +01:00
Folke Lemaitre dc9c92a9b3
fix(git): properly compare git commits with short refs 2023-01-03 09:36:43 +01:00
Folke Lemaitre ff1e322b4f
style: debug 2023-01-03 09:13:22 +01:00
Folke Lemaitre e749e68b68
fix(ui): check if win is still valid 2023-01-03 09:13:11 +01:00
Folke Lemaitre b5f4106892
fix(stats): more robust checks for native cputime 2023-01-03 09:12:51 +01:00
Folke Lemaitre 06db1ec3c6
fix(stats): fixed cputime on linux 2023-01-02 20:50:10 +01:00
Folke Lemaitre 277a2ab10b
fix(git): better errors when a branch/tag/version could not be found. Fixes #276 2023-01-02 19:01:02 +01:00
Folke Lemaitre 85173dcc4d
fix(stats): windows 2023-01-02 17:42:17 +01:00
Folke Lemaitre ddcdc5e447
fix(stats): use fallback for cputime on windows. Fixes #280 2023-01-02 17:11:01 +01:00
Folke Lemaitre ce3e1fc560
fix(plugin): only get plugin from spec when needed. 2023-01-02 15:27:01 +01:00
Folke Lemaitre 9893430187
fix(cache): dont return directories in lsmod 2023-01-02 15:08:20 +01:00
Folke Lemaitre 60e96b478a
fix(loader): always load init.lua in plugin mods 2023-01-02 15:04:32 +01:00
Folke Lemaitre 9e90852a47
fix(cache): autoloading was broken! 2023-01-02 14:50:34 +01:00
Folke Lemaitre 1ec8f08480
fix(cache): properly return two values for finddir 2023-01-02 14:46:56 +01:00
Folke Lemaitre 69121c7721
tests: fixed tests 2023-01-02 14:35:36 +01:00
Folke Lemaitre 8063523471
ci: added debug info when #topmods>1 2023-01-02 14:29:55 +01:00
Folke Lemaitre 0bc73db503
fix(cache): only autoload when plugins have been parsed. Needed to support `import` 2023-01-02 12:54:38 +01:00
Folke Lemaitre f6b0172e92
fix(cache): allow lazyvim as a plugin 2023-01-02 12:54:00 +01:00
Folke Lemaitre bc4133cb3e
feat(spec): show spec warnings in checkhealth only 2023-01-02 12:53:35 +01:00
Folke Lemaitre d992387912
perf: track some additional cputimes 2023-01-02 11:28:18 +01:00
Folke Lemaitre 46997de1c9
feat(event): track event trigger times 2023-01-02 11:26:54 +01:00
Folke Lemaitre 50a456c189
feat(util): added trackfn that wraps a function and tracks timings 2023-01-02 11:26:40 +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 313015fdb4
feat(spec): allow mergig of config, priority and dependencies 2023-01-02 09:41:09 +01:00
Folke Lemaitre 7d755987ba
fix(spec): normalize deps before adding spec to make sure merging works as expected 2023-01-02 09:40:19 +01:00
Folke Lemaitre 77ff7beaa4
perf(cache): cache all lua files till UIEnter instead of VimEnter 2023-01-02 09:39:28 +01:00
Folke Lemaitre 4d77cf2efe
fix(handler): properly show errors generated by setting up handlers 2023-01-02 09:36:52 +01:00
Folke Lemaitre 6ff480bdee
fix(health): always use main spec 2023-01-01 21:09:20 +01:00
Folke Lemaitre 39b66027a5
feat(spec): added support for importing multiple spec modules with `import = "foobar"` 2023-01-01 21:07:05 +01:00
Folke Lemaitre 3974a6cbe3
refactor(help): replace non-word characters by - for readme filenames 2023-01-01 20:31:34 +01:00
Folke Lemaitre 51c23b661e
fix(spec): allow a spec module to be on the rtp and not only in config 2023-01-01 20:31:34 +01:00
Munif Tanjim d521a25cfc
feat(help): accept patterns for readme (#269) 2023-01-01 20:23:41 +01:00
Folke Lemaitre 11eee43c7e
fix(cache): keep ordering of topmods the same as in rtp 2023-01-01 18:52:07 +01:00
Folke Lemaitre b23a5dc8d5
fix(loader): setup handlers after installing missing plugins. Fixes #272 2023-01-01 18:45:20 +01:00
Munif Tanjim 1edd1b8945
fix(help): properly escape helptags search pattern (#268) 2023-01-01 10:56:18 +01:00
Folke Lemaitre 23c0587791
feat(commands): added build command to force rebuild of a plugin 2023-01-01 09:41:43 +01:00
Folke Lemaitre 205ce42cdc
fix(commands): fixed plugin completion for commands 2023-01-01 09:40:51 +01:00
Folke Lemaitre 0fadb5e1ce
feat(ui): when updating to a new version, show the version instead of the commit refs 2022-12-31 16:08:09 +01:00
Folke Lemaitre 34e2c78e06
feat(ui): show new version that is available instead of general message 2022-12-31 16:08:09 +01:00
Folke Lemaitre a9de5910f2
fix(fetch): always fetch latest origin tags. Fixes #264 2022-12-31 16:08:09 +01:00
Folke Lemaitre d6b5d6e756
feat(ui): press `<c-c>` to abort any running tasks. Fixes #258 2022-12-31 10:38:03 +01:00
Folke Lemaitre ed0583e82b
fix(util): remove double forward slashes 2022-12-31 09:55:55 +01:00
Folke Lemaitre b4edbd09f5
docs: updated bootstrap code to stable branch 2022-12-31 09:44:22 +01:00
Folke Lemaitre cb29427926
fix(git): always get both tag and version 2022-12-31 09:36:08 +01:00
Folke Lemaitre 865ff414c7
feat(git): added support for packed-refs. Fixes #260 2022-12-31 09:32:44 +01:00
Folke Lemaitre 5575d2b2a9
feat(ui): show when plugin would be loaded for unloaded plugins. Fixes #261 2022-12-31 08:51:09 +01:00
Folke Lemaitre fb46cb5862
build: utility method to create plugin list in markdown 2022-12-30 23:58:01 +01:00
Folke Lemaitre 45d669f61c
fix(ui): only show plugins to clean under clean 2022-12-30 21:23:12 +01:00
Folke Lemaitre a834b30c70
fix(keys): forward `count` to keymaps. Fixes #252 2022-12-30 20:51:18 +01:00
Folke Lemaitre 679d85c9ff
feat(ui): make brower configurable. Fixes #248 2022-12-30 20:41:23 +01:00
Folke Lemaitre 730bb84364
perf(loader): re-use topmod cache to find `setup()` module 2022-12-30 20:14:46 +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 32511a1214
feat(health): added spec parsing errors to `:checkhealth` 2022-12-30 11:52:20 +01:00
Folke Lemaitre def5cc5816
fix(cache): clear cached entry on errors 2022-12-30 11:52:20 +01:00
Folke Lemaitre 86dff1b59a
feat(commands): added health command to run `:checkhealth lazy` 2022-12-30 11:29:22 +01:00
Folke Lemaitre 2a617a7024
feat(api): allow passing options to float so it can be used outside of lazy 2022-12-30 10:43: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 1283c2b288
feat(restore): you can now restore a plugin to a certain commit. Fixes #234 2022-12-30 09:17:53 +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 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 853d4d5838
fix(cache): added support for top level lua linked directories. Fixes #233 2022-12-29 18:40:28 +01:00
Folke Lemaitre 8544c389ab
fix(cache): always normalize modname separators 2022-12-29 18:26:39 +01:00
Folke Lemaitre c7c1295c3e
fix: only show fired ft events in debug obvioulsy. Fixes #232 2022-12-29 18:06:40 +01:00
Folke Lemaitre a2eac68575
fix(cmd): fixed signature of cmd._del. Fixes #229 2022-12-29 17:32:54 +01:00
Folke Lemaitre 7de662d037
fix(ft): only trigger filetypepluing and filetypeindent for ft handler. Fixes #228 2022-12-29 17:26:38 +01:00
Folke Lemaitre db043da829
fix(config): reset packpath to include VIMRUNTIME only. Fixes #214 2022-12-29 16:04:45 +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 044e28bf8b
fix(cache): check package.loaded after auto-load and return existing module if present. Fixes #224 2022-12-29 09:06:23 +01:00
Folke Lemaitre b8c5ab5dae
fix(cache): reload file if compiled code is incompatible. Fixes #225 2022-12-29 08:25:24 +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 e3ffcff7cc
fix(cache): ad jit.verion to cache version string. Fixes #225 2022-12-29 08:01:05 +01:00
Folke Lemaitre 95b9cf743c
fix(cache): properly get rtp during fast events 2022-12-29 01:25:17 +01:00
Folke Lemaitre 4b75d06c07
fix(cache): dont update rtp in fast events 2022-12-29 01:04:39 +01:00
Folke Lemaitre 6c0b803999
fix(git): add --no-show-signature. Fixes #218 2022-12-29 01:02:05 +01:00
Folke Lemaitre c8553ca44f
feat(plugin): allow some `lazy.nvim` spec props to be set by the user 2022-12-29 00:49:38 +01:00
Folke Lemaitre 9997523841
fix(cache): OptionSet is not triggered during startup, so use #rtp instead to see if it changed 2022-12-29 00:48:59 +01:00
Folke Lemaitre 370b1b982e
fix(cache): make it work again... #fixup 2022-12-28 23:50:25 +01:00
Folke Lemaitre c2f7e2d098
feat(ui): added extra cache stats to the debug tab 2022-12-28 17:58:24 +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 021e54655f
feat(cache): update package.loaded on require 2022-12-28 17:58:23 +01:00
max397574 b813fae61c
fix(health): add `cond` key (#203) 2022-12-28 17:39:51 +01:00
tzachar acd6697d88
fix(commands): E5108 in getcompletions (#207) 2022-12-28 17:39:31 +01:00
Dr. David A. Kunz ff8f3783fa
feat(profile): nicer threshold prompt (#210) 2022-12-28 17:38:08 +01:00
Darkhan dc03fa1ae5
fix(health): add new key `priority` to `:checkhealth lazy` (#196) 2022-12-28 00:03:09 +01:00
Folke Lemaitre 0d0d11acb2
fix(ui): removed newlines from profile tab 2022-12-27 19:50:11 +01:00
Folke Lemaitre 3b46160c01
feat(ui): added new section specifically for updates 2022-12-27 19:35:23 +01:00
Folke Lemaitre edf8310288
feat(plugin): added `Plugin.priority` for start plugins 2022-12-27 17:24:47 +01:00
Folke Lemaitre a2fdf369f2
feat(profile): added accurate startuptime to ui/stats/docs 2022-12-27 13:34:12 +01:00
Folke Lemaitre d1739cb7e1
feat(util): use treesitter to highlight notify messages when available 2022-12-27 13:34:12 +01:00
Folke Lemaitre 5618076a45
fix(ft): always trigger FileType when lazy-loading on ft 2022-12-27 08:57:49 +01:00
Folke Lemaitre 38a9541939
style(plugin): improved types a bit, but sumneko still can't handle them since they're recursive 2022-12-27 08:30:28 +01:00
Folke Lemaitre 8a3152de93
fix(plugin): find plugins with `/lua/` instead of `/lua` 2022-12-27 07:44:28 +01:00
Folke Lemaitre 96e82986ee
docs: updated docs 2022-12-26 23:19:37 +01:00
Folke Lemaitre b6ebed5888
fix(plugin): pass plugin as arg to config/init/build 2022-12-26 22:59:07 +01:00
Tsakiris Tryfon c4d924acee
fix(reloader): remove extra trailing separator (#180) 2022-12-26 19:42:42 +01:00
Folke Lemaitre 4e4493b21d
feat(reloader): trigger LazyReload when changes were detected and after reload. Fixes #178 2022-12-26 19:00:11 +01:00
Folke Lemaitre bb53b8473c
fix(cache): never use packer paths from cache 2022-12-26 18:35:07 +01:00
Folke Lemaitre 46280a191b
fix(keys): don't escape pendig keys twice and only convert when number 2022-12-26 15:55:40 +01:00
Folke Lemaitre 9a2ecc8750
feat(ui): re-render after resize. Fixes #174 2022-12-26 14:19:39 +01:00
Folke Lemaitre 0ea771bd70
feat(ui): made all highlight groups and icons configurable 2022-12-26 10:24:53 +01:00
Folke Lemaitre 5f017bf655
docs: document highlight groups 2022-12-26 09:37:31 +01:00
Folke Lemaitre aed842ae1e
feat(plugin): added `Plugin.cond`. Fixes #89, #168 2022-12-26 09:37:30 +01:00
Folke Lemaitre 2f5c1be525
fix(ui): get plugin details from the correct plugin in case it was deleted 2022-12-26 09:37:30 +01:00
Folke Lemaitre 4aa362e8dc
feat(cache): make ttl configurable 2022-12-25 16:26:17 +01:00
Folke Lemaitre 9837d5be7e
fix(keys): only delete key handler mappings once 2022-12-25 16:17:50 +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 e632eb4ae0
style: mode no longer needed as param for view 2022-12-25 13:46:42 +01:00
jdrouhard 037f242430
fix(diff): use git show when only displaying one commit (#155) 2022-12-25 13:45:56 +01:00
max397574 8ea9d8b024
feat(ui): make lazy icon configurable (#163)
* feat(ui): make lazy icon configurable

* docs: add lazy icon config option
2022-12-25 13:41:33 +01:00
Folke Lemaitre a36d506393
feat(manage): added user events when operations finish. Fixes #135 2022-12-24 11:55:42 +01:00
Folke Lemaitre 3352fc6265
docs: added diff keybindings to help page 2022-12-24 11:41:06 +01:00
Folke Lemaitre be3909c544
feat(ui): added custom commands for lazygit and opening a terminal for a plugin 2022-12-24 11:30:16 +01:00
Folke Lemaitre 7d02da2ff0
feat(ui): added multiple options for diff command 2022-12-24 11:30:16 +01:00
Folke Lemaitre 8ad05feef1
feat(util): open terminal commands in a float 2022-12-24 11:30:16 +01:00
Folke Lemaitre 7c2eb15444
feat: util method to open a float 2022-12-24 11:30:16 +01:00
Folke Lemaitre b34e25873a
refactor: float is now a separate module 2022-12-24 11:30:16 +01:00
Folke Lemaitre fc182f7c5d
fix(manage): only clear plugins for the op instead of all 2022-12-24 11:30:16 +01:00
Folke Lemaitre 74d8b8e4e1
fix: plugin list can be string[]. Fixes #145 2022-12-24 11:30:16 +01:00
Folke Lemaitre 86f2c67aa8
fix(checker): update updated after every manage operation. Fixes #141 2022-12-24 11:30:15 +01:00
Folke Lemaitre 9110371120
feat(build): build can now be a list to execute multiple build commands. Fixes #143 2022-12-24 11:30:15 +01:00
Folke Lemaitre 593d6e400b
feat(ui): you can now hover over a plugin to open a diff of updates or the plugin homepage 2022-12-24 11:30:15 +01:00
Folke Lemaitre 83270cc5e5
refactor(commands): move ui/commands config to separate file 2022-12-23 20:55:56 +01:00
Folke Lemaitre 74b076e030
docs: added after/wants to migration guide and added an example that sets a key mode 2022-12-23 19:03:30 +01:00
Aaron 5a1812a633
Better terminology (#132) 2022-12-23 14:58:11 +01:00
Folke Lemaitre f360e336a5
fix(help): make sure we always generate lazy helptags 2022-12-23 13:13:34 +01:00
Folke Lemaitre d6304f0b42
docs: added `keys` to packer migration 2022-12-23 12:26:38 +01:00
Folke Lemaitre 50e3b91767
fix(ui): sort profiling chronological by default 2022-12-23 11:47:05 +01:00
Folke Lemaitre e973323e95
fix(ui): fixed extmarks while wrapping. Fixes #124 2022-12-23 11:18:32 +01:00
Folke Lemaitre 7dfb9c1f5c
feat(ui): added options to sort/filter profiling data 2022-12-23 10:43:22 +01:00
Folke Lemaitre fde5feea6d
refactor: refactored ui code 2022-12-23 10:18:19 +01:00
Folke Lemaitre cd023dc709
style: remove setting colors on startup 2022-12-23 08:41:42 +01:00
Folke Lemaitre e2bbf3deef
refactor: better annotations to make sumneko faster 2022-12-23 08:34:55 +01:00
Folke Lemaitre 65e903652b
fix: added error message to debug failing extmarks #117 2022-12-23 08:05:32 +01:00
Folke Lemaitre cc6276e9b0
refactor!: default lazy cache path is now under cache instead of state 2022-12-23 07:48:45 +01:00
Folke Lemaitre 8251c23c90
fix(checker): dont report updates on install during startup 2022-12-23 07:48:45 +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 81126403a8
feat!: `init()` no longer implies lazy-loading. Add `lazy=false` for affected plugins 2022-12-22 23:08:12 +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
Sebastian Lyng Johansen 9e983898b1
fix(ui): fix buffer being properly deleted (#112) 2022-12-22 22:01:01 +01:00
Folke Lemaitre 3f60f2dc13
fix(keys): key handlers were not working after reload 2022-12-22 21:58:19 +01:00
Folke Lemaitre b5d6afc4fa
fix(manage): do not reload pugins on clear 2022-12-22 21:58:19 +01:00
Folke Lemaitre b440b3ac2d
fix(keys): don't create with remap! 2022-12-22 21:07:24 +01:00
Folke Lemaitre 72b38999bc
fix(keys): dont delete handlers manually. Let loader do that 2022-12-22 18:53:19 +01:00
Folke Lemaitre 08d458c5ba
fix: remove debug print 2022-12-22 18:50:31 +01:00
Folke Lemaitre 2756a6f756
fix!: run `init()` before loading start plugins. Fixes #107 2022-12-22 18:47:34 +01:00
Folke Lemaitre 56890ce5f4
fix: remove lazy keymaps with the correct mode. Fixes #97 2022-12-22 17:49:32 +01:00
Folke Lemaitre 42f5aa76e2
fix: pass plugins instead of plugin names to command. Fixes #103 2022-12-22 17:25:12 +01:00
Folke Lemaitre 4bf771a6b2
feat(spec): allow using plugin names in dependencies 2022-12-22 17:25:12 +01:00
Folke Lemaitre 07b467738d
feat(loader): automatically lazy-load colorschemes 2022-12-22 13:49:17 +01:00
Folke Lemaitre 3415a61789
fix(ui): properly wrap ui elements on small screens. Fixes #92 2022-12-22 10:45:45 +01:00
Folke Lemaitre c0c2e1bd68
fix(cmd): allow ranges. Fixes #93 2022-12-22 10:37:02 +01:00
Folke Lemaitre 1c07ea15a3
feat(keys): more advanced options for setting lazy key mappings 2022-12-22 10:32:21 +01:00
Folke Lemaitre 28f1511e0a
fix: show mapleader warning with vim.schedule. Fixes #91 2022-12-22 09:12:06 +01:00
Folke Lemaitre 2200284165
fix(cache): overwrite cache entry with new modpath when loading a file. Fixes #90 2022-12-22 09:10:11 +01:00
Folke Lemaitre 63042310f4
feat(ui): show modpaths in debug 2022-12-22 09:09:35 +01:00
EdenEast dd9648f8ec
fix(clean): update lockfile on clean (#88) 2022-12-22 08:09:28 +01:00
Folke Lemaitre 488b48779c
fix(git): remove --also-filter-submodules. Fixes #86 #83 2022-12-22 08:08:07 +01:00
Folke Lemaitre dc150df456
test(lockfile): create config dir if it does not exist 2022-12-21 23:22:04 +01:00
Folke Lemaitre 4cf176bdab
fix(install): update lockfile also on install 2022-12-21 23:18:35 +01:00
Folke Lemaitre 7f6f31d66f
fix(git): make sure we properly fetch git submodules. Fixes #72 2022-12-21 23:13:18 +01:00
Folke Lemaitre 2e14a2f324
feat: added support for `nvim --headless "+Lazy! sync" +qa` 2022-12-21 22:28:09 +01:00
Folke Lemaitre bc617474a0
feat!: lazy api commands now take an opts table instead of a list of plugins 2022-12-21 22:27:36 +01:00
Folke Lemaitre fd1fbefc3d
feat(checker): defer checker to after VeryLazy to make sure nvim-notify and others are loaded 2022-12-21 21:08:13 +01:00
Folke Lemaitre 58f0876e81
fix: removed spell again from site. not needed. can download in config/spell 2022-12-21 20:09:12 +01:00
Folke Lemaitre 94d012511d
fix(rtp): keep site in rtp 2022-12-21 19:58:28 +01:00
Folke Lemaitre f0e1b853a0
feat: make hover easy to override 2022-12-21 19:04:08 +01:00
Folke Lemaitre 2ab651864f
fix(keys): feedkeys should include pending keys. Fixes #71 2022-12-21 19:02:14 +01:00
Folke Lemaitre 2fd78fbed8
fix(help): sort tags files for readmes so tags work properly. Fixes #67 2022-12-21 18:23:27 +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 c228908ffc
fix(health): don't show warning on `module=false` 2022-12-21 16:07:53 +01:00
Folke Lemaitre 876f7bd471
feat(loader): allow to add extra paths to rtp reset. Fixes #64 2022-12-21 15:19:14 +01:00
Folke Lemaitre a345649510
fix(cache): if we can't load from the cache modpath, find path again instead of erroring right away 2022-12-21 14:56:46 +01:00
Folke Lemaitre bbace14dc9
fix(git): only mark a plugin as dirty if an update changed the commit HEAD. Fixes #62 2022-12-21 14:45:32 +01:00
Tsakiris Tryfon a939243639
fix(checker): allow git checks only for non-pinned plugins (#61) 2022-12-21 14:39:08 +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 9dfeface3f
docs: fixed indentation of auto-generated code blocks 2022-12-21 11:43:05 +01:00
Folke Lemaitre 232232da5a
fix(ui): install command can have plugins as a parameter 2022-12-21 11:18:41 +01:00
Folke Lemaitre 4ca30390ec
feat(loader): warn when mapleader is changed after init 2022-12-21 10:51:31 +01:00
Folke Lemaitre 540847b7cb
fix: strip `/` from dirs. Fixes #60 2022-12-21 10:17:10 +01:00
Folke Lemaitre 86eaa118c6
fix(git): dereference tag refs. Fixes #54 2022-12-21 10:13:23 +01:00
Folke Lemaitre e95da35d09
feat(util): utility method to get sync process output 2022-12-21 10:13:22 +01:00
Folke Lemaitre 44f80a7f5d
feat(plugin): allow plugin files only without a main plugin module. Fixes #53 2022-12-21 09:03:47 +01:00
Folke Lemaitre 3814883aaa
fix(ui): set current win only when its valid 2022-12-21 08:33:10 +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 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
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