Je traite des fichiers json avec plusieurs blocs répétés avec une seule valeur de champ (entier) modifiée - en fait, chaque valeur modifiée est juste la valeur correspondante précédente incrémentée. Pour rendre ces fichiers faciles à lire, j'aimerais pouvoir plier cet ensemble entier de blocs répétés en un seul bloc avec une indication de la plage de la valeur changeante sur ces blocs. À la recherche de méthodes de pliage de code dans emacs, j'ai trouvé hs-minor-mode
et outline-mode
. Cependant, je ne vois pas comment passer de la fonctionnalité qu'ils fournissent à celle que je désire. Quelqu'un pourrait-il donner un aperçu approximatif de la façon dont je pourrais y parvenir?
EDIT: Un exemple de ce que j'essaie de faire:
Étant donné un fichier json qui ressemble à ceci:
{
"SomeArray": [
{
"ChangingField": 1,
"ConstantField" : "X"
},
{
"ChangingField": 2,
"ConstantField" : "X"
},
{
"ChangingField": 3,
"ConstantField" : "X"
},
{
"ChangingField": 4,
"ConstantField" : "X"
},
{
"ChangingField": 5,
"ConstantField" : "X"
}
]
}
Je voudrais l'afficher comme ceci:
{
"SomeArray": [
{
"ChangingField": 1...5,
"ConstantField" : "X"
}
]
}
Toutes mes excuses pour la question très ouverte.
la source
Réponses:
Il y a plus d'options de pliage pour Emacs: http://wikemacs.org/wiki/Folding#Yafolding et Yafolding ressemble le mieux à votre cas car il est basé sur l'indentation. Il comprend également une belle interface à-la Magit pour découvrir les commandes.
Cependant, cela ne répond pas entièrement à votre question car il n'affichera pas la plage des champs hors de la boîte.
Yafolding est au MELPA:
la source
Utilisez emacs '
hideshow
. Vous pouvez garder votre curseur n'importe où et masquer le niveau des blocs en dessous, utilisez la commandeIci, n est un argument de préfixe numérique qui est défini en appuyant sur
En savoir plus sur hsmode ici, hs-mode . Plus d'informations sur les arguments de préfixe ici, le mode hs de préfixe ne fonctionne pas sur le mode par défaut. Vous devez disposer du mode js2 (ou) du mode js pour que cela fonctionne.
la source