JSON 모드와 같이 JSON의 개요 편집


15

emacs에서 Swagger JSON 파일을 편집하려고합니다. 큰 중첩 JSON 객체가 포함되어 있으므로 일부 객체를 축소하고 숨기고 싶습니다.

에서 와 origami-mode같이 구성된을 시도했지만 매우 정교하지 않습니다 ( "파서"라는 단어는 너무 큰 단어로 보입니다). Swagger URL 매개 변수 하위 문자열 이 JSON 문자열 안에 있다는 것을 알지 못 하므로 현재 노드를 제외한 버퍼의 모든 노드를 축소하도록 요청하면 행복하게 축소됩니다. 나는 그것을하고 싶지 않습니다. 내가 객체와 같은 단지 JSON 하위 트리를 붕괴하는 방법을 원하는, JSON 문자열이 아닌 문자열 일이 그들에 중괄호를 할 수 있습니다. 이 목표를 어떻게 달성 할 수 있습니까?origami-c-style-parserorigami-parser-alist{id}


나는 이것을 확실하게 알지 못하지만 js2-modeJSON 파일을 접을 수있는 접을 가능성이 있습니다.
wvxvw


한 가지 방법은 json을 비슷한 트리 형식으로 변환하고 작동하는 것입니다. xml github.com/hay/xml2json 으로 변환 할 수 있습니다 . Yaml은 또 다른 접근법입니다.
Att Righ

답변:


1

Emacs에는 JavaScript를 포함하여 여러 언어로 코드 및 주석 블록을 선택적으로 숨기거나 표시하는 데 사용할 수있는 hs-minor-mode가 있습니다. 기본적으로 '{'및 '}'로 구분 된 JSON 블록을 숨기고 표시 할 수 있지만 '['및 ']'를 블록 분리 문자로 허용하도록 쉽게 수정됩니다. 이렇게하려면 다음과 같이 js-mode항목 을 수정해야합니다 hs-special-modes-alist.

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

그런 다음 {...} 블록뿐만 아니라 [...] 블록을 숨기고 표시 할 수 있습니다.


0

json-mode 코드 접는 기능이있어 문자열 내부의 객체 또는 배열처럼 보이는 것을 접지 않아야합니다. 성숙한 주요 모드는 아니지만 사용할 수 있어야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.