172 похожих чатов

Всем привет, вопрос по clap, может кто подскажет. Есть вот такая

структура и нужно выдавать различный дескрипшн для разных случаев, это возможно в derive Api?
pub struct Args {
#[arg(short('k'), long)]
/// SSH key location path (default is: $HOME/.ssh/id_rsa) <-- можно ли сюда как-то динамически задать строку из переменной?
pub ssh_key_path: Option<std::path::PathBuf>,
}

7 ответов

11 просмотров

Док коменты это компайл тайм инфа, т.е. тебе нужно будет как минимум для каждого дескрипшина отдельный тип завести. Типа можно завернуть в какой-то макрос и погенерить для разных кейсов разные типы добавляя #[doc] аттрибут. Второй вариант. это не через дерайв апи, а через https://docs.rs/clap/latest/clap/trait.CommandFactory.html и рефлексию в клепе. Поидее для дерайв структур этот трейт реализуется. а дальше https://docs.rs/clap/latest/clap/struct.Command.html#method.mut_arg и менять дескрипшин у аргумента нужного.

Vladimir
Док коменты это компайл тайм инфа, т.е. тебе нужно...

даже если юзать CommandFactory, строки для клэпа генерируются один раз при запуске. Если нужно менять строку во время работы - клэп не зайдет

Fred- Автор вопроса
Alexander Sergeev
даже если юзать CommandFactory, строки для клэпа г...

Нужно условно компилить для разных ос, для винды один дескрипшн, для юникс другой. Так что команд фактори подойдет

Alexander Sergeev
даже если юзать CommandFactory, строки для клэпа г...

может у него от переменных окружений зависит - или от файла\нейма программы - такое можно чекнуть до генерации матчера клепа. Теоретически можно даже какую-то субкоманду чекнуть, но это сложнее.

Fred
Нужно условно компилить для разных ос, для винды о...

ну если условно компилить, то тебе вообще просто атрибут можно с cfg_if задать

Fred
Нужно условно компилить для разных ос, для винды о...

#[cfg_attr(windows, doc = "windows.rs")] ну или у клепа там отдельный атрибут для хелпа можно заюзать

Vladimir
#[cfg_attr(windows, doc = "windows.rs")] ну или у ...

нихуя ти жостко виступаешь. учишь юних нациков расту

Похожие вопросы

Обсуждают сегодня

Добрый вечер. Есть вопрос, а может и предложение. Был у меня диалог в другой группе о делфи и я задался вопросом: "А нельзя ли в делфи цвет //коментария и {комментария} сде...
Kraszx
24
Всем привет! Подскажи, пожалуйста, как передать в TComboBox сразу значение и id записи. На Delphi я делал так: ComboBox1.Items.AddObject('Какое-то значение', Pointer(id запис...
Евгений
13
Мдя, прикол, боевая сборка запускается (именно под отладчиком) после F9 примерно полторы минуты (97 секунд если быть точным). Начал копать - проблема детектится сразу - зависа...
Александр (Rouse_) Багель
38
Здравствуйте, вопрос по структурам данных. Были у вас случаи, когда пришлось писать деревья или двунаправленные списки?
/ /
50
Товарищи, кто работа с iphelper? Или может я в самой логике ошибки фигачу, не пойму.... var ifTable : PMIB_IFTABLE; size, corSize: DWORD; Buffer ...
Warfarellen
4
я так понимаю, я так подозреваю, что создание такого плагина для человека, кто умеет писать плагины для делфи потребует минут 5-10 времени. но это мое подозрение. хотелось бы ...
Kraszx
7
Коллеги, добрый вечер. Создаю коллекцию от TFPGMap, ключ - перечисление, значение - целое. Нужно отсортировать коллекцию по значению. Как это можно сделать?
Kirill Filippenok
11
Скажи а ты когда этот канал создавал ты уже дельфи не любил, или это со временем пришло?
Роман Лях (rgreat)
18
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Всем привет! Использую кастомное модальное диалоговое окошко, все по классике - mrOK, mrCancel как ModalResult. Однако есть нюанс - в главной форме есть универсальный обработч...
Олег Гранишевский
20
Карта сайта