Commit Graph

170 Commits

Author SHA1 Message Date
Folke Lemaitre 4c26421785
feat(build): added support for build.lua, build/init.lua (#903) 2023-06-30 18:22:39 +02:00
Folke Lemaitre d5c31f1ed7
style: lua annotations 2023-06-30 18:08:52 +02:00
Folke Lemaitre 3867a81bb2
style: better uv annotations 2023-06-22 10:47:50 +02:00
Folke Lemaitre 616341372d
fix(manage): trigger LazySyncPre. Fixes #881 2023-06-18 22:38:05 +02:00
Folke Lemaitre 0bca18de5d
feat: added `Pre` events. Fixes #856. Fixes #877 2023-06-17 08:37:33 +02:00
Sean Baildon 53be2c0ee1
fix(git): always set origin name when cloning (#622)
* fix(git): force origin name

* Revert "fix(git): honor clone.defaultRemoteName. Fixes #602"

This reverts commit 5af93806aa.
2023-03-05 14:09:15 +01:00
Folke Lemaitre c60f7ea985
fix(process): unset GIT_WORK_TREE 2023-03-04 18:20:27 +01:00
Folke Lemaitre 77223786aa
fix(git): properly deal with failed clones. Fixes #571 2023-02-28 11:51:16 +01:00
Folke Lemaitre 5af93806aa
fix(git): honor clone.defaultRemoteName. Fixes #602 2023-02-28 10:51:17 +01:00
Folke Lemaitre 78264fb935
style: added proper types to process 2023-02-15 17:07:57 +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
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