From e2e71392109eb9440123cebb21907db7e0c9d00c Mon Sep 17 00:00:00 2001 From: deathaxe Date: Fri, 20 Sep 2024 20:40:42 +0200 Subject: [PATCH] [Java] Add support for module imports (#4037) Implements JEP 476, shipped with Java 23+ see: https://openjdk.org/jeps/476 --- Java/Java.sublime-syntax | 7 +++++++ Java/tests/syntax_test_java.java | 11 +++++++++++ 2 files changed, 18 insertions(+) diff --git a/Java/Java.sublime-syntax b/Java/Java.sublime-syntax index 147f7f357f..59b04b7a8f 100644 --- a/Java/Java.sublime-syntax +++ b/Java/Java.sublime-syntax @@ -563,12 +563,19 @@ contexts: - include: immediately-pop import-modifier: + - match: module{{break}} + scope: keyword.declaration.module.java + set: import-module - match: static{{break}} scope: storage.modifier.java set: import-static - match: (?=\S) set: type-import + import-module: + - include: entity-module + - include: else-pop + import-static: - match: (?=\S) set: static-import diff --git a/Java/tests/syntax_test_java.java b/Java/tests/syntax_test_java.java index 40eb730d7d..ac11657669 100644 --- a/Java/tests/syntax_test_java.java +++ b/Java/tests/syntax_test_java.java @@ -840,6 +840,17 @@ // ^ punctuation.accessor.dot.java // ^^^ entity.name.import.java +import module java.desktop; +//^^^^^^^^^^^^ meta.import.java - meta.path +// ^^^^^^^^^^^^ meta.import.java meta.path.java +// ^ - meta.import - meta.path +//^^^^ keyword.declaration.import.java +// ^^^^^^ keyword.declaration.module.java +// ^^^^ variable.namespace.java +// ^ punctuation.accessor.dot.java +// ^^^^^^^ entity.name.namespace.module.java +// ^ punctuation.terminator.java + /****************************************************************************** * Class Declaration Tests * https://docs.oracle.com/javase/specs/jls/se13/html/jls-8.html#jls-8.1