Правильный способ передать аргументы подсказки в ghc-mod?
Я пытаюсь скопировать файл с помощью ghc-mod. Я знаю, что ghc-mod использует hlint для этого, и я знаю, что hlint принимает аргументы для изменения предложений, о которых он сообщает. Например, это работает просто отлично:
eric@linux-epth:total-beginner-haskell$ hlint src/Borrower.hs --hint=Generalise
src/Borrower.hs:44:3: Suggestion: Use mappend
Found:
getName br ++
" (" `mappend` show (getMaxBooks br) `mappend` " books)"
Why not:
getName br `Data.Monoid.mappend`
(" (" `mappend` show (getMaxBooks br) `mappend` " books)")
1 hint
Вот формат ghc-mod, необходимый для передачи аргументов в hlint:
Usage: ghc-mod lint [-h|--hlintOpt ARG] FILE
Но ни один из вариантов ниже не дает подсказку, показанную выше:
eric@linux-epth:total-beginner-haskell$ ghc-mod lint -h hint=Generalise src/Borrower.hs
eric@linux-epth:total-beginner-haskell$ ghc-mod lint --hlintOpt hint=Generalise src/Borrower.hs
eric@linux-epth:total-beginner-haskell$ ghc-mod lint --hlintOpt "--hint=Generalise" src/Borrower.hs
eric@linux-epth:total-beginner-haskell$ ghc-mod lint --hlintOpt '--hint=Generalise' src/Borrower.hs
Какой правильный формат использовать с ghc-mod для передачи аргументов через hlint?
Спасибо.
1 ответ
Похоже, это ошибка в ghc-mod:
Проблема: https://github.com/DanielG/ghc-mod/issues/826
Это уже исправлено и объединено с мастером, но еще не выпущено.
Поскольку вехой проблемы является v5.8.0.0
, это может быть исправлено в этом выпуске.
Я построил ghc-mod
из последних master
филиал от Github, и подтвердил, что работает следующая команда:
$ ghc-mod lint src/Borrower.hs --hlintOpt='--hint=Generalise.hs'
src/Borrower.hs:1:8: Suggestion: Use mappendFound: getName br ++ " (" `mappend` show (getMaxBooks br) `mappend` " books)"Why not: getName br `Data.Monoid.mappend` (" (" `mappend` show (getMaxBooks br) `mappend` " books)"
Вот шаг, который я выполнил, чтобы построить последний ghc-mod
из Github.
$ git clone https://github.com/DanielG/ghc-mod
$ cd ghc-mod
$ stack init --ignore-subdirs --solver
$ stack build