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
Folke Lemaitre
0d3f2c4042
feat(git): `Plugin.submodules = false` will now skip fetching git submodules
2023-02-12 12:56:42 +01:00
Folke Lemaitre
452d4eb719
fix(process): allow overriding GIT_SSH_COMMAND. Fixes #491 . Fixes #492
2023-02-06 09:17:08 +01:00
Folke Lemaitre
3d2dcb2d5e
fix(log): properly check if plugin dir is a git repo before running git log
2023-02-01 08:26:20 +01:00
Folke Lemaitre
0c980312fd
fix(commands): sync with plugins list should not delete those plugins. Fixes #475
2023-02-01 08:06:48 +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
c32a6185ac
fix(checker): dont check for updates when there's tasks with errors
2023-01-23 19:19:00 +01:00
Folke Lemaitre
ed210702f5
fix(checker): dont clear tasks when running update check
2023-01-23 19:18:59 +01:00
Folke Lemaitre
4008b57d88
fix(checker): make sure we show logs when only doing a fast check
2023-01-22 14:30:12 +01:00
Folke Lemaitre
9858001c3c
fix(git): unset GIT_DIR when spawning a process. Fixes #434
2023-01-20 20:41:36 +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
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
Folke Lemaitre
208f91b52f
feat(git): some debugging tools for git
2023-01-16 20:41:29 +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
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
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
5ed89b5a0d
fix(config): properly handle uis connecting after startup
2023-01-07 09:12:59 +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
f36c7cb0dc
feat(version): allow version=false to override default version
2023-01-03 21:19:20 +01:00
Folke Lemaitre
dc9c92a9b3
fix(git): properly compare git commits with short refs
2023-01-03 09:36:43 +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
919b7f5de3
feat(spec): added `import` to import other plugin modules
2023-01-02 09:44:28 +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
Folke Lemaitre
23c0587791
feat(commands): added build command to force rebuild of a plugin
2023-01-01 09:41:43 +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
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
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
6c0b803999
fix(git): add --no-show-signature. Fixes #218
2022-12-29 01:02:05 +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
a36d506393
feat(manage): added user events when operations finish. Fixes #135
2022-12-24 11:55:42 +01:00
Folke Lemaitre
7d02da2ff0
feat(ui): added multiple options for diff command
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
8251c23c90
fix(checker): dont report updates on install during startup
2022-12-23 07:48:45 +01:00
Folke Lemaitre
b5d6afc4fa
fix(manage): do not reload pugins on clear
2022-12-22 21:58:19 +01:00
Folke Lemaitre
28f1511e0a
fix: show mapleader warning with vim.schedule. Fixes #91
2022-12-22 09:12:06 +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
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
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
4ca30390ec
feat(loader): warn when mapleader is changed after init
2022-12-21 10:51:31 +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
7be46bceef
style: removed unused requires
2022-12-20 22:32:16 +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
1371a14167
fix(build): use the shell to execute build commands
2022-12-20 16:57:02 +01:00
Folke Lemaitre
ddf36d7748
fix: checker should not error on non-existing dirs
2022-12-20 13:44:21 +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
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
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
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
4cfe0b5315
refactor: `Plugin.uri` => `Plugin.url`
2022-12-13 10:10:17 +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
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
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
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
5134e797f3
feat!: all plugins are now opt. Plugin.opt => Plugin.lazy
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
fb96183753
feat: allow config of default for version field
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
4438faf9a9
perf: removed partial spec caching. not worth the tiny performance boost
2022-11-30 00:19:08 +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
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
32fa5f8441
fix: when just cloned, never commit lock
2022-11-29 14:27:32 +01:00
Folke Lemaitre
0774f1bc25
feat: added support for Plugin.lock (wont update)
2022-11-29 12:36:07 +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
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
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