tools: make the `v` REPL help screen look nicer (#10833)
parent
355f46f475
commit
51dd8304bb
|
@ -115,7 +115,7 @@ fn repl_help() {
|
||||||
fn run_repl(workdir string, vrepl_prefix string) {
|
fn run_repl(workdir string, vrepl_prefix string) {
|
||||||
if !is_stdin_a_pipe {
|
if !is_stdin_a_pipe {
|
||||||
println(util.full_v_version(false))
|
println(util.full_v_version(false))
|
||||||
println('Use Ctrl-C or `exit` to exit, or `help` to see other available commands')
|
println('Use Ctrl-C or ${util.pretty_print('exit')} to exit, or ${util.pretty_print('help')} to see other available commands')
|
||||||
}
|
}
|
||||||
|
|
||||||
if vstartup != '' {
|
if vstartup != '' {
|
||||||
|
|
14
cmd/v/v.v
14
cmd/v/v.v
|
@ -60,9 +60,13 @@ fn main() {
|
||||||
// Running `./v` without args launches repl
|
// Running `./v` without args launches repl
|
||||||
if args.len == 0 {
|
if args.len == 0 {
|
||||||
if os.is_atty(0) != 0 {
|
if os.is_atty(0) != 0 {
|
||||||
println('Welcome to the V REPL (for help with V itself, type `exit`, then run `v help`).')
|
cmd_exit := util.pretty_print('exit')
|
||||||
|
cmd_help := util.pretty_print('v help')
|
||||||
|
file_main := util.pretty_print('main.v')
|
||||||
|
cmd_run := util.pretty_print('v run main.v')
|
||||||
|
println('Welcome to the V REPL (for help with V itself, type $cmd_exit, then run $cmd_help).')
|
||||||
eprintln(' NB: the REPL is highly experimental. For best V experience, use a text editor,')
|
eprintln(' NB: the REPL is highly experimental. For best V experience, use a text editor,')
|
||||||
eprintln(' save your code in a `main.v` file and do: `v run main.v`')
|
eprintln(' save your code in a $file_main file and execute: $cmd_run')
|
||||||
} else {
|
} else {
|
||||||
mut args_and_flags := util.join_env_vflags_and_os_args()[1..].clone()
|
mut args_and_flags := util.join_env_vflags_and_os_args()[1..].clone()
|
||||||
args_and_flags << ['run', '-']
|
args_and_flags << ['run', '-']
|
||||||
|
@ -124,7 +128,7 @@ fn main() {
|
||||||
if prefs.is_help {
|
if prefs.is_help {
|
||||||
invoke_help_and_exit(args)
|
invoke_help_and_exit(args)
|
||||||
}
|
}
|
||||||
eprintln('v $command: unknown command\nRun "v help" for usage.')
|
eprintln('v $command: unknown command\nRun ${util.pretty_print('v help')} for usage.')
|
||||||
exit(1)
|
exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -134,7 +138,7 @@ fn invoke_help_and_exit(remaining []string) {
|
||||||
2 { help.print_and_exit(remaining[1]) }
|
2 { help.print_and_exit(remaining[1]) }
|
||||||
else {}
|
else {}
|
||||||
}
|
}
|
||||||
println('`v help`: provide only one help topic.')
|
println('${util.pretty_print('v help')}: provide only one help topic.')
|
||||||
println('For usage information, use `v help`.')
|
println('For usage information, use ${util.pretty_print('v help')}.')
|
||||||
exit(1)
|
exit(1)
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,7 @@ module util
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import time
|
import time
|
||||||
|
import term
|
||||||
import v.pref
|
import v.pref
|
||||||
import v.vmod
|
import v.vmod
|
||||||
import v.util.recompilation
|
import v.util.recompilation
|
||||||
|
@ -569,3 +570,9 @@ pub fn find_all_v_files(roots []string) ?[]string {
|
||||||
}
|
}
|
||||||
return files
|
return files
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Highlight a command with an on-brand background to make CLI
|
||||||
|
// commands immediately recognizable.
|
||||||
|
pub fn pretty_print(command string) string {
|
||||||
|
return term.bright_white(term.bg_cyan(' $command '))
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue