* fix(diff): add --no-pager and package header to git diff
Previously, each package's diff was shown via a separate `git diff`
invocation with Show(), allowing git to invoke its own pager (e.g. less)
independently for each package. This caused inconsistent pagination:
large diffs opened a pager, small diffs scrolled past in the terminal.
Changes:
- Add --no-pager flag to git diff so git doesn't open its own pager
per package; all diffs now stream consistently to stdout.
- Print a package name header before each diff so users can easily
identify which package each diff belongs to when reviewing multiple
packages.
Closes#1243
* bunch up diffs and render in one go
Co-authored-by: Jo Garnier <me@jguer.space>
* feat(lua): add lua-language-server type stubs for the yay global
Ship a meta/yay.meta.lua definition file that declares the `yay` global,
all yay.opt fields, and every autocmd event payload so lua-language-server
users get completion, hover docs, and typo detection without an
"Undefined global `yay`" warning.
- meta/yay.meta.lua: 232-line stub covering opt (45 fields), log, abort,
create_autocmd with per-event overloads, and 14 payload classes for the
5 autocmd events (AURPreInstall, AURPostDownload, UpgradeSelect,
PostInstall, SearchFilter). Return contracts for UpgradeSelect and
SearchFilter are annotated.
- doc/lua.md: add "Editor support" section with .luarc.json setup.
- doc/init.lua: fix PostInstall example referencing pkg.installed, a
field that does not exist on PostInstallPackage.
- Makefile: install/uninstall meta/yay.meta.lua to
$(PREFIX)/share/yay/meta/ so the documented /usr/share/yay/meta path
exists on installed systems.
Closes#2876
* doc(lua): fix api-since version to v13.0.1
* feat(lua): apply review feedback on type stubs
Type opt fields as string unions with descriptions, rename to yay.d.lua
per LuaLS docs, strip redundant comments from doc/init.lua, bump to v13.0.2.
Tested everything again: go build, go test, lua-language-server, gendocs.
* doc(lua): move "editor support", add hyperlinks
added link to `init.lua` example in "location" paragraph
having "editor support" paragraph at the very bottom of document didn't make any sense. user would want to have lsp editor support right after creating a file in config dir if ever.
removed useless paragraph about `.luarc.json` location that already been explained aboved.
added hyperlinks for luals extensions. couldn't find any special info for helix (unlike jetbrains), but it should be already covered by "other editors"
---------
Co-authored-by: danielwerg <35052399+danielwerg@users.noreply.github.com>
* fix: propagate Maintainer field through dep graph and upgrade service
Add Maintainer to InstallInfo and propagate it through the dependency
graph (dep_resolve, dep_visual) and UpgradeService. Update docs
generator with TOC support and Lua page builder.
* lint
* add upgrade hook structure
* remove extra field
* feat: Add UpgradeSelect hook logging and security example
Add yay.log API to UpgradeSelect hooks for informational and warning messages.
- Add yay.log.info() and yay.log.warn() for hook logging
- Add doc/examples/recently_modified.lua: practical example to pre-exclude
recently-modified AUR packages (supply chain attack mitigation)
- Update doc/init.lua with improved UpgradeSelect example
- Update doc/lua.md with logging API documentation
- Refactor autocmd and load modules for cleaner log integration
- Add comprehensive unit tests for logging functionality
* lint