Estou tentando editar um arquivo JSON Swagger no emacs. Ele contém grandes objetos JSON aninhados, então eu quero recolher e ocultar alguns deles.
Eu tentei origami-mode
, configurado como origami-c-style-parser
em origami-parser-alist
, mas é bastante sofisticado (a palavra "analisador" parece ser uma palavra excessivamente grandiosa para o que faz). Ele não percebe que substrings de parâmetros de URL do Swagger, como {id}
estão dentro de strings JSON, também os recolhem quando solicito que recolham todos os nós no buffer, exceto o nó atual. Eu não quero fazer isso. Eu quero uma maneira de entrar em colapso apenas subtrees JSON como objetos, não substrings de cordas JSON que acontecem ter chaves neles. Como posso alcançar esse objetivo?
code-folding
json
outline
Robin Green
fonte
fonte
js2-mode
tenha dobras que também podem dobrar arquivos JSON.Respostas:
O Emacs vem com o modo menor-hs, que pode ser usado para ocultar / mostrar seletivamente códigos e blocos de comentários em vários idiomas, incluindo JavaScript. Por padrão, isso permitirá ocultar e mostrar os blocos JSON delimitados por '{' e '}', mas é facilmente modificado para permitir '[' e ']' como delimitadores de blocos. Para fazer isso, precisamos modificar a
js-mode
entradahs-special-modes-alist
com algo como:Você deve achar que os [...] blocos podem ser ocultos e mostrados, além de {...} blocos.
fonte
Meu
json-mode
possui um recurso de dobragem de código que não deve tentar dobrar coisas que se parecem com Objetos ou Matrizes dentro de strings. Não é um modo principal maduro, mas deve ser utilizável.fonte