2017-07-15 5 views
1

Ich habe eine .GHCI-Datei mit Konfigurationen für ein Haskell-Projekt im Verzeichnis Project. Wenn ich ghci vom Mac-Terminal im Verzeichnis Project aus starte, lädt ghci sowohl die Project/.ghci-Datei des Projekts als auch die Home-Verzeichnis ~/.ghci-Datei. Gibt es eine Methode, um zu verhindern, dass die ~./Ghci-Konfigurationen geladen werden oder das Projekt/.ghci die ~./Ghci-Konfigurationen überschreibt?Mehrere .ghci Dateien

+0

Das '.ghci' * des Projekts sollte * das globale überschreiben. Können Sie ein Beispiel für Konfigurationen geben, die nicht wie erwartet funktionieren? – 4castle

+1

Die Eingabeaufforderung von: set in Project/.ghci überschreibt nicht die Eingabeaufforderung von: set in ~/.ghci – user7147804

Antwort

2

Leider funktioniert dies nicht ghci funktioniert nach the docs. Es lädt alle .ghci Dateien in der Reihenfolge, beginnend mit dem im aktuellen Verzeichnis, weshalb Ihre Eingabeaufforderung den Wert in Ihrem Stammverzeichnis .ghci annimmt und nicht im Projekt.

Sie haben möglicherweise eine bessere Erfahrung beim Entfernen der .ghci Dateien und Verwendung von cabal new-build und cabal new-repl, vorausgesetzt, Ihr Projekt ist Cabalized. Dies gibt Ihnen keine Möglichkeit, die Eingabeaufforderung zu setzen, aber wenn das ein wichtiges Element ist, könnten Sie immer die .ghci auf Projektebene behalten und die globale entfernen. Sie können jedoch weiterhin verfügbare Module und Erweiterungen angeben.

+0

Von der Verknüpfung aus könnten diese Informationen nützlich sein: "Außerdem werden alle mit '-ghci-script'-Flags angegebenen Dateien angezeigt Lesen Sie nach den Standarddateien und erlauben Sie die Verwendung von benutzerdefinierten .ghci-Dateien. " –