Indentation incorrecte des appels de chaîne JavaScript

10

Par exemple, si j'ai du code JavaScript comme celui-ci:

var widget = library()
  .chainCall1()
  .chainCall2()
  .chainCall3();

Si j'utilise la =commande pour l'indenter automatiquement, cela sort en regardant ceci:

var widget = library()
.chainCall1()
.chainCall2()
.chainCall3();

Ce n'est pas ce que je veux. Je veux qu'il indente les appels en chaîne comme c'était le cas à l'origine. Comment puis-je réparer cela?

aharris88
la source
@janos Mine non seulement supprime les retraits .chainCall2(), mais met en retrait la varligne pour qu'elle corresponde .chainCall1() = o_0 =
Izkata

Réponses:

3

J'ai eu le même problème - pour la plupart, le formatage JavaScript effectué par vim n'est pas mauvais, mais dans des exemples comme celui que vous lui donnez, il échoue lamentablement.

J'ai utilisé le plugin vim-jsbeautify pour corriger les choses où l'indentation de vim échoue, et aussi pour nettoyer le code laid que d'autres personnes ont écrit. Cela fonctionne très bien, vous pouvez l'exécuter sur tout le fichier ou juste une région, et il est personnalisable à l'aide d'un fichier EditorConfig .

craigp
la source