Created LanguageTool Plugin

This commit is contained in:
jonathan
2025-08-14 06:30:17 +02:00
parent 8676bbb2f6
commit d5fa2f88be
21 changed files with 1140 additions and 0 deletions
@@ -0,0 +1,32 @@
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