2015-04-01 80 views
6

我在我的Haskell代碼上使用HLint,但並非所有的警告/錯誤都非常有用。特別是箭頭提示,因爲我從不使用箭頭。如何忽略HLint的箭頭提示?

如何讓HLint忽略所有箭頭提示?

+0

[這](https://github.com/ndmitchell/hlint#customizing-the-hints)表明您可以使用源代碼頂部的註釋或者可以使用'--hint'標誌傳遞的提示文件來執行此操作。 – bheklilr 2015-04-01 22:15:36

+0

@bheklilr是的,我讀過,但並不表示我如何指定我想忽略的提示。我特別想忽略所有與箭頭有關的提示。 – Ana 2015-04-01 22:20:20

回答

6

舉例來說,如果你有代碼:

map (\a -> (head a, length a)) someList 

HLint會打印出:

Warning: Use &&& 
Found: 
    \a -> (head a, length a) 
Why not: 
    head Control.Arrow.&&& length 

然後,你可以忽略這個加:

{-# ANN module "HLint: ignore Use &&&" #-} 

在頂部的文件。另外,您可以創建一個包含文件ana.hlint

ignore "Use &&&" 

然後用hlint爲:

> hlint --hint=ana.hlint source_code.hs 
+0

謝謝。這是我正在尋找的。但是,您如何知道使用字符串「Use &&&」?我沒有在[Default.hs](https://github.com/ndmitchell/hlint/blob/master/data/Default.hs)中的任何地方看到該字符串。 – Ana 2015-04-01 22:52:51

+0

@Ana:也讓我困惑。我認爲這只是基於錯誤消息,它是根據提示定義的右側生成的。 – 2015-04-01 22:53:33

+0

我不確定它是在哪裏定義的,但是我知道它是因爲它說「警告:使用&&&」。 – bheklilr 2015-04-01 22:53:34