code-folding – Edición de esquemas, como modo org, para JSON

Pregunta:

Estoy intentando editar un archivo JSON Swagger en emacs. Contiene grandes objetos JSON anidados, así que quiero colapsar y ocultar algunos de ellos.

He probado origami-mode , configurado como origami-c-style-parser en origami-parser-alist , pero es bastante poco sofisticado (la palabra "parser" parece ser una palabra demasiado grandiosa para lo que hace). No se da cuenta de que las subcadenas de parámetros de URL de Swagger como {id} están dentro de cadenas JSON, por lo que felizmente las colapsa también cuando le pido que colapse todos los nodos en el búfer excepto el nodo actual. No quiero que haga eso. Quiero una forma de colapso sólo subárboles JSON como objetos, no subcadenas de cadenas JSON que pasan a tener llaves en ellos. ¿Cómo puedo lograr este objetivo?

Respuesta:

Emacs viene con hs-minor-mode que se puede usar selectivamente para ocultar / mostrar código y bloques de comentarios en varios idiomas, incluido JavaScript. De forma predeterminada, esto le permitirá ocultar y mostrar bloques JSON delimitados por '{' y '}' pero se modifica fácilmente para permitir '[' y ']' como delimitadores de bloque también. Para hacer esto, necesitamos modificar la entrada js-mode en hs-special-modes-alist con algo como:

(setcdr (assoc 'js-mode hs-special-modes-alist) '("[{[]" "[}\\]]" "/[*/]" nil))

A continuación, debería encontrar que los […] bloques se pueden ocultar y mostrar al igual que {…} bloques.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım