text editor selection: follow unix defacto standards (#356)
Currently, `tea` only supports the $EDITOR env var to open the user's preferred editor (used for reviewing pull requests). Standard \*nix practice is, however, to check for $VISUAL first and only then use $EDITOR as fallback. This is also done by Git itself, see man git-var(1). (Actually, the order there is $GIT_EDITOR > core.editor > $VISUAL > $EDITOR > vi) Co-authored-by: plgruener <pl.gruener@gmail.com> Reviewed-on: https://gitea.com/gitea/tea/pulls/356 Reviewed-by: Norwin <noerw@noreply.gitea.io> Reviewed-by: 6543 <6543@obermui.de> Co-authored-by: plgruener <plgruener@noreply.gitea.io> Co-committed-by: plgruener <plgruener@noreply.gitea.io>
This commit is contained in:
parent
df724b4006
commit
3129e60a73
|
@ -63,7 +63,7 @@ func ReviewPull(ctx *context.TeaContext, idx int64) error {
|
||||||
return task.CreatePullReview(ctx, idx, state, comment, codeComments)
|
return task.CreatePullReview(ctx, idx, state, comment, codeComments)
|
||||||
}
|
}
|
||||||
|
|
||||||
// DoDiffReview (1) fetches & saves diff in tempfile, (2) starts $EDITOR to comment on diff,
|
// DoDiffReview (1) fetches & saves diff in tempfile, (2) starts $VISUAL or $EDITOR to comment on diff,
|
||||||
// (3) parses resulting file into code comments.
|
// (3) parses resulting file into code comments.
|
||||||
func DoDiffReview(ctx *context.TeaContext, idx int64) ([]gitea.CreatePullReviewComment, error) {
|
func DoDiffReview(ctx *context.TeaContext, idx int64) ([]gitea.CreatePullReviewComment, error) {
|
||||||
tmpFile, err := task.SavePullDiff(ctx, idx)
|
tmpFile, err := task.SavePullDiff(ctx, idx)
|
||||||
|
|
|
@ -107,10 +107,13 @@ func ParseDiffComments(diffFile string) ([]gitea.CreatePullReviewComment, error)
|
||||||
|
|
||||||
// OpenFileInEditor opens filename in a text editor, and blocks until the editor terminates.
|
// OpenFileInEditor opens filename in a text editor, and blocks until the editor terminates.
|
||||||
func OpenFileInEditor(filename string) error {
|
func OpenFileInEditor(filename string) error {
|
||||||
editor := os.Getenv("EDITOR")
|
editor := os.Getenv("VISUAL")
|
||||||
if editor == "" {
|
if editor == "" {
|
||||||
fmt.Println("No $EDITOR env is set, defaulting to vim")
|
editor = os.Getenv("EDITOR")
|
||||||
editor = "vim"
|
if editor == "" {
|
||||||
|
fmt.Println("No $VISUAL or $EDITOR env is set, defaulting to vim")
|
||||||
|
editor = "vi"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get the full executable path for the editor.
|
// Get the full executable path for the editor.
|
||||||
|
|
Loading…
Reference in New Issue