mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-14 21:09:05 +08:00
Merge pull request #3916 from RaiKoHoff/Dev_Master
JSON Lexer: add error coloring for unclosed strings
This commit is contained in:
commit
0f25398cda
@ -1243,6 +1243,7 @@
|
||||
#define IDS_LEX_STR_63376 63376
|
||||
#define IDS_LEX_STR_63377 63377
|
||||
#define IDS_LEX_STR_63378 63378
|
||||
#define IDS_LEX_STR_63379 63379
|
||||
|
||||
#define IDS_LEX_CSV_COL_0 63400
|
||||
#define IDS_LEX_CSV_COL_1 63401
|
||||
|
||||
@ -484,6 +484,7 @@ BEGIN
|
||||
IDS_LEX_STR_63376 "Continuation"
|
||||
IDS_LEX_STR_63377 "Special"
|
||||
IDS_LEX_STR_63378 "Syntax Operator"
|
||||
IDS_LEX_STR_63379 "Unclosed String"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -484,6 +484,7 @@ BEGIN
|
||||
IDS_LEX_STR_63376 "Continuation"
|
||||
IDS_LEX_STR_63377 "Special"
|
||||
IDS_LEX_STR_63378 "Syntax Operator"
|
||||
IDS_LEX_STR_63379 "Unclosed String"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -537,7 +537,7 @@ void SCI_METHOD LexerJSON::Lex(Sci_PositionU startPos,
|
||||
context.SetState(SCE_JSON_PROPERTYNAME);
|
||||
}
|
||||
}
|
||||
else if (!IsASpace(context.ch)) {
|
||||
else if (context.state == SCE_JSON_DEFAULT && !IsASpace(context.ch)) {
|
||||
context.SetState(SCE_JSON_ERROR);
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,10 +4,14 @@
|
||||
|
||||
KEYWORDLIST KeyWords_JSON =
|
||||
{
|
||||
// JSON Keywords
|
||||
"+Infinity -Infinity Infinity NaN false null true",
|
||||
|
||||
// JSON-LD Keywords
|
||||
"@base @container @context @direction @graph @id @import @included @index @json @language @list @nest @none "
|
||||
"@prefix @propagate @protected @reverse @set @type @value @version @vocab",
|
||||
NULL,
|
||||
|
||||
NULL
|
||||
};
|
||||
|
||||
|
||||
@ -20,40 +24,16 @@ EDITLEXER lexJSON =
|
||||
{ {MULTI_STYLE(SCE_JSON_LINECOMMENT,SCE_JSON_BLOCKCOMMENT,0,0)}, IDS_LEX_STR_63127, L"Comment", L"fore:#646464", L"" },
|
||||
{ {SCE_JSON_KEYWORD}, IDS_LEX_STR_63128, L"Keyword", L"bold; fore:#957000", L"" },
|
||||
{ {SCE_JSON_LDKEYWORD}, IDS_LEX_STR_63365, L"LD Keyword", L"bold; fore:#A61D04", L"" },
|
||||
{ {MULTI_STYLE(SCE_JSON_STRING,SCE_JSON_STRINGEOL,0,0)}, IDS_LEX_STR_63131, L"String", L"fore:#008000", L"" },
|
||||
//{ {SCE_C_REGEX}, IDS_LEX_STR_63135, L"Regex", L"fore:#006633; back:#FFF1A8", L"" },
|
||||
{ {SCE_JSON_STRING}, IDS_LEX_STR_63131, L"String", L"fore:#008000", L"" },
|
||||
{ {SCE_JSON_STRINGEOL}, IDS_LEX_STR_63379, L"Unclosed String", L"fore:#FFFFFF; back:#FF8040; eolfilled", L"" },
|
||||
{ {SCE_JSON_NUMBER}, IDS_LEX_STR_63130, L"Number", L"fore:#FF0000", L"" },
|
||||
{ {SCE_JSON_OPERATOR}, IDS_LEX_STR_63132, L"Operator", L"fore:#B000B0", L"" },
|
||||
{ {SCE_JSON_PROPERTYNAME}, IDS_LEX_STR_63364, L"Property Name", L"fore:#002697", L"" },
|
||||
{ {SCE_JSON_ESCAPESEQUENCE}, IDS_LEX_STR_63366, L"ESC Sequence", L"fore:#0B982E", L"" },
|
||||
{ {SCE_JSON_ERROR}, IDS_LEX_STR_63252, L"Parsing Error", L"fore:#FFFF00; back:#A00000; eolfilled", L"" },
|
||||
//{ {SCE_JSON_URI}, IDS_LEX_STR_63252, L"URL/IRI", L"fore:#0000FF", L"" },
|
||||
//{ {SCE_JSON_COMPACTIRI}, IDS_LEX_STR_63252, L"JSON-LD compact IRI", L"fore:#D137C1", L"" },
|
||||
{ {SCE_JSON_ERROR}, IDS_LEX_STR_63252, L"Parsing Error", L"fore:#FFFF00; back:#A02020; eolfilled", L"" },
|
||||
EDITLEXER_SENTINEL
|
||||
}
|
||||
};
|
||||
|
||||
/*
|
||||
# String
|
||||
style.json.2=fore:#7F0000
|
||||
# Unclosed string SCE_JSON_STRINGEOL
|
||||
style.json.3=fore:#FFFFFF,back:#FF0000,eolfilled
|
||||
# Property name SCE_JSON_PROPERTYNAME
|
||||
style.json.4=fore:#880AE8
|
||||
# Escape sequence SCE_JSON_ESCAPESEQUENCE
|
||||
style.json.5=fore:#0B982E
|
||||
# Line comment SCE_JSON_LINECOMMENT
|
||||
style.json.6=fore:#05BBAE,italic
|
||||
# Block comment SCE_JSON_BLOCKCOMMENT
|
||||
style.json.7=$(style.json.6)
|
||||
# Operator SCE_JSON_OPERATOR
|
||||
style.json.8=fore:#18644A
|
||||
# URL/IRI SCE_JSON_URI
|
||||
style.json.9=fore:#0000FF
|
||||
# JSON-LD compact IRI SCE_JSON_COMPACTIRI
|
||||
style.json.10=fore:#D137C1
|
||||
# JSON keyword SCE_JSON_KEYWORD
|
||||
style.json.11=fore:#0BCEA7,bold
|
||||
# JSON-LD keyword SCE_JSON_LDKEYWORD
|
||||
style.json.12=fore:#EC2806
|
||||
# Parsing error SCE_JSON_ERROR
|
||||
style.json.13=fore:#FFFFFF,back:#FF0000
|
||||
*/
|
||||
|
||||
Loading…
Reference in New Issue
Block a user