Commit Graph

341 Commits

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