Dobragem baseada em recuo para TextMate

1

SASS e HAML têm sintaxe baseada em recuo, muito parecida com o Python. Blocos de código relacionado têm o mesmo número de espaços no início de uma linha.

Veja um exemplo de código:

#drawer
  height: 100%
  color: #c2c7c4
  font:
    size: 10px
  .slider
    overflow: hidden
    height: 100%
    .edge
      background: url('/images/foo') repeat-y
      .tab
        margin-top = !drawer_top
        width: 56px
        height: 161px
        display: block

Estou usando pacote SASS do phuibonhoa , e gostaria de aprimorá-lo para que as várias seções pode dobrar. Por exemplo, eu gostaria de dobrar tudo em #drawer , tudo em .slider , tudo em .edge , etc.

O pacote atualmente inclui o seguinte código de dobra:

foldingStartMarker = '/\*|^#|^\*|^\b|^\.';
foldingStopMarker = '\*/|^\s*$';

Como posso melhorar isso para dobrar blocos recuados de maneira semelhante?

    
por Craig Walker 10.03.2011 / 17:04

1 resposta

1

Tente mudar:

foldingStartMarker = '/\*|^#|^\*|^\b|^\.';

Para:

foldingStartMarker = '/\*|^#|^\*|^\b|^\s*\.';

Isso permite um número arbitrário de espaços entre o início da linha e o primeiro . para o ponto inicial de dobra.

O ponto final é mais complicado. Receio não ter uma boa expressão de ponto final para você. Parece que é semelhante ao python, onde os blocos são agrupados por nível de recuo. Gostaria de saber se o pacote Python poderia ajudar aqui? Eles iniciam e terminam expressões de dobra para Python são:

foldingStartMarker = '(/\*|\{|\()';
foldingStopMarker = '(\*/|\}|\))';

Não tenho certeza se isso funcionaria para você ou não.

    
por 10.03.2011 / 17:40