Commit Graph

449 Commits

Author SHA1 Message Date
Folke Lemaitre 77223786aa
fix(git): properly deal with failed clones. Fixes #571 2023-02-28 11:51:16 +01:00
Folke Lemaitre b814d87089
style(cache): removed hack for relative paths 2023-02-27 20:25:03 +01:00
Folke Lemaitre 1657ae9b8c
fix(keys): set nowait for lazy keymaps when needed. Fixes #600 2023-02-27 09:59:47 +01:00
github-actions[bot] 8077428e63
chore(main): release 9.8.5 (#563)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-20 09:06:09 +01:00
github-actions[bot] f2cc9ef6ac
chore(main): release 9.8.4 (#557)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-17 17:06:19 +01:00
Folke Lemaitre ff76e58961
fix(spec): make sure imported specs are sorted alphabetically 2023-02-17 13:58:23 +01:00
github-actions[bot] 8186cc5db3
chore(main): release 9.8.3 (#549)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-16 13:29:23 +01:00
Folke Lemaitre e916f41df2
fix(cache): hack to work around plugins trying to load relatve modules. Fixes #543 2023-02-15 18:20:02 +01:00
github-actions[bot] 4a0857cc23
chore(main): release 9.8.2 (#548)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-15 17:14:00 +01:00
Folke Lemaitre 9ca3222061
fix(cache): lsmod now also supports lua libs. Fixes #544 2023-02-15 17:08:36 +01:00
github-actions[bot] c249ea376b
chore(main): release 9.8.1 (#538)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-14 22:05:14 +01:00
Folke Lemaitre 6a18404b7d
fix(keys): fixed keys types. rhs can be `false` 2023-02-14 12:19:49 +01:00
Folke Lemaitre 17a3c3acea
perf: more cache optims 2023-02-14 11:00:56 +01:00
Folke Lemaitre 6351a2e8f3
refactor: Cache.stats -> Cache.stats.find 2023-02-13 17:24:15 +01:00
Folke Lemaitre b1f7ae68a7
perf: use modkey instead of modpath 2023-02-13 17:22:00 +01:00
github-actions[bot] c778b7aa04
chore(main): release 9.8.0 (#520)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-13 12:07:52 +01:00
Folke Lemaitre 462633bae1
perf: new file-based cache that ensures correct rtp order (#532)
* perf: new file-based cache that ensures rtp is alweays correct and will cache all files, including those after startup

* refactor: new cache

* test: fix tests

* fix(cache): cache file names on Windows

* feat(cache): allow to disable the cache

* docs: updated cache settings
2023-02-13 12:01:56 +01:00
ryuryu-ymj bc978ca9be
fix(icons): replace an obsolete Nerd icon (#529) 2023-02-11 09:03:10 +01:00
Folke Lemaitre c83d2aeb27
fix(loader): don't deactivate when not loaded 2023-02-10 17:47:25 +01:00
Yahir Eduardo Bravo Tafur a147110390
fix(cmd): fix Error when trigger on range defined command that doesn't support count (#519) 2023-02-09 18:02:40 +01:00
github-actions[bot] d13fe93535
chore(main): release 9.7.0 (#505)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-09 14:44:13 +01:00
Folke Lemaitre c734d941b4
fix(keys): feed keys instead of returning expr for Neovim 0.8.x. Fixes #511 2023-02-08 16:00:56 +01:00
Folke Lemaitre ddaffa0715
fix(keys): replace keycodes manually 2023-02-08 09:33:38 +01:00
MurdeRM3L0DY 4272d2100a
fix(keys): refactor retrigger mechanism (#428)
* fix keymap retrigger in operator mode

* remove unnecessary retrigger logic

we can just eval `"<Ignore>" .. lhs` to retrigger the mapping

* remove unused function

---------

Co-authored-by: MurdeRM3L0DY <>
2023-02-08 00:45:28 +01:00
Folke Lemaitre 57a3960faf
feat: deactivate WIP 2023-02-07 23:52:02 +01:00
Folke Lemaitre 49b43def14
fix(install): dont load the colorscheme again if a `config()` of the colorscheme also loads it. Fixes #488 2023-02-07 22:59:05 +01:00
github-actions[bot] 48c9b37294
chore(main): release 9.6.0 (#504)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-07 22:02:20 +01:00
Folke Lemaitre 3c29f196f4
feat(cmd): use cmd table instead of trying to create the cmd string. Fixes #472 2023-02-07 20:57:00 +01:00
github-actions[bot] 0e4017152d
chore(main): release 9.5.1 (#478)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-02-07 17:09:39 +01:00
github-actions[bot] 9b208696e1
chore(main): release 9.5.0 (#444)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-25 09:10:46 +01:00
Null Chilly 772d8888cc
feat(dev): optionally fallback to git when local plugin doesn't exist (#446)
* feat: fallback to git when local plugin isn't found

* feat(option): fallback to git when local plugin doesn't exist
2023-01-24 22:55:34 +01:00
Folke Lemaitre 5d9d35404f
feat(util): utility method to walk over all modules in a directory 2023-01-23 19:19:00 +01:00
Folke Lemaitre 26a67e3c48
feat(config): added option to disable git filter. NOT recommended. Fixes #442 2023-01-23 19:19:00 +01:00
Folke Lemaitre 908d71872b
docs: typo 2023-01-22 15:24:13 +01:00
github-actions[bot] 7674ee6254
chore(main): release 9.4.0 (#417)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-22 15:18:43 +01:00
Folke Lemaitre d6fc848067
feat: added `config.ui.wrap` and improved wrapping when wrap=true. Fixes #422 2023-01-19 08:45:27 +01:00
Folke Lemaitre c389ad552b
fix(spec): dont complain about an invalid short url, when a full url is set. Fixes #421 2023-01-18 08:39:02 +01:00
Folke Lemaitre 813fc944d7
feat(checker): checker will now save last check time and only check at configured frequency even after restarting Neovim 2023-01-18 08:39:02 +01:00
github-actions[bot] 4f60facf18
chore(main): release 9.3.1 (#410)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2023-01-17 14:37:11 +01:00
Folke Lemaitre c791c0ed7d
fix: work-around for libuv issue where fs_scandir_next sometimes fails to return a file type 2023-01-17 14:35:21 +01:00
Folke Lemaitre 1b2a6f631c
perf(plugin): de-duplicate dependencies, keys, ft, event and cmd 2023-01-17 14:00:42 +01:00
Folke Lemaitre da4e8cc245
fix(spec): dont copy dep and super state from existing plugins 2023-01-17 14:00:42 +01:00
Folke Lemaitre baaf8ddfff
fix(spec): when overriding a spec by name that has not been imported yet, show an error when needed 2023-01-17 14:00:42 +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 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
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
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
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 74bc61ab97
fix(handlers): allow overriding handler values 2023-01-11 13:44:09 +01:00
Folke Lemaitre 5aca9280df
perf(util): execute VeryLazy right after UIEnter 2023-01-11 13:40:19 +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
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 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 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 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 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 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 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 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 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 ff1e322b4f
style: debug 2023-01-03 09:13:22 +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 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 39b66027a5
feat(spec): added support for importing multiple spec modules with `import = "foobar"` 2023-01-01 21:07:05 +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
Folke Lemaitre ed0583e82b
fix(util): remove double forward slashes 2022-12-31 09:55:55 +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
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 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 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