Commit Graph

577 Commits

Author SHA1 Message Date
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