TextMate 基于缩进的折叠

TextMate 基于缩进的折叠

SASS 和 HAML 的语法与 Python 类似,都采用缩进语法。相关代码块在行首的空格数相同。

以下是一些示例代码:

#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

我在用着phuibonhoa 的 SASS 软件包,我想增强它,以便各个部分可以折叠。例如,我想将所有内容折叠在 下#drawer、将所有内容折叠在 下.slider、将所有内容折叠在 下.edge,等等。

该捆绑包当前包含以下折叠代码:

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

我怎样才能增强此功能以折叠类似缩进的块?

答案1

尝试改变:

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

到:

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

这样就允许在行首和.折叠起点之间有任意数量的空格。

终点比较棘手。恐怕我没有好的终点表达式给你。这看起来类似于 python,其中块按缩进级别分组。我想知道 Python 捆绑包是否可以在这里提供帮助?它们的 Python 开始和结束折叠表达式为:

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

不确定这些是否适合你。

相关内容