Files

45 lines
1.1 KiB
Racket

#lang scribble/manual
@(require (for-label racket/base
git-cli))
@title[#:tag "top"]{rash-git-cli}
@author["Hans Dijkema / hans@dijkewijk.nl"]
@section{Rash integration}
The @tt{rash-git-cli} package adds a Linea/Rash line meaning to the
@racket[git] procedure from @racketmodname[git-cli].
@verbatim{
#lang rash
(require rash-git-cli)
git status
git add -A
git log --oneline -5
git commit -m "Update documentation"
}
In an ordinary Racket expression, @racket[git] remains the first-class
procedure exported by @racketmodname[git-cli]:
@racketblock[
(git 'status)
(procedure? git)
]
Bare words in line mode are quoted before they are passed to @racket[git].
Quoted strings and parenthesized Racket expressions retain their normal Racket
meaning.
The base @tt{git-cli} package has no dependency on Rash, Linea, or this package.
@section{Testing}
The package tests verify the Rash/Linea integration without invoking an
external Git executable. This keeps the package tests independent of the host
operating system, PATH configuration, current directory, and installed Git
software.