自定义VS Code语法的缩进规则

时间:2018-09-16 19:48:17

标签: json regex visual-studio-code

我正在尝试为此自定义语法创建一个缩进规则。这与JavaScript switch语句非常相似,但是我一生都无法解决如何在按回车键时正确地使下一行缩进。

这是应该的样子:

CHOICE {
    "Hello!":
        name "Hi there."
    "Um.. hello?":
        name "Er.. hi?"
}

到目前为止,我的language-configuration.json文件具有以下规则:

...
"indentationRules": {
    "increaseIndentPattern": "\":",
    // TODO: "decreaseIndentPattern": ""
}

因此它正确地匹配了前一行的结尾双引号和冒号,并缩进了下一行,但是我无法弄清楚如何在按回车键时取消缩进下一行。这是目前的操作:

CHOICE {
    "Hello!":
        name "Hi there."
        "Um.. hello?":
            name "Er.. hi?"
}

我能想到的最接近的方法是使用decreaseIndentPattern来检测何时打开双引号,但是,这也会影响前几行,因此实际上不起作用。

我的另一个想法是:\"\n\s*\"将检查前一行以双引号结尾(而不是冒号),并且当前行以引号开头,因此不缩进当前行,但这并没有不行。

我也看到了这些选项,但是不确定是否可以应用它们:bracketIndentNextLinePatterndisableIndentNextLinePattern

此外,我的起始规则最初是这样的:\".*\"\:但是由于某种原因,它导致一行未以双引号结尾的行缩进吗?

在尝试修复了几个小时之后,我的系绳已经到尽头,因此希望有人可以指出正确的方向。谢谢。

0 个答案:

没有答案