JSON 용 코드 폴딩 확장


15

하나의 필드 값 (정수)이 변경된 여러 반복 블록이있는 json 파일을 처리하고 있습니다. 사실 변경 된 모든 값은 이전에 해당하는 값만 증가합니다. 이러한 파일을 읽기 쉽도록하기 위해 반복되는 전체 블록 세트를 하나의 블록으로 접을 수 있기를 원합니다. emacs에서 코드 접기 방법을 검색하면서 hs-minor-mode및을 찾았습니다 outline-mode. 그러나 그들이 제공하는 기능에서 원하는 기능으로 이동하는 방법을 모르겠습니다. 누군가 내가 어떻게 이것을 달성 할 수 있는지에 대한 대략적인 개요를 제공 할 수 있습니까?

편집 : 내가하려는 일의 예 :

다음과 같은 json 파일이 있습니다.

{
    "SomeArray": [
        {
        "ChangingField": 1,
        "ConstantField" : "X"
        },
        {
        "ChangingField": 2,
        "ConstantField" : "X"
        },
        {
        "ChangingField": 3,
        "ConstantField" : "X"
        },
        {
        "ChangingField": 4,
        "ConstantField" : "X"
        },
        {
        "ChangingField": 5,
        "ConstantField" : "X"
        }
    ]
}

다음과 같이 표시하고 싶습니다.

{
    "SomeArray": [
        {
        "ChangingField": 1...5,
        "ConstantField" : "X"
        }
    ]
}

매우 개방적인 질문에 사과드립니다.


1
좋은 질문입니다. 아주 유용 할 것입니다.
Drew

답변:


8

Emacs에 대한 더 많은 접는 옵션이 있습니다 : http://wikemacs.org/wiki/Folding#Yafolding 및 Yafolding은 들여 쓰기를 기반으로하므로 귀하의 경우에 가장 적합합니다. 또한 명령을 발견 할 수있는 멋진 인터페이스 인 La Magit도 포함되어 있습니다.

그러나 상자의 필드 범위가 표시되지 않으므로 질문에 완전히 대답하지 못합니다.

Yafolding은 MELPA에 있습니다.

M-x package-install yafolding

1

emacs '사용하십시오 hideshow. 커서를 아무 데나 유지하고 그 아래에있는 블록 'n'레벨을 숨길 수 있습니다.

C-c @ C-l

여기서 n은을 눌러 설정되는 숫자 접두사 인수입니다.

C-u 1 RET

여기 hsmode 대해 자세히 알아 hsmode을 . 자세한 내용은 여기 접두사 인수에 대한, 접두사 인수 HS 모드는 기본 모드에서 작동하지 않습니다. 이 작업을 수행하려면 js2-mode (또는) js-mode가 있어야합니다.

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