Я создал язык сценариев игрушечных сценариев и сумел настроить основное синтаксическое выделение для очень простых вещей, таких как ключевые слова, комментарии и строки, но когда я попробовал более сложную логику, это не сработало.
Я хочу, чтобы это так, что идентификатор после ключевого слова func 'будет отличным, чем нормальный идентификатор , мой код.{
"$schema": "https://raw.githubusercontent.com/marti ... guage.json",
"name": "samir_script",
"patterns": [
{
"include": "#keywords"
},
{
"include": "#strings"
},
{
"include": "#comments"
},
{
"include": "#digits"
},
{
"include": "#opperators"
},
{
"include": "#reserved_words"
},
{
"include": "#func_declre"
},
{
"include": "#identifiers"
}
],
"repository": {
"keywords": {
"patterns": [{
"name": "keyword.control.smr",
"match": "\\b(if|while|for|return|func|match|elif|else|case|var|do|lambda|then|with|break|continue|in|print|println|import|as)\\b"
}]
},
"strings": {
"name": "string.quoted.double.smr",
"begin": "\"",
"end": "\"",
"patterns": [
{
"name": "constant.character.escape.smr",
"match": "\\\\."
}
]
},
"comments":{
"name": "comment.line",
"begin": "#",
"end": "\n"
},
"digits":{
"name":"constant.numeric",
"match": "\\b(\\d+)\\b"
},
"opperators":{
"name": "keyword.operator",
"match": "\\b(\\+|-|=|\\*|/==)\\b"
},
"identifiers":{
"name": "support.variable",
"match": "\\b(\\w+)\\b"
},
"reserved_words":{
"name": "constant.language",
"match": "\\b(true|false|nil)\\b"
},
// This doesn't do anything:
"func_declre":{
"name": "comment.block", // Chose comment color to make debugging this easier.
"begin": "\\b(func)(\\s+)(\\w+)\\b", //'func sum(x, y)' sum would be different.
"beginCaptures": {
"1": {
"name": "comment.block"
},
"2": {
"name": "comment.block"
}
},
"end": "\\b(\\s+)\\b" // Ends after a white space.
}
},
"scopeName": "source.smr"
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... ot-working
Условное резервуар для синтаксиса VSCODE не работает ⇐ Javascript
Форум по Javascript
-
Anonymous
1753021317
Anonymous
Я создал язык сценариев игрушечных сценариев и сумел настроить основное синтаксическое выделение для очень простых вещей, таких как ключевые слова, комментарии и строки, но когда я попробовал более сложную логику, это не сработало.
[b] Я хочу, чтобы это так, что идентификатор после ключевого слова func 'будет отличным, чем нормальный идентификатор [/b], мой код.{
"$schema": "https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json",
"name": "samir_script",
"patterns": [
{
"include": "#keywords"
},
{
"include": "#strings"
},
{
"include": "#comments"
},
{
"include": "#digits"
},
{
"include": "#opperators"
},
{
"include": "#reserved_words"
},
{
"include": "#func_declre"
},
{
"include": "#identifiers"
}
],
"repository": {
"keywords": {
"patterns": [{
"name": "keyword.control.smr",
"match": "\\b(if|while|for|return|func|match|elif|else|case|var|do|lambda|then|with|break|continue|in|print|println|import|as)\\b"
}]
},
"strings": {
"name": "string.quoted.double.smr",
"begin": "\"",
"end": "\"",
"patterns": [
{
"name": "constant.character.escape.smr",
"match": "\\\\."
}
]
},
"comments":{
"name": "comment.line",
"begin": "#",
"end": "\n"
},
"digits":{
"name":"constant.numeric",
"match": "\\b(\\d+)\\b"
},
"opperators":{
"name": "keyword.operator",
"match": "\\b(\\+|-|=|\\*|/==)\\b"
},
"identifiers":{
"name": "support.variable",
"match": "\\b(\\w+)\\b"
},
"reserved_words":{
"name": "constant.language",
"match": "\\b(true|false|nil)\\b"
},
// This doesn't do anything:
"func_declre":{
"name": "comment.block", // Chose comment color to make debugging this easier.
"begin": "\\b(func)(\\s+)(\\w+)\\b", //'func sum(x, y)' sum would be different.
"beginCaptures": {
"1": {
"name": "comment.block"
},
"2": {
"name": "comment.block"
}
},
"end": "\\b(\\s+)\\b" // Ends after a white space.
}
},
"scopeName": "source.smr"
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79708074/conditional-regex-for-vscode-syntax-highlighting-not-working[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия