You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.2 KiB
33 lines
1.2 KiB
extends SyntaxHighlighter
|
|
|
|
class_name LanguageToolErrorSyntaxHighlighter
|
|
|
|
var check:LanguageToolApiWrapper.LanguageToolCheckResponse
|
|
|
|
func _init(check:LanguageToolApiWrapper.LanguageToolCheckResponse):
|
|
self.check = check
|
|
|
|
func _get_line_syntax_highlighting(line: int) -> Dictionary:
|
|
var normalColor = EditorInterface.get_base_control().get_theme_color("font_color", "Editor")
|
|
var errorColor = EditorInterface.get_base_control().get_theme_color("error_color", "Editor")
|
|
var warningColor = EditorInterface.get_base_control().get_theme_color("warning_color", "Editor")
|
|
var successColor = EditorInterface.get_base_control().get_theme_color("success_color", "Editor")
|
|
|
|
var retval = {}
|
|
|
|
for m:LanguageToolApiWrapper.LanguageToolCheckResponse.Match in check.matches:
|
|
var row_column = LanguageToolUtils.offset_to_row_column(m.offset,get_text_edit().text)
|
|
if row_column[0] != line:
|
|
continue
|
|
match m.rule.category.id:
|
|
"GRAMMAR":
|
|
retval[row_column[1]] = {"color":warningColor}
|
|
"TYPOS":
|
|
retval[row_column[1]] = {"color":errorColor}
|
|
_:
|
|
retval[row_column[1]] = {"color":successColor}
|
|
|
|
retval[row_column[1]+m.length] = {"color":normalColor}
|
|
|
|
return retval
|