Editor configuration added.
This commit is contained in:
@@ -17,7 +17,7 @@ read credentials or other answers from the terminal.
|
||||
|
||||
@defform[(git command argument ...)]{
|
||||
Runs a registered Git @racket[command]. The arguments are passed to the command.
|
||||
Registered command symbols are @racket['status], @racket['add],
|
||||
Registered command symbols are @racket['init], @racket['status], @racket['add],
|
||||
@racket['commit], @racket['push], @racket['pull], @racket['fetch],
|
||||
@racket['config], @racket['branch], @racket['remote], @racket['stash], @racket['restore], @racket['reset], @racket['revert], @racket['rebase], @racket['merge], @racket['cherry-pick], @racket['mergetool], @racket['switch], @racket['clone],
|
||||
@racket['tag],
|
||||
@@ -54,6 +54,17 @@ converted from its literal syntax.
|
||||
|
||||
@section{Provided commands}
|
||||
|
||||
@defproc[(git-init [argument any/c] ...) boolean?]{
|
||||
Runs @tt{git init} with the supplied arguments and returns @racket[#t] when Git
|
||||
exits successfully.
|
||||
|
||||
@racketblock[
|
||||
(git-init)
|
||||
(git* init)
|
||||
(git* init --bare)
|
||||
]
|
||||
}
|
||||
|
||||
@defproc[(git-status [argument any/c] ...) list?]{
|
||||
Runs @tt{git status --porcelain} with the supplied arguments.
|
||||
|
||||
@@ -155,6 +166,56 @@ appear directly after @racket['config] or directly after @racket['get] /
|
||||
@racket['set!]. A successful write returns @racket[#t].
|
||||
}
|
||||
|
||||
@subsection{git-cli editor configuration}
|
||||
|
||||
The @racket[git-config] procedure also recognizes the git-cli-specific
|
||||
@tt{editor} operation. This does not write Git's @tt{core.editor}; it controls
|
||||
the editor command used by git-cli through @tt{GIT_EDITOR} and
|
||||
@tt{GIT_SEQUENCE_EDITOR}.
|
||||
|
||||
With no additional argument an interactive selection is displayed.
|
||||
|
||||
@racketblock[
|
||||
(git* config editor)
|
||||
]
|
||||
|
||||
The available editors can also be returned without prompting.
|
||||
|
||||
@racketblock[
|
||||
(git* config editor --list)
|
||||
]
|
||||
|
||||
Each item contains the short editor name, description, command and a boolean
|
||||
indicating whether that command is currently selected.
|
||||
|
||||
A detected editor can be selected by its short name, or automatic detection can
|
||||
be restored.
|
||||
|
||||
@racketblock[
|
||||
(git* config editor vscode)
|
||||
(git* config editor auto)
|
||||
]
|
||||
|
||||
An arbitrary editor command can be supplied using the ordinary procedure form.
|
||||
|
||||
@racketblock[
|
||||
(git 'config 'editor "C:\\Program Files\\MyEditor\\editor.exe --wait")
|
||||
]
|
||||
|
||||
Changing the editor updates both @tt{GIT_EDITOR} and
|
||||
@tt{GIT_SEQUENCE_EDITOR} immediately for subsequent Git commands.
|
||||
|
||||
@defproc[(find-editors) list?]{
|
||||
Returns all well-known GUI editors found on the current platform as
|
||||
@racket[(name description command)] items.
|
||||
}
|
||||
|
||||
@defproc[(set-editor-auto!) string?]{
|
||||
Clears the explicit git-cli editor selection, activates the first automatically
|
||||
detected editor and returns its command. An exception is raised when no
|
||||
well-known GUI editor can be found.
|
||||
}
|
||||
|
||||
@defproc[(git-branch [argument any/c] ...) (or/c boolean? list?)]{
|
||||
Runs @tt{git branch} with the supplied arguments. This can be used to list,
|
||||
create, rename, or delete branches according to the options supported by the
|
||||
@@ -328,8 +389,9 @@ to choose its own default.
|
||||
}
|
||||
|
||||
@defproc[(find-editor) (or/c string? #f)]{
|
||||
Returns the configured or detected GUI editor command used for
|
||||
@tt{GIT_EDITOR} and @tt{GIT_SEQUENCE_EDITOR}, without starting the editor.
|
||||
Returns the configured or detected GUI editor command. When git-cli is
|
||||
loaded, the detected editor is assigned once to @tt{GIT_EDITOR} and
|
||||
@tt{GIT_SEQUENCE_EDITOR}. The editor is not started by this procedure.
|
||||
}
|
||||
|
||||
@defproc[(set-editor! [command string?]) any/c]{
|
||||
|
||||
Reference in New Issue
Block a user