2009-10-19 6 views
10

Ich benutze GHC und habe mehrere Pakete über Cabal installiert. Eine der Webseiten der Pakete sagt "geh die Schellfischdokumentation". Der Befehl haddock scheint nur auf Quelldateien zu funktionieren, und cabal haddock scheint nur im obersten Verzeichnis eines Projekts mit einer .cabal Build-Datei zu funktionieren. Gibt es eine Möglichkeit zu sagen "Zeig mir den Schellfisch" für ein Modul?Schellfisch für Cabal-installierte Module?

Ich sehne mich nach pydoc -p 12345, die einen HTTP-Server startet Python-Dokumentation basierend auf was Sie lokal installiert haben.

Als Work-Around, extrahierte ich die Quell-Tarball unter ~/.cabal und lief cabal configure; cabal haddock im Quellverzeichnis, aber das ist ein bisschen ein Schmerz.

Antwort

19

bearbeiten Ihre Konfigurationsdatei:

~/.cabal/config

gibt es eine Option Standardinstallation doc aktivieren:

Dokumentation: Wahre

um doc von bestehenden Paketen zu installieren, verwenden Sie:

Kabale installieren xxx --reinstall

neu installieren docs von Basispaketen dann die höherrangige Pakete, so dass die "hyper-link" zu anderen Modulen ordnungsgemäß generiert werden.

3

Dies ist ein known issue. Als Workaround können Sie Ihre Apache-Installation (falls vorhanden) so konfigurieren, dass sie Ihr doc-Verzeichnis unter Verwendung von this small PHP script bereitstellt.

+0

@Martjin: In Bezug auf diesen Link funktioniert hackage.haskell.org für Sie? von hier sieht es so aus, als ob es die letzten zwei Tage unten ist, und http://downforeoneoneorjustme.com/hackage.haskell.org bestätigt .. – yairchu

+0

Danke, deine Notizen in diesem Beitrag führten mich auch dazu, meine .cabal/config zu ändern Docs standardmäßig. –

+0

Hackage sollte jetzt wieder verfügbar sein. :-) Ja, es war eine Zeit lang nicht da. Auch im Haskell Café wurde gefragt. – Martijn

3

sollten Sie in der Lage sein, mit lokaler Dokumentation zu generieren:

cabal install $project --haddock 

Sie Haddock installiert Unter der Annahme hat.

+1

Danke - der Hack-Link in der anderen Antwort führte mich zu der gleichen Flagge. Dann habe ich meine .cabal/config-Datei aktualisiert, um dies als Standard zu definieren. Jetzt (unter OS X) kann ich "open ~/.cabal/share/doc/$ project - */html/index.html" sagen und die Dokumente erscheinen in meinem Browser. Ich habe eine Bash-Funktion geschrieben, um das für einen Projektnamen zu tun oder eine Fehlermeldung auszugeben, wenn die index.html-Datei nicht existiert. –

7

Die --haddock Flagge funktionierte nicht für mich. Allerdings ersetzt --haddock mit --enable-documentation hat:

cabal install $project --enable-documentation 

Nun, wenn sie die --hyperlink-source Flagge ich haddock werden könnte zip durch glücklich sehr sein würde.