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
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
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
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
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
b6ebed5888
fix(plugin): pass plugin as arg to config/init/build
2022-12-26 22:59:07 +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
0ea771bd70
feat(ui): made all highlight groups and icons configurable
2022-12-26 10:24:53 +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
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
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
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
fde5feea6d
refactor: refactored ui code
2022-12-23 10:18:19 +01:00
Folke Lemaitre
e2bbf3deef
refactor: better annotations to make sumneko faster
2022-12-23 08:34:55 +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
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
Folke Lemaitre
3f60f2dc13
fix(keys): key handlers were not working after reload
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
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
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
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
2e14a2f324
feat: added support for `nvim --headless "+Lazy! sync" +qa`
2022-12-21 22:28:09 +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
2ab651864f
fix(keys): feedkeys should include pending keys. Fixes #71
2022-12-21 19:02:14 +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
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
ff24f493ee
fix(loader): source rtp `/plugin` files after loading start plugins. Fixes
2022-12-21 14:34:31 +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
44f80a7f5d
feat(plugin): allow plugin files only without a main plugin module. Fixes #53
2022-12-21 09:03:47 +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
Folke Lemaitre
ffcd0ab7bb
fix(loader): source filetype.lua before plugins. Fixes #35
2022-12-20 20:32:37 +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
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
f78d8bf376
fix: show error when merging, but continue
2022-12-20 13:36:18 +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
1efa710210
feat: added `module=false` to skip auto-loading of plugins on `require`
2022-12-19 14:56:48 +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
a46c0c04f1
feat: never source `packer_compiled.lua`
2022-12-17 17:35:45 +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
23984dd1f3
fix: set correct dir for lazy plugin
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
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
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
ccdf65b5b8
fix: `Plugin.init` implies lazy-loading
2022-12-15 00:23:09 +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
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
65cd28e613
feat(ui): added update checker
2022-12-05 20:49:23 +01:00
Folke Lemaitre
b8d8648d28
refactor: moved handler to separate modules
2022-12-05 14:47:30 +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
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
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
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
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
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
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
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
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
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
4384d0e6d9
feat: added lockfile support
2022-11-29 00:15:13 +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
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
9179c0a14d
style: cleanup & annotations
2022-11-28 07:36:32 +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
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
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
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
6f835ab87b
feat: url open handlers
2022-11-23 16:12:12 +01:00
Folke Lemaitre
00ff59f385
refactor: cleanup
2022-11-23 16:11:14 +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
54d5ff18f5
perf: split caching in state, cache and module
2022-11-22 21:12:33 +01:00