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