2017-12-23 16 views
6

जीएचसी अंतर्निहित आयात (नीचे देखें) पर चेतावनियां उत्पन्न करता है। लक्ष्य इन्हें स्पष्ट आयात के साथ प्रतिस्थापित करना है। क्या सूची उत्पन्न करने के लिए कोई स्वचालित तरीका है (इसे मैन्युअल रूप से कोड में ढूंढने के बजाय)?ghcs के लिए स्पष्ट आयात ढूंढना - Wissing-import-list

/Users/srid/code/slownews/backend/src/SlowNews/Main.hs:10:1: warning: [-Wmissing-import-lists] 
    The module ‘Control.Exception’ does not have an explicit import list 
    | 
10 | import   Control.Exception 
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

/Users/srid/code/slownews/backend/src/SlowNews/Main.hs:13:1: warning: [-Wmissing-import-lists] 
    The module ‘Control.Monad.IO.Class’ does not have an explicit import list 
    | 
13 | import   Control.Monad.IO.Class 
    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 

उत्तर

5

जीएचसी में -ddump-minimal-imports ध्वज है जो चाल करेगा।

+0

वांछित परिणाम प्राप्त करने के लिए इस ध्वज का उपयोग कैसे करें: https://stackoverflow.com/a/32959693/55246 –

1

एक खुला पुल अनुरोध un importify उपकरण है जिस पर मैं काम कर रहा हूं। ऐसा करने के बाद आप स्वचालित रूप से स्पष्ट करने के लिए अंतर्निहित आयात बदलने में सक्षम हो जाएगा:

https://github.com/serokell/importify/pull/82

0

Haskell Tools परियोजना है कि के लिए कुछ अच्छे लग टूलींग है। जाहिर है यह एटम में काम करता है लेकिन मै मैकोज़ पर परमाणु या परमाणु-बीटा के साथ काम नहीं कर सका। हालांकि, यह कमांड लाइन पर काम करता है। मेरे पास a simple example stack project set up है। BTW

module Main where 

import System.Environment 

doMain = print =<< getEnvironment 

main = doMain 

, मैं साथ हास्केल उपकरण स्थापित: Main.hs एक स्पष्ट आयात सूची का उपयोग करता

$ stack install haskell-tools-daemon haskell-tools-cli fswatch 

तब निष्पादित करें:

$ ht-refact -e 'ProjectOrganizeImports' . 

अब Git मुझसे कहता है मैं निम्नलिखित है diff:

-import System.Environment 
+import System.Environment (getEnvironment) 

एक इंटरैक्टिव उदाहरण के लिए Haskell Tools वेबसाइट देखें कि इसे एक संपादक में कैसे काम करना चाहिए। ऐसा लगता है कि रिफैक्टरिंग टूल्स का एक बहुत ही आशाजनक सेट है।

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