2015-08-14 22 views
26

Utilizzo Emacs come editor principale di Haskell e, come tale, utilizzo ovviamente lo haskell-mode come modalità principale per la modifica del codice Haskell.Il rientro di Haskell non allinea gli argomenti delle funzioni

Ora per qualsiasi motivo, haskell-indentation non offre un punto di rientro per gli argomenti di funzione.

Quello che voglio dire è che Emacs costantemente fare questo: ( è l'altro punto di trattino (s))

myFunction = maybe arg1 
□   arg2 
□   arg3 

Invece di fare questo:

myFunction = maybe arg1 
□   □  arg2 
□   □  arg3 

A volte ho bisogno di rompere funziona su più linee a causa del troppo lungo delle linee, ma non avendo haskell-mode offrire il giusto livello di rientro mi disturba un po '.

Qualunque cosa posso fare per alleviare questo?

Modifica

Visto che io non sono l'unico ad avere questo problema, ho aperto un biglietto sulla pagina haskell-mode github [here]

+0

Non è affatto una soluzione, ma se si spostano 'arg2' e' arg3' per separare le righe si potrebbe anche fare lo stesso con 'arg1'. – duplode

+0

@duplode sì ma poi sarebbero ancora allineati sotto "forse" piuttosto che essere ulteriormente rientrati ... E visto che haskell è un linguaggio basato su indentazione, ciò potrebbe in teoria causare qualche errata interpretazione –

+0

che vedo. FWIW, articolo 1.1 di [questa pagina HaskellWiki] (https://wiki.haskell.org/Emacs/Indentation) chiama il comportamento in modalità haskell che descrive "debatably una cattiva scelta" per questo motivo esatto. Personalmente, avrei probabilmente rientrare questo frammento come 'myFunction = forse <4 spaces> longArg1 <4 spaces> longArg2 <4 spaces> longArg3', e così sembra che, se io uso Haskell-mode, vorrei correre in un problema simile al tuo. – duplode

risposta

1

La questione Haskell-mode Haskell-indentazione è stata chiusa l'anno scorso e non sarà riparato.

Per il comportamento desiderato, utilizzare haskell-indent.

Problemi correlati