✨ Add long-form option parsing
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
So far we could only add single-letter (POSIX) options: `-e`, `-n` and so forth. Since we will run out of alphabet at some point, this commit introduces parsing of multi-letter long-form (gnu) options (plus any modern application should really support it anyways): `--echo`, `--noline`. Additionally, we support supplying long-form options that supply a value both in the spaced (`--hist-limit 0`) and the equals (`--hist-limit=0`) forms. Short, long, spaced, equals can be mixed and matched between freely. Lastly, we retain the ability to concatenate short options as before (`-ne` is valid, as is `-P0` for the respective options above). This should cover all bases and does not complicate the code too much to keep a coherent overview. Changed several code samples in the documentation to make use of short- or long-form options to point out possibility.
This commit is contained in:
parent
6c037a5771
commit
d44cbf5b74
4 changed files with 123 additions and 45 deletions
|
|
@ -85,3 +85,29 @@ typing result"
|
|||
BEMOJI_PICKER_CMD="echo heart" run --keep-empty-lines -- bemoji -ne
|
||||
assert_output --regexp '^heart$'
|
||||
}
|
||||
|
||||
@test "Understands long-form options" {
|
||||
run bemoji --help
|
||||
assert_success
|
||||
assert_output --partial "A simple emoji picker."
|
||||
}
|
||||
|
||||
@test "Understands long-form equals values" {
|
||||
BEMOJI_CLIP_CMD="echo heart" run bemoji --hist-limit=0
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "Understands long-form spaced values" {
|
||||
BEMOJI_CLIP_CMD="echo heart" run bemoji --hist-limit 0
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "Understands short-form spaced values" {
|
||||
BEMOJI_CLIP_CMD="echo heart" run bemoji -P 0
|
||||
assert_success
|
||||
}
|
||||
|
||||
@test "Can concatenate short-form options and values" {
|
||||
BEMOJI_CLIP_CMD="echo heart" run bemoji -neP0
|
||||
assert_success
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue