v

Зеркало из https://github.com/vlang/v
Форк
0
/
version.v 
41 строка · 945.0 Байт
1
module cli
2

3
fn version_flag(with_abbrev bool) Flag {
4
	sabbrev := if with_abbrev { 'v' } else { '' }
5
	return Flag{
6
		flag:        .bool
7
		name:        'version'
8
		abbrev:      sabbrev
9
		description: 'Prints version information.'
10
	}
11
}
12

13
fn version_cmd() Command {
14
	return Command{
15
		name:        'version'
16
		description: 'Prints version information.'
17
		execute:     print_version_for_command
18
	}
19
}
20

21
fn print_version_for_command(cmd Command) ! {
22
	if cmd.args.len > 0 {
23
		for sub_cmd in cmd.commands {
24
			if sub_cmd.name == cmd.args[0] {
25
				version_cmd := unsafe { &sub_cmd }
26
				print(version_cmd.version())
27
				return
28
			}
29
		}
30
		println('Invalid command: ${cmd.args.join(' ')}')
31
	} else if cmd.parent != unsafe { nil } {
32
		println(cmd.parent.version())
33
	} else {
34
		println(cmd.version())
35
	}
36
}
37

38
// version returns a generated version `string` for the `Command`.
39
pub fn (cmd Command) version() string {
40
	return '${cmd.name} version ${cmd.version}'
41
}
42

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.