| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
### Что случилось?
- Появилась возможность размечать свободные аргументы тегами (хранятся как ui32-значения)
- Теги могут быть статические (`.SetTag(ESomeTags::Tag1)`) и динамические (`.SetTag([] (const TString& a) {return a ? ESomeTags::Tag1 : ESomeTags::Tag2; })`).
- После парсинга можно получить свободные аргументы с определенным тегом (`res.GetFreeArgs(ESomeTags::Tag1)`)
commit_hash:c1a9d821da376538eb7e4251626052a9f03b941c
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
#### Проблема
Из TOptsParseResult сейчас невозможно понять, какую команду вызвали.
Существует метод [GetProgrammName](https://nda.ya.ru/t/SdJXhPQC7NczPm, который частично решает эту задачу, однако:
1. Его поведение зависит от флага [PrintShortCommandInUsage](https://nda.ya.ru/t/3sh6_wPV7NczPt Выставление флага меняет вывод `help`
2. Даже с флагом метод отдает одну строку вместе с запускаемым бинарем. Если хочется отделить только submod'ы, то эту строку приходится сплитить.
#### Решение
Добавил всюду где нужно InvocationParts, которые заполняются по ходу парсинга входных аргументов. В конечном итоге эти parts передаются в TOptsParseResult, откуда могут быть получены вызывающей стороной.
commit_hash:4cf72141552793b19a725b3d394b81215508b85f
|
| |
|
|
| |
commit_hash:953617f2251dbf97b237f24d08a7b08816adb90b
|
| |
|
|
| |
commit_hash:c0bcabe40fb4e3cad8e7b18076d6034df2bc5b49
|
| |
|
|
| |
commit_hash:9c2ada5b95be3f810d2750406d74d839bd2598ff
|
| | |
|
| | |
|
| |
|
| |
add UnnecessaryArgument
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Commit 2 of 2.
|
| |
|
|
| |
Commit 1 of 2.
|
| | |
|
| | |
|
| |
|
|
| |
<[email protected]>. Commit 2 of 2.
|
| |
|
|
| |
<[email protected]>. Commit 1 of 2.
|
| |
|
|
| |
Commit 2 of 2.
|
| |
|
|
| |
Commit 1 of 2.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Commit 2 of 2.
|
| |
|
|
| |
Commit 1 of 2.
|
| |
|
|
| |
Commit 2 of 2.
|
| |
|
|
| |
Commit 1 of 2.
|
| | |
|
| | |
|
| | |
|
| | |
|