0
0
mirror of https://github.com/vim/vim.git synced 2025-07-04 23:07:33 -04:00
vim/runtime/syntax/testdir/input/java_comments.java
Aliaksei Budavei 3e72bf10a0
runtime(java): Recognise the {@snippet} documentation tag (#14271)
Remember that ‘code fragments are typically Java source
code, but they may also be fragments of properties files,
source code in other languages, or plain text.’  Therefore,
with these changes, markup tags are highlighted in the Java
source files (as external snippets) and in the {@snippet}
tags.

Also:

- Improve matching of the multi-line {@code} documentation
  tag with any contained balanced braces.
- Recognise the {@literal} documentation tag.
- Highlight stray blanks in comments.

Related to an enhancement proposal for PCRE-like callouts
discussed at https://github.com/vim/vim/issues/11217.

References:
https://openjdk.org/jeps/413
https://docs.oracle.com/en/java/javase/21/docs/specs/javadoc/doc-comment-spec.html

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2024-03-22 19:32:48 +01:00

26 lines
1.0 KiB
Java

// VIM_TEST_SETUP unlet! g:java_ignore_javadoc g:java_no_trail_space_error
// VIM_TEST_SETUP unlet! g:java_no_tab_space_error
// VIM_TEST_SETUP let [g:java_space_errors,g:java_comment_strings] = [1,1]
// VIM_TEST_SETUP setlocal spell
class CommentsTests
{ /* TRAILING BLANKS AND MESSPILLINGS ARE SIGNIFICANT! */
/**
* The method {@code main} must be declared {@code public}, {@code
* static}, and {@code void}. It must specify a formal parameter
* whose declared type is array of {@link String}. Therefore,
* either of the following declarations is acceptable:
* {@snippet lang="java":
* // @highlight substring="main" type="italic":
* public static void main(String[] args) { }
* }<br /><pre class="snippet">
*{@code public static void main(String... args) { }}</pre>
*
* @param args optional commande-line arguments
* @jls 12.1.4 Invoke {@code Test.main}
*/
// @start region = main
// @link substring = 'String' target = 'java.lang.String' :
public static void main(String[] args) { }
// @end
}