Ответ 1
Это может быть не тот ответ, который вы ищете, но есть способ, которым вы можете следовать руководству wiki в отступлении и быть совместимым с большинством редакторов.
Например, do-blocks
Вместо
myFunc x = do y <- bar
return $ x + y
Вы можете сделать это как
myFunx x = do
y <- bar
return $ x + y
Это явно упоминается как приемлемая альтернатива в вики-вставке.
Таким же образом вы можете форматировать типы данных
data FooBar
= Foo
| Bar
| Asdf
гвардейская
myFunc x
| x < 0 = 0
| otherwise = x
Где-положения
myFunc x = x + y + c where
y = x + 5
c = x * y
И так далее...
Я лично начал использовать этот стиль, потому что, как вы уже сказали, ни один редактор не смог бы надежно отложить код в противном случае. Это работает лучше во всех редакторах, так как отступ всегда кратен четырем (или что-то еще, что вы выбираете для базового уровня отступов). Поскольку я использовал этот стиль, я также стал предпочитать этот последовательный уровень отступов визуально, поэтому я бы не стал возвращаться в этот момент, даже если редакторы стали умнее.