彩虹括号(一个SublimeText插件的自述)

RainbowBrackets

Github主页

嗨,欢迎你的到来,现在容我自我介绍一下。

人生三问

  • 你叫什么名字?
    您好,我叫彩虹括号RainbowBrackets是我的英文名。

  • 你为何而生?
    您好,我为SublimeTex3而生,SublimeText3就是我的整个世界。

  • 你能做什么?
    您好,我的职责是为用户提供括号高亮服务。我能给他们粉刷括号,让括号看起来像一道道彩虹。办公室没有阳光,但你可以有彩虹。

作为一个爱美的plugin,让我首先为您展现一下我绚丽的英姿。

我的靓照

请我回家吃饭,让我为您工作

作为一个信息生命体,您可以随意把我打包带走。但是如果要让我为您工作,我需要一定的工作空间。其实很简单,让我们开始吧。

如何把我带回家

  • 我现在注册了Package Control,你可以使用它提供的安装服务。
    采用这种方式,您只需要打开SublimeText命令面板(<kbd>ctrl+shift+p</kbd>),然后输入pcip,选择Package Control: Install Package。然后请您稍等(它在传送乘客信息),等一小段时间之后,你就可以从他的乘客之中找到我了。请记得输入我的名字,无需全名,能够筛选出我就行。

  • 如果Git是您的管家朋友的话,您可以让它为你把我带回家。
    具体步骤是,

    1. 打开SublimeText的插件目录,在此目录下打开一个终端。
    2. 运行下面命令
    git clone https://github.com/absop/RainbowBrackets.git
    
  • 点击我的Github主页的绿色按钮clone or download,浏览器会为您把我打包进行运输,之后您需要把我解包,然后放置在SublimeText的插件目录,我会在那里为您工作。

添加设置,让我为您工作

我能够为使用各种语言的形形色色的人提供服务,所以您需要告诉我,您使用那些语言。
我能够为各式各样的括号提供粉刷服务,因此您需要告诉我您需要粉刷那些括号,最好是根据语言来,这样我可以更专一地工作,因而效率更高。

括号设置

{
    "brackets": {
        "pairs": {
            "(": ")",
            "[": "]",
            "{": "}"
        },

        "filetypes": {
            "default": {
                "opening": ["(", "[", "{"],
                "ignored_scopes": [
                    "comment", "string"
                ]
            },

            "json": {
                "opening": ["[", "{"],
                "ignored_scopes": [
                    "comment", "string"
                ],
                "extensions": [
                    "json",
                    "sublime-settings",
                    "sublime-menu",
                    "sublime-build",
                    "sublime-keymap",
                    "sublime-commands",
                    "sublime-theme",
                    "sublime-color-scheme"
                ]
            }
        }
    }
}

上面是一个设置示例,将所有您需要进行粉刷的括号对像示例里面那样成对地放置在"brackets""pairs"里面,我会在"pairs"里面查找与开括号对应的闭括号。

您可以在"filetypes"里面添加默认设置和语言特定的设置,下面是各项设置的说明:

  • opening

    每一个文件类型需要添加一个opening(开括号)列表,用来确定该文件类型需要粉刷那些括号,如果没有,就会使用default中的opening列表。opening列表中放置的开括号必须能够在"pairs"里面找到,这样才能确定它对应的闭括号。

  • extensions

    添加一个文件类型时,您可以为它添加一个后缀名列表(默认设置default中不需要)。这样,当你打开一个新文件时,我会首先根据该文件所使用的sublime-syntax文件去判断它属于哪个文件类型,如果没有找到sublime-syntax对应的文件类型,我会继续拿它的后缀名去判断它的文件类型。最后,如果在您的设置中找到了它的文件类型,我就会按照相应的设置为您粉刷该文件中的括号;如果没有找到,你依然可以通过命令来使用default中的设置,后面会为您介绍各项命令及其使用。

  • ignored_scopes,每一个文件类型都需要一个ignored_scopes列表,用来判断需要跳过的内容,比如注释字符串。如果没有该列表,就会使用default中的相应的设置。

颜色设置

    "rainbow_colors": {
        "matched": [
            "#FF0000",   /* level1  */
            "#FF6A00",   /* level2  */
            "#FFD800",   /* level3  */
            "#00FF00",   /* level4  */
            "#0094FF",   /* level5  */
            "#0041FF",   /* level6  */
            "#7D00E5"    /* level7  */
        ],
        "mismatched": "#FF0000"
    }

您可以修改rainbow_colors设置来改变用来粉刷括号的颜色,其中matched是一个颜色列表,你可以根据自己的需求修改其中的颜色,也添加或去除其中的颜色。粉刷括号时,括号的层次会以颜色数目作为一个循环。

debug 设置

如果您将debug设置为true,则每当我为您粉刷一个文件时,我会在SublimeText的控制台打印一些调试信息。这些信息包括文件名、用来匹配括号的模式串和通过ignored_scopes生成的selector。您可以通过命令来开启或关闭这个选项,下面是命令使用说明。

随时等候您的命令

我的开发者为我编写了4个可供您呼唤的命令,它们分别是:

  • RainbowBrackets: toggle debug

    默认情况下,我并不会为您打印调试信息。您可以通过这个命令来开启或关闭调试信息。

  • RainbowBrackets: make rainbow

    前面讲到,您可以通过命令,在一个我没有为之工作的文件中呼唤我为您工作。通过此命令,我可以为您在包括您没有添加到设置的所有文件类型中工作,我会首先去匹配设置中的文件类型,然后在没有找到的情况下使用default中的设置。

  • RainbowBrackets: clear rainbow

    如果您想要在某个大型文件中扔掉我这个包袱,您可以使用这个命令。

  • RainbowBrackets: clear color schemes

    当您切换Color Scheme时,我会在您的Packages/User/Color Schemes/RainbowBrackets目录下生成对应的Color Scheme,用来为括号着色,您可以使用这个命令来清除它们。

晒照

最后,为了开启我快乐的工作旅程,容我再晒两张靓照。

  • Scheme,括号神教
  • JSON,小巧优雅的数据交换格式
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,265评论 6 490
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,078评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,852评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,408评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,445评论 5 384
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,772评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,921评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,688评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,130评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,467评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,617评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,276评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,882评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,740评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,967评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,315评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,486评论 2 348