Я хотел бы вызывать макросы с одним многострочным строковым аргументом, отформатированным так:
css!(r"
background: grey;
color: white;
");
Однако Rustfmt настаивает на размещении строкового литерала в отдельной строке, что некрасиво и занимает больше места:
css!(
r"
background: grey;
color: white;
"
);
Есть ли способ заставить Rustfmt не помещать один строковый литерал в отдельную строку, даже если он состоит из нескольких строк?
Я знаю, что Rustfmt можно настроить, но я не смог найти для этого опцию, да и не знаю, что искать.
Решение проблемы
Вы можете использовать #[rustfmt::skip]
, чтобы указать rustfmt не форматировать код:
#[rustfmt::skip]
css!(r"
background: grey;
color: white;
");
rustfmt также пропускает макросы в фигурных скобках, так что вы можете сделать:
css! { r"
background: grey;
color: white;
" };
Вы также можете использовать #[rustfmt::skip::macros(...)]
, чтобы всегда пропускать этот макрос:
#[rustfmt::skip::macros(css)]
fn foo() {... }
Чтобы применить его ко всему файлу (см. Есть ли стабильный способ указать Rustfmt пропустить весь файл ), вы можете либо применить его к объявлению модуля, либо использовать внутренний атрибут, но это нестабильно:
#![feature(custom_inner_attributes)]
#![rustfmt::skip::macros(css)]
Комментариев нет:
Отправить комментарий