В настоящее время я использую vim в качестве редактора для программирования на D. Правила отступа в значительной степени идентичны C, но я столкнулся с случаем, который vim не обрабатывает по умолчанию. В D операторы case могут принимать строки, которые неправильно обрабатываются cindent.
Например, это работает:
switch(blah)
{
case 1:
// something
case some_variable:
// ...
}
Но не это:
switch(blah)
{
case "yark":
case "flurb":
// something
case "...":
// ...
}
Есть ли какой-нибудь способ переопределить это единственное правило в настраиваемом файле отступа, или нужно переопределить весь набор правил cindent?