diff --git a/tools/chatgui/src/code_language.cpp b/tools/chatgui/src/code_language.cpp index d0aa48232..ab761e71f 100644 --- a/tools/chatgui/src/code_language.cpp +++ b/tools/chatgui/src/code_language.cpp @@ -28,8 +28,8 @@ const Rule rules[] = { {Cpp, 3, QRegularExpression(R"(\b(?:public|private|protected)\s*:|\b\w+::~?\w+\s*\()")}, {Java, 3, QRegularExpression(R"(^\s*(?:package|import)\s+(?:static\s+)?[\w.*]+\s*;)", QRegularExpression::MultilineOption)}, {Java, 4, QRegularExpression(R"(\b(?:public|protected|private)\s+(?:(?:static|final|abstract)\s+)*(?:class|interface|enum)\s+\w+)")}, - {Java, 5, QRegularExpression(R"(\b(?:public|protected|private)\s+(?:(?:static|final|synchronized)\s+)*)" - R"((?:void|boolean|String|int|long)\s+\w+\s*\()")}, + {Java, 7, QRegularExpression(R"(\b(?:public|protected|private)\s+(?:(?:static|final|synchronized)\s+)*)" + R"((?:void|boolean|int|long|double|float|char|byte|short|[A-Z]\w*)\s+\w+\s*\()")}, {Java, 4, QRegularExpression(R"(\b(?:implements|extends)\s+[A-Z]\w*|\bSystem\.(?:out|err)\.)")}, {Kotlin, 6, QRegularExpression(R"(\bfun\s+(?:<[^>\n]+>\s*)?[\w.]+\s*\()")}, {Kotlin, 3, QRegularExpression(R"(^\s*(?:(?:private|public|internal|override|const)\s+)*(?:val|var)\s+\w+\s*[:=])", diff --git a/tools/chatgui/tests/test_code_language.cpp b/tools/chatgui/tests/test_code_language.cpp index 825fd5d70..34ff22ba4 100644 --- a/tools/chatgui/tests/test_code_language.cpp +++ b/tools/chatgui/tests/test_code_language.cpp @@ -18,6 +18,8 @@ private slots: QTest::newRow("c") << "#include \nint main(void) { puts(\"hello\"); }" << "C"; QTest::newRow("cpp") << "#include \nint main() { std::cout << 42; }" << "C++"; QTest::newRow("java") << "package example;\npublic class Hello { public static void main(String[] args) {} }" << "Java"; + QTest::newRow("java-method") << "public static Result parse(String input) { return new Result(input); }" << "Java"; + QTest::newRow("cpp-method") << "class Example { public: void run() {} };" << "C++"; QTest::newRow("kotlin") << "fun main() { println(\"hello\") }" << "Kotlin"; QTest::newRow("rust") << "fn main() { println!(\"hello\"); }" << "Rust"; QTest::newRow("rust-std") << "use std::{borrow::Cow, collections::BTreeSet};" << "Rust";