En examinant la documentation, j'ai appris que Emacs haskell-mode
livré avec trois différents exclusives l'une des méthodes automatisées de l'indentation. Ils sont appelés haskell-indentation
, haskell-indent
, et haskell-simple-indent
. Quelqu'un peut-il m'expliquer comment ces méthodes sont similaires et comment ils sont différents? Je suis intéressé non seulement dans les caractéristiques individuelles, mais aussi si l'on est de facto standard ou si l'un ou les deux ne sont plus maintenus.
Réponses
Trop de publicités?Vraiment, pour autant que je suis conscient de demander aux gens, il n'y a pas de standard de facto, les gens ont des opinions fortes sur lesquelles ils préfèrent, mais avec peu d'éléments de preuve précis autre que "ça marche pour moi, dans la plupart des cas".
L' haskell-indentation
package et haskell-indent
des paquets sont les plus populaires:
- les deux ont un onglet cycle
- les deux sont compliquées code des bases de
- les deux ont beaucoup de cas où ils se cassent
Chacun va Faire La bonne Chose, dans différents cas, mais encore une fois, il n'y a pas de tests unitaires, pas de véritable analyseur, etc. tout un tas de cas particuliers que l'auteur(s) est arrivé de penser, de sorte que la documentation et la compréhension sur la façon dont ils se comportent dans un sens rigoureux est clairsemée. haskell-indentation
comprend plus que Haskell haskell-indent
, mais beaucoup de gens vont vous dire, moi y compris, que vous passez beaucoup de temps à vélo à travers des indentations pour arriver à la bonne.
L' haskell-simple-indent
package n'a pas connaissance de Haskell, il connait alignement de la colonne et il n'a pas un onglet cycle, il a de l'indentation et de l'indentation. C'est la version que j'utilise en raison de ladite arête cas dans les précédents modes, qui peuvent être assez distrayant à la fois.
Je pense qu'avec de telles bibliothèques, il sera difficile de décrire leurs différences autres que anecdotically à ce point. J'aimerais avoir des comparaison rigoureuse (même si de temps peut-être mieux passé à rédiger un meilleur mode).
simple-indent
est maintenu par moi. Je ne sais pas si les auteurs des autres sont activement intéressé à la maintenance.
Je crois que les 3 modes vous mentionnez correspondent aux 3 haskell-modes décrits dans cet article, à savoir;
-
haskell-indentation
== Onglet Cyclisme -
haskell-indent
== Région Rectangulaire -
haskell-simple-indent
== Alignement De Code
Cependant depuis que je ne suis pas sûr à 100%, je vais regarder de plus quand je rentre à la maison.
haskell-indentation
et haskell-indent
sont semblable au point, à la fois offrir à vélo à travers des propositions via répétées de saisie de l'ONGLET qui est leur caractéristique principale de l'OMI.
Toutefois haskell-indent
est certainement mon préféré, principalement parce qu'il va proposer certains achèvements qui sont très utiles:
- la répétition d'un nom de fonction pour vous après que vous avez écrit sur le type de signature
- la répétition d'un nom de fonction de mise en correspondance du modèle
- tuyaux pour le cas des branches
Je viens récemment changé de milieux et d'avoir à re-configuration d'emacs, et utilisé haskell-indentation
par erreur, et le garçon fait je m'ennuie de ces. Otoh, que, vous pouvez trouver certains de ces achèvements ennuyeux; qui plus est, ils ne fonctionnent pas dans certains cas: si votre fonction commence par un trait de soulignement, ou (pire) si vous êtes oiseau de suivi.