Textmate上的列缩进指南

时间:2013-07-04 06:28:16

标签: textmate textmatebundles textmate2

我想知道Textmate中是否存在捆绑或偏好以获得Sublime的白色虚线列分隔符。看截图。

在Textmate中查看这个PHP函数

textmate screenshot http://darwinsantos.com/textmate_screen.png

现在在Sublime看一下。

sublime screenshot http://darwinsantos.com/sublime_screen.png

如果仔细观察一下,在Sublime中,开始和结束的花括号是用白色虚线绑定的,让你知道两个花括号在完全相同的列中对齐。

有没有办法在Textmate中获得这个?

1 个答案:

答案 0 :(得分:5)

更新(5/2016):TextMate已获得缩进指南!自版本2.0-beta.9.2 View - > Show Indent Guides开始。它们是一项正在进行中的工作,但它们是可用的。


更新:如果你能够使这个工作并且愿意建立你自己的文本via the official instructions,那么你可能会破解建筑物(甚至可能有所贡献) my fold guides enabled version of TextMate2。没有构建,它还没有准备好引入TextMate2,因为它没有禁用指南的设置。


这是开发中的一项功能,完成后它将比我将要描述的内容更加智能化。新版本最终出现后,将尊重该语言的缩进规则,而不是简单地填充空格/制表符对。

也就是说,我已经用它来确保无数的模板行是完美的。

该方法已更新,但与described for Textmate1 by Cocabits相同。

你最终会得到这样的东西: fold guide demo 注意倒数第二行,缺少触发行的空白区域。新版本将更接近Sublime的

首先,我们需要教会TextMate如何识别我们在每行代码之前使用的制表符和空格。

我已经创建了一个fold guides bundle但是这是我第一次发布它而且我很害怕它不会对你起作用,那说试一试。

如果它不起作用,您需要手动添加这些规则,我将向您展示如何将其设置为自己的捆绑包,但您可以将其直接添加到您喜欢的任何语言中。

从Bundles创建一个捆绑包 - >编辑捆绑包,然后,File-> New,选择捆绑包并为其命名,然后File-> New并制作语法。语法应该有这个代码:

{   patterns = (
        {   include = '#leading-spaces'; },
        {   name = 'meta.leading-tabs';
            begin = '^(?=\t)';
            end = '(?=[^\t])';
            patterns = (
                {   match = '(\t)(\t)?';
                    captures = {
                        1 = { name = 'meta.odd-tab'; };
                        2 = { name = 'meta.even-tab'; };
                    };
                },
            );
        },
    );
    repository = {
        leading-spaces = {
            begin = '^(?=\s\s)';
            end = '(?=[^\s\s])';
            patterns = (
                {   match = '(\s\s)(\s\s)?';
                    captures = {
                        1 = { name = 'meta.odd-tab'; };
                        2 = { name = 'meta.even-tab'; };
                    };
                },
            );
        };
    };
}

检查员应该是这样的:

grammar with injector set to *

现在我们只需要一个主题规则来匹配'meta.even-tab'和'meta.odd-tab',所以只需将它添加到您当前的主题:

{name = 'Alternating Tabs';
    scope = 'meta.even-tab';
    settings = {
        background = '#232323';
        };
}
相关问题