Commit Graph

92 Commits

Author SHA1 Message Date
Folke Lemaitre d5686efbd0
feat: added `opts.git.cooldown` to allow updating plugins on slow connections. Fixes #1656 2024-07-23 13:31:25 +02:00
Folke Lemaitre 5bdb12a038
fix(build): only load the plugin before build for `:` build commands 2024-07-19 08:57:37 +02:00
Folke Lemaitre d731a6b005
feat(git): added git network throttle to limit network related git ops per interval. Closes #1635 2024-07-16 16:50:31 +02:00
Folke Lemaitre f0324defdd
fix(rocks): try building anyway even when prerequisits have not been met. (will likely fail) 2024-07-08 07:45:45 +02:00
Andre Toerien 72c0dc9462
fix(git): local plugin fixes (#1624)
## Description

As I described in
https://github.com/folke/lazy.nvim/pull/1512#issuecomment-2212474372,
this makes it so that local plugins will only show as needing updates if
the local branch is behind the upstream branch. This is done by checking
the output of the `git log` command, and only setting `plugin._.updates`
if the output is not empty.

This seems to solve my issue where local plugins with unpushed changes
always show as needing updates, but if there's a easier/better way of
doing it then please feel free to edit/close this. Or if you don't agree
that the current behaviour is a bug, then that's also fine - it's not a
big deal and I can easily just ignore the "updates available" notice.

I also came across a minor issue where the plugin diff view (press `d`)
compares the wrong commits for local plugins, because
[lua/lazy/view/init.lua](c771cf4928/lua/lazy/view/init.lua (L268))
always uses `get_target`. I fixed this by moving `get_local_target` into
`get_target` - I think this is simpler and more straightforward than the
alternative of adding a ternary everywhere `get_target` is called.

This second bugfix is a very small change, so I've just included it
here, but I'm happy to make a second PR if you'd like.

## Related Issue(s)

Related PR: #1512
2024-07-07 17:13:49 +02:00
Folke Lemaitre 81d2bfffdc
fix(git): only check for new commits for local plugins. Closes #1512 2024-07-07 08:42:21 +02:00
Folke Lemaitre c7ed87f9ca
perf: automatically suspend the scheduler when all threads are waiting (#1591)
* perf: automatically suspend the scheduler when all threads are waiting

* ci: fix ci

* test: cleanup
2024-06-30 08:48:03 +02:00
Folke Lemaitre 9cf745939d
feat(task): build procs can now yield a LazyMsg for more control 2024-06-28 20:17:35 +02:00
Folke Lemaitre ab46edbd47
perf: async render 2024-06-28 17:44:21 +02:00
Folke Lemaitre a36ebd2a75
refactor: async processes 2024-06-28 16:08:26 +02:00
Folke Lemaitre 60fe75c88d
fix(task): run on_exit async. See #1569 2024-06-28 00:35:41 +02:00
Folke Lemaitre 461552474c
refactor: cleanup 2024-06-28 00:35:40 +02:00
Folke Lemaitre 68cee30cdb
perf: prevent active waiting in coroutines. suspend/resume instead 2024-06-27 13:06:39 +02:00
Folke Lemaitre 82276321f5
fix(rocks): if installing with luarocks (binaries) fails, then build from source. Fixes #1563 2024-06-27 11:33:11 +02:00
Folke Lemaitre 249902ab31
fix(ui): diagnostics without status 2024-06-26 22:44:57 +02:00
Folke Lemaitre a0a51c06c2
feat: added `opts.headless` to control ansi output when running headless 2024-06-26 21:38:28 +02:00
Folke Lemaitre 206d208018
test: fix tests 2024-06-26 18:42:52 +02:00
Folke Lemaitre 6c7ef7e27a
refactor: logging 2024-06-26 18:31:31 +02:00
Folke Lemaitre 765773a176
refactor: use new async code for runner and simplify task class 2024-06-26 17:06:56 +02:00
Folke Lemaitre 768de1ebf6
refactor: move scheduler to async 2024-06-26 15:11:31 +02:00
Folke Lemaitre bbe136bda6
test: fix tests 2024-06-26 14:30:38 +02:00
Folke Lemaitre 0614ca6ca6
perf: tasks are now fully async 2024-06-26 14:28:53 +02:00
Folke Lemaitre 28e435b7f3
fix(git): fetch commit from origin or local to check if branch was changed. See #1549 2024-06-26 07:15:12 +02:00
Folke Lemaitre 7d3f69104f
fix(rocks): better errors / warnings when something goes wrong with luarocks 2024-06-25 13:23:25 +02:00
Folke Lemaitre 45cd8d3f0f
fix(rocks): hererocks paths on windows 2024-06-25 06:40:50 +02:00
Folke Lemaitre d87da76679
feat(rocks): use hererocks to install luarocks when luarocks is not found 2024-06-25 07:55:30 +02:00
Folke Lemaitre b73c57ed9e fix(luarocks): cleanup luarocks when deleting a plugin 2024-06-24 17:15:10 +02:00
Folke Lemaitre 368747bc9a feat(build): build files and functions are now async. use coroutine.yield to interrupt and report progress 2024-06-24 17:15:10 +02:00
Folke Lemaitre fcfd54835d feat: spec.rocks is no longer needed & added support for installing any luarock 2024-06-24 17:15:10 +02:00
Folke Lemaitre f1ba2e3d05 feat: luarocks support 2024-06-24 17:15:10 +02:00
Folke Lemaitre d2a4ce22dc
fix(git): force `autocrlf=false`. Fixes #1055 2024-05-13 08:34:39 +02:00
Folke Lemaitre 9e157df077
feat: refactor all vim.loop -> vim.uv and add a shim when needed 2024-03-22 08:58:36 +01:00
Folke Lemaitre 47d4baafcc
fix(fs): error when plugin directory to delete is not a valid directory 2024-01-19 16:09:28 +01:00
Folke Lemaitre 314193af1d
fix(build): allow build=false to skip building 2023-11-04 10:14:03 +01:00
Maria José Solano 4446fdb9af
feat(ui): check pinned packages that can't be updated (#1139)
* style: fix filter types

* feat: check outdated pinned plugins
2023-10-23 07:52:54 +02:00
Folke Lemaitre 58e5726592
feat(git): show help on how to remove local changes 2023-10-10 11:53:00 +02:00
Folke Lemaitre 736529d097
fix(git): automatically restore doc/tags when modified 2023-10-10 11:42:01 +02:00
Folke Lemaitre 43e9165994
feat(git): show error for local changes during check/update 2023-10-10 11:42:01 +02:00
Folke Lemaitre 22bf6ae04b
style: sort requires 2023-10-09 11:25:42 +02:00
Folke Lemaitre 189371c8d8
fix(build): allow `build` command to override plugin's build and option to disable warning 2023-06-30 21:19:33 +02:00
Folke Lemaitre 4c26421785
feat(build): added support for build.lua, build/init.lua (#903) 2023-06-30 18:22:39 +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 77223786aa
fix(git): properly deal with failed clones. Fixes #571 2023-02-28 11:51:16 +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 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 26a67e3c48
feat(config): added option to disable git filter. NOT recommended. Fixes #442 2023-01-23 19:19:00 +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 dc9c92a9b3
fix(git): properly compare git commits with short refs 2023-01-03 09:36:43 +01:00