VS Расширение кода, как сделать регистр нечувствительным? - PullRequest
0 голосов
/ 13 мая 2018

Я создаю поддержку языка ST для VS Code. В моем файле language-configuration.json у меня есть

"brackets": [
        ["{", "}"],
        ["[", "]"],
        ["VAR", "END_VAR"]
]

Это отлично работает. Когда я вхожу в любой из тех, у меня есть отступ внутри. Но только если var и end_var являются заглавными. Могу ли я как-то указать, что этот язык в случае нечувствителен, и это работает в обоих случаях?

То же самое в autoClosingPairs

"autoClosingPairs": [
    {"open": "{", "close": "}"},
    {"open": "[", "close": "]"},
    {"open": "(", "close": ")"},
    {"open": "VAR", "close": "END_VAR", "notIn": ["string"]}
]

Он закрывает пару, но только если я ввожу его в верхнем регистре.

Или мне нужно создать 2 версии?

"autoClosingPairs": [
    {"open": "var", "close": "end_var", "notIn": ["string"]},
    {"open": "VAR", "close": "END_VAR", "notIn": ["string"]}
]

То же самое в syntaxes\st.tmLanguage.json. Например, у меня есть

{
    "name": "keyword.control.conditional.st",
    "match": "\\b(END_)?(IF|CASE|OF|ELSE|ELSIF|THEN)\\b"
}

Это также подсвечивается, только если я введу прописные буквы. Как указать регистр нечувствителен.

1 Ответ

0 голосов
/ 03 декабря 2018

Для вашего файла tmLanguage.json это будет выглядеть так:

{
    "name": "keyword.control.conditional.st",
    "match": "(?i)\\b(END_)?(IF|CASE|OF|ELSE|ELSIF|THEN)\\b"
}

Я нашел ответ на этом сайте .

Что касается другой части, у меня нет ответа, возможно, нужно просто создать новую версию.

...