J'essaie d'éditer un fichier Swagger JSON dans emacs. Il contient de grands objets JSON imbriqués, donc je veux réduire et masquer certains d'entre eux.
J'ai essayé origami-mode
, configuré comme origami-c-style-parser
dans origami-parser-alist
, mais il est assez simple (le mot "analyseur" semble être un mot trop grandiose pour ce qu'il fait). Il ne remarque pas que les sous-chaînes de paramètres d'URL Swagger comme se {id}
trouvent dans les chaînes JSON, donc il les réduit aussi avec plaisir lorsque je lui demande de réduire tous les nœuds du tampon, à l'exception du nœud actuel. Je ne veux pas que ça fasse ça. Je veux une façon de s'effondrer seulement comme des objets sous - arbres JSON, pas de sous - chaînes chaînes JSON arriver à avoir des accolades en eux. Comment puis-je atteindre cet objectif?
la source
js2-mode
pliage puisse également plier les fichiers JSON.Réponses:
Emacs est livré avec le mode hs-minor qui peut être utilisé sélectivement pour masquer / afficher le code et les blocs de commentaires dans plusieurs langues, y compris JavaScript. Par défaut, cela vous permettra de masquer et d'afficher les blocs JSON délimités par «{» et «}», mais il est facilement modifié pour autoriser «[» et «]» comme délimiteurs de bloc également. Pour ce faire, nous devons modifier l'
js-mode
entréehs-special-modes-alist
avec quelque chose comme:Vous devriez alors trouver que les blocs [...] peuvent être masqués et affichés ainsi que les blocs {...}.
la source
My
json-mode
a une fonction de pliage de code qui ne devrait pas essayer de plier des choses qui ressemblent à des objets ou à des tableaux à l'intérieur de chaînes. Ce n'est pas un mode majeur mature, mais il devrait être utilisable.la source