Better documentation for git* and handling strings for symbols because of git*.

This commit is contained in:
2026-08-14 17:19:08 +02:00
parent 175343e0ed
commit d2e2298731
5 changed files with 79 additions and 36 deletions
+11 -3
View File
@@ -43,9 +43,17 @@ pass-through wrapper.
`git*` is the compact command-style syntax. Bare arguments are converted to
strings, so `(git* remote get-url origin)` is equivalent to
`(git 'remote "get-url" "origin")`. Use `(eval expression)` when an argument
must come from a Racket expression. `gt` remains available as a compatibility
alias for `git*`.
`(git 'remote "get-url" "origin")`. A bare identifier is therefore command-line
text, not the value of a Racket variable or procedure with the same name. Use
`(eval expression)` when an argument must come from a Racket expression.
For example, `(git* switch branch)` passes the text `"branch"`, while
`(git* switch (eval branch))` passes the value of the Racket variable `branch`.
git-cli-specific wrappers should accept the textual arguments produced by
`git*`; `new-version` accepts both symbols and text, so both
`(git 'new-version 'min)` and `(git* new-version min)` work.
`gt` remains available as a compatibility alias for `git*`.
```racket
(git* init)