Generieren von Ctags für Haskell Platform (Standard-Bibliothek), speziell für den Auftakt

8

Ich habe Haskell auf meinem Mac mit Homebrew installiert, also brew install ghc haskell-platform .

Ich suche nach einer Möglichkeit, eine ctags Datei der Standard-Haskell Platform-Bibliotheken (Module) zu erzeugen, so dass ich die Quelle durchsuchen kann, während ich in Vim codiere. Ich brauche speziell Prelude und die anderen beliebtesten Module, wie Data.List und so.

Ich bin mir bewusst, dass die Quelle über Hoogle im Web verfügbar ist , aber es wird mir leichter fallen jump-to-source wann immer ich brauche, zu Lernzwecken.

  1. Wo befindet sich die Quelle bei der Installation der Haskell-Plattform?
  2. Wird die Quelle sogar installiert, wenn die Haskell-Plattform installiert wird, oder nur die kompilierten Binärdateien oder etwas ähnliches?
  3. Wie kann ich die Quelle zum Durchsuchen in Vim verfügbar machen? Stellen Sie die generierte tags -Datei irgendwo hin und sagen Sie Vim, dass sie daraus lesen soll. Ich verstehe auch, dass es nicht notwendig ist, die tags -Datei neu zu generieren, da diese Module ziemlich statisch sind und nicht sehr oft aktualisiert werden.
Ory Band 20.08.2012, 21:02
quelle

1 Antwort

10

1) und 2) wurden von pereakra in Kommentaren beantwortet. Ich werde versuchen, 3) zu beschreiben, indem ich Setup ähnlich dem, das ich benutze, beschreibe. Erste einfache Lösung für Basisbibliotheken, dann allgemeinere Lösung für jedes Haskell-Quellpaket im Allgemeinen.

Als Voraussetzung benötigen wir ein Tool, das eine Tag-Datei für Haskell generiert:

%Vor%

Anstelle von hothasktags könnten Sie Ihren Favoriten verwenden. Siehe zum Beispiel die Ссылка Seite, die einige davon aufzählt.

Dann müssen Quellen für Basisbibliotheken verfügbar sein. Hier verwende ich die von GitHub:

%Vor%

Optional können wir zu einer bestimmten Verzweigung wechseln. Zum Beispiel:

%Vor%

Führen Sie git branch -a aus, um alle Möglichkeiten zu sehen.

Lassen Sie uns jetzt Tags für die Basisbibliotheken generieren (ich habe keinen Mac verfügbar und muss daher annehmen, dass der Befehl dort funktioniert oder Sie können ihn entsprechend anpassen):

%Vor%

( Hinweis zur Sortierung : Mein Vim beschwert sich, wenn ich die Sortierung nicht verwende. Für LC_ALL Erklärung siehe zum Beispiel blog-post )

Jetzt müssen wir den Vim über die Tags informieren, die wir generiert haben. Der einfachste Weg ist wahrscheinlich, die folgende Zeile in Ihre $HOME/.vimrc einzufügen:

%Vor%

Auf diese Weise werden die Tags für Basisbibliotheken für jede geöffnete Haskell-Datei festgelegt. Wenn dies nicht erwünscht ist, können wir den folgenden Vim-Befehl in .vimrc setzen:

%Vor%

und rufen Sie :SetGHCTags bei Bedarf auf.

Für eine allgemeinere Lösung, die mit allen Haskell-Quellenpaketen zusammenarbeitet, können wir die folgende Funktion verwenden (in .vimrc oder in eine Vim-Datei für den Haskell-Dateityp):

%Vor%

Verwenden Sie es beispielsweise für Shelly.hs library:

%Vor%

In Vim rufen Sie einfach an:

%Vor%

Es gibt Raum für Verbesserungen - SetHaskellTags könnte Tags generieren, wenn sie nicht existieren, oder sogar die Quellen holen, konfigurierbaren Haskell-Quellcode-Speicher, Vervollständigung des Verzeichnisses usw. Aber es funktioniert jetzt gut genug für mich. Also zumindest die Lösung teilen, die ich habe. Werde hierher kommen, wenn ich einige dieser Verbesserungen gemacht habe.

[1]: Es ist besser, regenerate-haskell-tags in Ihrem $PAHT zu speichern.

    
Martin Krauskopf 08.09.2012, 10:37
quelle

Tags und Links