2017-02-13 13 views
1

Я пытаюсь вбить файл с ghc-mod. Я знаю, что ghc-mod использует hlint для этого, и я знаю, что hlint принимает аргументы для изменения предложений, которые он сообщает. Например, это работает просто отлично:Правильный способ передать hlint Аргументы в ghc-mod?

[email protected]: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-мод требует для передачи аргументов hlint:

Usage: ghc-mod lint [-h|--hlintOpt ARG] FILE 

Но ни один из вариантов ниже не дают намек показано выше:

[email protected]:total-beginner-haskell$ ghc-mod lint -h hint=Generalise src/Borrower.hs 
[email protected]:total-beginner-haskell$ ghc-mod lint --hlintOpt hint=Generalise src/Borrower.hs 
[email protected]:total-beginner-haskell$ ghc-mod lint --hlintOpt "--hint=Generalise" src/Borrower.hs 
[email protected]:total-beginner-haskell$ ghc-mod lint --hlintOpt '--hint=Generalise' src/Borrower.hs 

Какой формат использовать ghc-mod для передачи аргументов через hlint?

спасибо.

ответ

1

кажется, что это ошибка в GHC-мод:

Издание: 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 
+0

Благодарю вас за помощь. Я использовал «стек install ghc-mod», чтобы получить ghc mod. У меня есть: «ghc-mod version 5.6.0.0, скомпилированный GHC 8.0.1». Не могли бы вы рассказать мне, как строить из мастера Гитуба, как вы? Спасибо. – ericky

+1

@ericky Я обновил ответ и добавлю, как построить – ymonad

+0

Отлично - спасибо! Один последний вопрос: имеет ли значение, в какой каталог я клонирую репо? – ericky

 Смежные вопросы

  • Нет связанных вопросов^_^