2015-04-01 2 views
6

मैं अपने हास्केल कोड पर HLint का उपयोग करता हूं, लेकिन सभी चेतावनियां/त्रुटियां बहुत उपयोगी नहीं हैं। विशेष रूप से, तीर संकेत देता है क्योंकि मैं कभी तीर का उपयोग नहीं करता हूं।एचलिंट के तीर संकेतों को कैसे अनदेखा करें?

मैं सभी तीर संकेतों को अनदेखा करने के लिए HLint कैसे प्राप्त करूं?

+0

[यह] (https://github.com/ndmitchell/hlint#customizing-the-hints) इंगित करता है कि आप अपने स्रोत के शीर्ष पर एक टिप्पणी के साथ ऐसा कर सकते हैं, या एक संकेत फ़ाइल में जिसे आप '--hint' ध्वज से पारित कर सकते हैं। – bheklilr

+0

@bheklilr हां मैंने इसे पढ़ा, लेकिन यह इंगित नहीं करता कि मैं कैसे निर्दिष्ट कर सकता हूं कि मैं कौन से संकेतों को अनदेखा करना चाहता हूं। मैं विशेष रूप से सभी तीर संबंधित संकेतों को अनदेखा करना चाहता हूं। – Ana

उत्तर

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 &&&" #-} 

शीर्ष पर आपकी फाइल का

ignore "Use &&&" 

फिर hlint के रूप में उपयोग:: वैकल्पिक, आप एक फ़ाइल ana.hlint युक्त बना सकते हैं

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

धन्यवाद। यह वही है जिसे मैं देख रहा था। लेकिन आप "उपयोग &&&" स्ट्रिंग का उपयोग कैसे करते हैं? मुझे उस स्ट्रिंग को [default.hs] (https://github.com/ndmitchell/hlint/blob/master/data/Default.hs) में कहीं भी नहीं दिख रहा है। – Ana

+0

@ एना: उसने मुझे भी भ्रमित कर दिया। मुझे लगता है कि यह केवल त्रुटि संदेश पर आधारित है जो संकेत की परिभाषा के राउंडथैंड पक्ष के आधार पर उत्पादित होता है। –

+0

मुझे यकीन नहीं है कि यह कहां परिभाषित किया गया है, लेकिन मैंने इसे समझ लिया क्योंकि यह "चेतावनी: उपयोग करें &&&" कहता है। – bheklilr

संबंधित मुद्दे