2011-08-08 22 views
10

Tôi muốn sử dụng Hoogle cục bộ, vì vậy tôi có thể chạy truy vấn tìm kiếm trên một trong các dự án của tôi. Có một số tài liệu [here], nhưng tôi không thể tìm ra cách để nó hoạt động. Nó nói để chạy Haddock, nhưng haddock không đưa ra bất kỳ đầu ra nào, chỉ phun ra các cảnh báo được sao chép dưới đây. Tôi chưa có tệp projectname.cabal, vì vậy tôi không thể sử dụng lệnh runhaskell Setup haddock --hoogle.cách sử dụng hoogle cục bộ (như ctags)?

haddock coverage for ./Util.hs:  0/8 0% 
haddock coverage for ./Blockify.hs: 0/16 0% 
haddock coverage for ./Interpreter.hs:  0/9 0% 
haddock coverage for AbstractSummarizer.hs: 0/10 0% 
Warning: Util: could not find link destinations for: 
    GHC.Base.String GHC.Types.IO GHC.ST.ST Data.StateRef.Types.HasRef GHC.Base.Monad Control.Applicative.Applicative GHC.Types.Int Control.Monad.Trans.State.Lazy.State GHC.Bool.Bool GHC.Types.Double GHC.Show.Show Data.Vector.Vector Data.Map.Map System.Process.Internals.CreateProcess 
Warning: Blockify: could not find link destinations for: 
    GHC.Types.Int GHC.Classes.Eq Data.Data.Data GHC.Classes.Ord GHC.Read.Read GHC.Show.Show Data.Typeable.Typeable GHC.Base.String Data.Typeable.Typeable1 GHC.Num.Num Control.Monad.Trans.State.Lazy.State 
Warning: Interpreter: could not find link destinations for: 
    Data.StateRef.Types.Ref GHC.Types.Int GHC.Classes.Eq Data.Data.Data GHC.Classes.Ord GHC.Read.Read GHC.Show.Show Data.Typeable.Typeable Data.Typeable.Typeable1 Control.Applicative.Applicative GHC.Base.Monad Data.Map.Map Data.Vector.Vector GHC.Base.Functor Data.Maybe.Maybe 
Warning: AbstractSummarizer: could not find link destinations for: 
    GHC.Types.Int GHC.Classes.Eq GHC.Show.Show Data.Sequence.Seq GHC.Classes.Ord GHC.Read.Read 
+3

Nếu bạn tìm thấy giải pháp, hãy thêm giải pháp đó làm câu trả lời bên dưới và nhấp vào dấu kiểm màu xanh lục bên cạnh. – MatrixFrog

Trả lời

8

Xin lỗi, lỗi của tôi, đầu ra là trong main.txt, tôi đoán tôi cần phải dọn dẹp dự án của tôi đôi khi. Câu hỏi này có thể bị xóa nếu nó không hữu ích. Giải pháp là:

PROJECTDIR> haddock --hoogle **/*.hs 
PROJECTDIR> mv main.txt PROJNAME.txt 
PROJECTDIR> hoogle convert PROJNAME.txt 
PROJECTDIR> cp PROJNAME.txt PROJNAME.hoo HOOGLEDB 
HOOGLEDB> hoogle combine -o default.hoo $(ls *.hoo | sed '/default/d') 

HOOGLEDB là ~/.cabal/share/hoogle-4.2.5/databases cho tôi. lưu ý rằng chỉ các hàm có chữ ký kiểu khai báo mới được bao gồm trong cơ sở dữ liệu.

cổ vũ. xin lỗi vì spam.

+6

Đừng lo lắng về spam; trả lời câu hỏi của riêng mình được khuyến khích. Hãy chắc chắn chấp nhận câu trả lời của riêng bạn, vì nó hữu ích cho người khác. – acfoltzer

Các vấn đề liên quan