Ich benutze Emacs als meine wichtigsten Haskell-Editor, und als solche, natürlich verwende ich haskell-mode
als Hauptmodus für die Bearbeitung von Haskell-Code.Haskell Einrückung richtet sich nicht Funktionsargumente
Aus irgendeinem Grund bietet haskell-indentation
keinen Einzugspunkt für Funktionsargumente.
Was ich meine ist, dass Emacs wird dies konsequent tun: (□
der andere Gedankenstrich Punkt (e))
myFunction = maybe arg1
□ arg2
□ arg3
Statt dies zu tun:
myFunction = maybe arg1
□ □ arg2
□ □ arg3
Manchmal muss ich brechen funktioniert auf mehrere Zeilen aufgrund der Zeilen zu lang werden, aber nicht haskell-mode
bieten die richtige Einzug Ebene nervt mich etwas.
Alles, was ich tun kann, um dies zu lindern?
bearbeiten
Da ich bin nicht der einzige mit diesem Problem habe ich ein Ticket auf der haskell-mode
Github Seite geöffnet [here]
Keine Lösung, aber wenn Sie 'arg2' und' arg3' in separate Zeilen verschieben, können Sie das auch mit 'arg1' tun. – duplode
@duplode yeah, aber dann würden sie immer noch unter 'vielleicht' aufgereiht anstatt weiter eingerückt zu sein ... Und da Haskell eine Einrückungs-basierte Sprache ist, könnte dies theoretisch eine falsche Interpretation verursachen –
Ich sehe. FWIW, Punkt 1.1 von [dieser HaskellWiki-Seite] (https://wiki.haskell.org/Emacs/Indentation) nennt das haskell-mode-Verhalten, das Sie beschreiben, "debatably a bad choice" aus genau diesem Grund. Persönlich würde ich wahrscheinlich dieses Snippet als 'myFunction einrücken = vielleicht<4 spaces> longArg1 <4 spaces> longArg2 <4 spaces> longArg3', und so scheint es, dass, waren ich Haskell-Modus zu verwenden, würde ich zu Ihnen in ein ähnliches Problem laufen. –
duplode