Commit Graph

49 Commits (fb3a793a273364e58f5cf47a230e1f7f5b302044)

Author SHA1 Message Date
Delyan Angelov 24ba660367
bitfield,flag: document the remaining functions 2021-11-18 20:15:26 +02:00
JalonSolov 1688148828
flag: switch panics to optionals (#11515) 2021-09-16 19:25:05 +03:00
a-iga 304f26edeb
flag: fix panic when given an empty string as args (#10937) 2021-07-24 11:26:00 +03:00
Delyan Angelov fd644e4e28
flag: add .usage_example/1, .footer/1, .remaining_parameters/0 and tests 2021-07-11 11:06:48 +03:00
Delyan Angelov 477d442f18
flag: add overridable --help and --version by default 2021-07-09 22:08:23 +03:00
JalonSolov f62b6b37f0
flag: handle `--` as a parsing stop, and pass everything after it in .finalise() (#10703) 2021-07-09 11:13:32 +03:00
Delyan Angelov 626517f5f7
tools: turn `v -watch` into a `v watch` sub-command, so that it can have its own options 2021-04-28 12:29:50 +03:00
Atakan Yenel d1fadaf30c
flag: add custom errors (#9515) 2021-03-30 15:31:02 +03:00
Delyan Angelov b335d47b72
flag: fix Flag.free(), workaround -autofree limitations 2021-03-23 21:28:44 +02:00
Delyan Angelov a593ff930f
flag: add a .free() method 2021-03-23 20:36:46 +02:00
Delyan Angelov 1eb3ed9818
flag: return error on .finalize() on CLI arguments with unknown short options too 2021-03-22 08:21:13 +02:00
Nick Treleaven 629d43caf5
checker: warn when using `goto` outside of `unsafe` (#8741) 2021-02-15 15:48:24 +02:00
Delyan Angelov 728344ff65
ci: fix `v test-cleancode` 2021-01-25 12:55:01 +02:00
Delyan Angelov 1a8a1ceb0a
pkgconfig,flag: add tests to pkgconfig, fix bugs and links, improve flag.usage() 2021-01-16 12:04:31 +02:00
Alexander Medvednikov 3e04dfc79f builtin: fix byte.str() (part 1) 2021-01-05 18:59:51 +01:00
zakuro dd516858d4
fmt: align struct field comments (#7632) 2021-01-03 21:10:25 +01:00
Delyan Angelov 9eb6c4ef87 flag: run vfmt over vlib/flag, add it to vtest-cleancode.v 2020-12-21 22:24:10 +02:00
Delyan Angelov 31ef921ef2 ci: fix warnings/errors due to the vfmt change 2020-10-15 16:17:52 +03:00
spaceface777 aa1d5fcbdd
flag: fix panic if flag value was not provided (#6478) 2020-09-25 16:31:35 +03:00
Marcin fb45e2e046
flag: fix panic on single `-` 2020-09-24 15:50:44 +03:00
Ned Palacios 36edd6295f
vlib: transfer intro to readme; normalize comments 2020-06-08 00:04:23 +03:00
pancake 8d10adf886
flag: fix a typo 2020-05-26 14:27:01 +02:00
yuyi dda875a9c8
all: unify const names to snake_case 2020-05-22 17:36:09 +02:00
Uwe Krüger 2635be511f
all: re-apply C++ support 2020-05-18 21:38:06 +02:00
Alexander Medvednikov 07a78b2843 Revert "all: C++ compiler support"
This reverts commit 9a237c3e82.
2020-05-18 17:05:48 +02:00
Uwe Krüger 9a237c3e82
all: C++ compiler support 2020-05-18 15:51:36 +02:00
yuyi 7f4cf08516
parser: check `(mut f Foo)` syntax 2020-05-17 13:51:18 +02:00
Fabien Salathe c9c956fc8a
flag: fix a comment with an example 2020-05-10 22:27:14 +02:00
Enzo Baldisserri 682838a0cf
checker: check array and fields mutability 2020-04-27 22:53:26 +02:00
yuyi 9f4d498ff1
all: update`import ()` and `[]array` 2020-04-26 13:49:31 +02:00
yuyi bc4a576c54
flag: fix flag_test.v 2020-04-21 14:44:17 +03:00
Alexander Medvednikov 63d747042e cgen: fix sizeof(&int) 2020-04-11 16:24:25 +02:00
Delyan Angelov 3fd547f2e5 flag: fix compilation of programs using flag module 2020-04-08 19:49:32 +03:00
Alexander Medvednikov 33b03449d5 tools: remove vnames.v for now 2020-04-04 16:39:08 +02:00
yuyi e6a679b019
flag: octal format 2020-03-20 20:21:16 +01:00
yuyi 9ef8499183
flag: unify apis 2020-03-19 07:06:37 +01:00
Alexander Medvednikov 7a92a47eb3
flag: fix array boundary check 2020-03-06 02:02:32 +01:00
Delyan Angelov c1cc203c17 tools: bugfixes and new features for oldv and performance_compare 2020-01-08 21:45:47 +01:00
Delyan Angelov 67f397f888 os: implement os.cachedir() . Use it inside os.tmpdir() too 2020-01-03 19:46:23 +01:00
Delyan Angelov d2f2ac523f flag: fix displaying of both abbreviated and long options
Add tests for the usage screen
2019-12-30 16:38:32 +01:00
radare 49430a5c31 flag help message is now a bit more compact 2019-12-30 05:21:22 +01:00
lutherwenxu dadf147382 flag: implement *_opt() and *_multi()
It's very often that someone will need to process values that were not
provided separately (eg. generating a complex default value like in V).

This commit allows the user to call the *_opt() functions instead of
forcing them to provide some magical default values.

* flag: Implement int_multi(), float_multi() and string_multi()

These 3 functions are useful when the application expects a flag to be
repeated more than once.

A sample would be:
v -cflags someflag -cflags secondflag

This feature exposes the raw array that the flag parser internally keeps
and allow the application to parse it however they want instead of
dropping everything except the first element.

* flag: Add documentation

Add comments describing what *_opt() and *_multi() do.
2019-12-16 19:03:38 +03:00
Delyan Angelov ec15bfb7d1 v test v => v test-compiler 2019-12-01 12:50:13 +03:00
joe-conigliaro 59378dce46 compiler/vlib: replace substr/left/right with `[start..end]` everywhere 2019-10-27 10:03:15 +03:00
Delyan Angelov 366c50674c tooling: add tools/compare_v_performance_between_commits
easily compare v performance/size across commits.

* fix eprintln on linux (it now uses stderr, and flushes it).

* flag: cleaner usage information.
2019-09-28 14:17:16 +03:00
Vitor Oliveira 1a099c9284 vlib: fix several typos 2019-09-14 23:54:14 +03:00
Marco Böttcher c924a6cf00 flag: allow to define flags with abbreviation
* flag: allow to check the count of the free args to produce an error

* flag: allow to define flags with abbreviation

flags could be defined to use a single char as abbreviation like
'--output' or '-o'
'--help' or '-h'
2019-08-07 16:52:10 +02:00
Marco Böttcher ff730b4eb0 flag: allow to check the count of the free args to produce an error 2019-08-06 01:56:42 +02:00
Marco Böttcher cb9fb66ccf flag: added a simple command line parser 2019-07-12 15:47:27 +02:00