Common/SQLEditor: Don't highlight comments

This commit is contained in:
Jonathan Jenne
2022-06-21 16:35:32 +02:00
parent 03c3f2be3b
commit 26e31a1095
3 changed files with 23 additions and 16 deletions

View File

@@ -15,7 +15,7 @@ Namespace SQLEditor
Private _keywords As Regex
Private _quotedString As New Regex("'([^']|'')*'")
Private _commentedString As New Regex("(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)")
Private _commentedString As New Regex("(\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\/)")
Private _placeholderString As New Regex("{#(\w+)#([\:\.\w\s_/-]+)}")
Private ReadOnly keywords As New List(Of String) From {
@@ -35,12 +35,14 @@ Namespace SQLEditor
"GO",
"DECLARE",
"EXECUTE",
"NVARCHAR",
"FROM",
"INTO",
"VALUES",
"WHERE",
"AND"
"AND",
"INNER",
"AS",
"IN"
}
Public Sub New(ByVal document As Document)
@@ -60,6 +62,15 @@ Namespace SQLEditor
Dim oTokens As New List(Of SyntaxHighlightToken)()
Dim oRanges As IEnumerable(Of DocumentRange) = Nothing
' This is deactivated for now because it times out finding big comment in a sql
'Find all comments
'oRanges = TryCast(document.FindAll(_commentedString).GetAsFrozen(), DocumentRange())
'For Each oRange In oRanges
' If Not IsRangeInTokens(oRange, oTokens) Then
' oTokens.Add(CreateToken(oRange.Start.ToInt(), oRange.End.ToInt(), Color.Green))
' End If
'Next
' search for quoted strings
oRanges = document.FindAll(_quotedString).GetAsFrozen()
For Each oRange In oRanges
@@ -82,14 +93,6 @@ Namespace SQLEditor
End If
Next
'Find all comments
oRanges = TryCast(document.FindAll(_commentedString).GetAsFrozen(), DocumentRange())
For Each oRange In oRanges
If Not IsRangeInTokens(oRange, oTokens) Then
oTokens.Add(CreateToken(oRange.Start.ToInt(), oRange.End.ToInt(), Color.Green))
End If
Next
' order tokens by their start position
oTokens.Sort(New SyntaxHighlightTokenComparer())