]> git.ipfire.org Git - thirdparty/vim.git/commit
runtime(java): Recognise all available standard doclet tags
authorAliaksei Budavei <0x000c70@gmail.com>
Tue, 10 Sep 2024 19:00:33 +0000 (21:00 +0200)
committerChristian Brabandt <cb@256bit.org>
Tue, 10 Sep 2024 19:00:33 +0000 (21:00 +0200)
commita9ae38dc3f42f0dd39dae1311de6e1c289697df4
treebf2814d77bed865bdf6c5c1d3fd9792122c89f0a
parent508403687d3538a99fc900ff9e9951ec788ac421
runtime(java): Recognise all available standard doclet tags

* Complement the tag set with @spec, {@systemProperty},
  {@summary}, @provides, @uses, @hidden, and {@index}.
* Do not hoard all tags under a single highlighting group.
* Skip over nested balanced braces in inline tags.
* Observe that tag names are case sensitive: both {@docRoot}
  and {@inheritDoc} are valid, whereas {@inheritdoc} and
  {@docroot} are not.
* In the @see tag arguments, allow for:
  - module name prefixes (e.g. java.base/java.lang.String);
  - references to arbitrary URI fragments (e.g. ##foo);
  - matching any tag variation arguments on the next line.
* Test directives and tags for Java module declarations.
* Enforce the word end for "module-info" candidates.

References:
https://bugs.openjdk.org/browse/JDK-8226279 (@spec)
https://bugs.openjdk.org/browse/JDK-8214559 ({@systemProperty})
https://bugs.openjdk.org/browse/JDK-8173425 ({@summary})
https://bugs.openjdk.org/browse/JDK-8160196 (@provides & @uses)
https://bugs.openjdk.org/browse/JDK-8073100 (@hidden)
https://bugs.openjdk.org/browse/JDK-8044243 ({@index})
https://docs.oracle.com/en/java/javase/21/docs/specs/javadoc/doc-comment-spec.html
https://github.com/openjdk/jdk/blob/jdk-21-ga/src/jdk.compiler/share/classes/com/sun/source/doctree/DocTree.java

closes: #15652

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
15 files changed:
runtime/syntax/java.vim
runtime/syntax/testdir/dumps/java_comments_00.dump
runtime/syntax/testdir/dumps/java_comments_01.dump
runtime/syntax/testdir/dumps/java_comments_02.dump
runtime/syntax/testdir/dumps/java_comments_03.dump
runtime/syntax/testdir/dumps/java_comments_04.dump
runtime/syntax/testdir/dumps/java_comments_05.dump
runtime/syntax/testdir/dumps/java_comments_06.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/java_comments_07.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/java_module_info_00.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/java_module_info_01.dump [new file with mode: 0644]
runtime/syntax/testdir/dumps/java_module_info_02.dump [new file with mode: 0644]
runtime/syntax/testdir/input/java_comments.java
runtime/syntax/testdir/input/java_module_info.java [new file with mode: 0644]
runtime/syntax/testdir/input/setup/java_module_info.vim [new file with mode: 0644]