Json için kod katlama uzantıları


15

Ben sadece bir alan değeri (tamsayı) değişti birden çok tekrarlanan bloklar ile json dosyaları ile ilgileniyorum - aslında, her değiştirilen değer sadece önceki karşılık gelen değer artar. Bu tür dosyaları okumayı kolaylaştırmak için, tekrarlanan blokların tüm setini, bu bloklar arasındaki değişen değer aralıklarının ne olduğuna dair bazı göstergelerle sadece bir blok halinde katlayabilmek istiyorum. Emacs kod katlama yöntemleri için arama, buldum hs-minor-modeve outline-mode. Ancak, sağladıkları işlevsellikten arzu ettiğim işleve nasıl gidileceğini göremiyorum. Birisi bunu nasıl başarabileceğim hakkında kabaca bir genel bakış sağlayabilir mi?

EDIT: Ne yapmaya çalışıyorum bir örnek:

Aşağıdaki gibi görünen bir json dosyası verildi:

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

Bu şekilde görüntülenmesini istiyorum:

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

Çok açık uçlu soru için özür dileriz.


1
İyi soru - bu oldukça yararlı olacaktır.
Drew

Yanıtlar:


8

Emacs için daha fazla katlama seçeneği var: http://wikemacs.org/wiki/Folding#Yafolding ve Yafolding, girintiye dayandığı için davanız için en iyisi gibi görünüyor. Ayrıca komutları keşfetmek için güzel bir arayüz à-la Magit içerir.

Ancak, kutunuzun dışındaki alanların aralığını göstermeyeceği için bu soruya tam olarak cevap vermez.

Yafolding MELPA'da:

M-x package-install yafolding

1

Emacs kullanın ' hideshow. İmlecinizi herhangi bir yerde tutabilir ve altındaki 'n' bloklarını gizlemek için şu komutu kullanın:

C-c @ C-l

Burada n, basılarak ayarlanan sayısal bir önek bağımsız değişkenidir.

C-u 1 RET

Hsmode hakkında daha fazla bilgiyi burada bulabilirsiniz, hs-mode . Daha burada önek argümanlar hakkında, önek bağımsız değişken hs mod Standart modda çalışma yapmaz. Bunun çalışması için js2 modu (veya) js modu olması gerekir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.