Как написать сложные / многострочные правила подсказок?
Какой способ сопоставить следующий шаблон кода...
do
x <- createModel a b
case x of
Left e -> throwM $ ValidationErrors e
Right y -> ...
... и предложить следующую замену:
withThrow $ createModel a b
Я попробовал следующее, но это не работает:
hint: {lhs: "do {x <- createModel v w; case x of Left e -> throwM $ ValidationErrors e}", rhs: "withThrow $ createModel v w"}
1 ответ
Проблема состоит в том, что сопоставление HLint основано на выражениях, тогда как правило, которое вы пытаетесь определить, действительно основано на выражениях - вы хотите сопоставить два выражения в любом месте рядом do
, Вполне возможно, что HLint можно изменить, чтобы сделать это, и вы считаете, что это было бы полезно, пожалуйста, поднимите вопрос HLint.