У меня есть следующий фрагмент кода:
/*
long explanatory comment with some ascii art etc.
*/
#[test]
fn foo() {
//...
}
Я хочу отключить ржавчину только для моего ведущего комментария, поэтому я попробовал
#[rustfmt::skip]
/*
long explanatory comment with some ascii art etc.
*/
#[test]
fn foo() {
// I want this to still be formatted.
}
но, к сожалению, это отключило форматирование для всей функции.
Есть ли возможность отключить форматирование только комментария?
Я думаю о чем-то вроде комментариев //clang-format: off
.
@kmdreko: Ах, возможно, по умолчанию это даже не проблема, но у меня в Rustfmt.toml есть следующее: max_width = 80 wrap_comments = true normalize_comments = true
Отвечает ли это на ваш вопрос? Как отключить Rustfmt для региона кода, а не для отдельного пункта? (к сожалению, хорошего ответа нет, но это статус rustfmt
, а не Stack Overflow).
@ChayimFriedman: не совсем, поскольку комментарий явно отличается от «области кода». Следовать этому ответу и обертывать комментарий модулем кажется мне безумием. Я принял полученный ответ, поскольку он, вероятно, настолько хорош, насколько это возможно.
Комментарий — это область кода. По сути, ответ заключается в том, что сделать это невозможно, но могут быть обходные пути.
@ChayimFriedman: Я не думаю, что здесь есть смысл обсуждать семантические придирки, поэтому я не буду. Я думаю, тот факт, что ответ, который я получил здесь, не будет решением другого вопроса, должен быть достаточным доказательством различий между этими двумя вопросами.
Хорошо, я согласен. Но это проблематично, поскольку тогда заголовок неверен. Поэтому я изменил это.
AFAIK, на данный момент такого нет. Но вы всегда можете обойти это следующим образом:
#[rustfmt::skip]
/*
long explanatory comment with some ascii art etc.
*/
#[test]
fn foo() {
foo_impl();
}
#[cfg(test)]
fn foo_impl() {
// I want this to still be formatted.
}
Кажется, я не могу заставить Rustfmt что-либо сделать с блокированным комментарием здесь, на игровой площадке (rustfmt находится в разделе «Инструменты» в правом верхнем углу). Можете ли вы привести пример? Возможно, я просто пропустил тот случай, с которым вы столкнулись.