mirror of
https://github.com/vim/vim.git
synced 2025-09-25 03:54:15 -04:00
No support is provided or planned for language recognition in code snippets of documentation comments. Requesting to load arbitrary syntax plugins with the aid of the concerned variable is therefore wasteful in general and erroneous when paired languages ":syn-include" one another without taking steps to manage circularity. related: #17308 related: #17220 closes: #18172 Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
132 lines
4.7 KiB
Java
132 lines
4.7 KiB
Java
// VIM_TEST_SETUP unlet! g:java_no_tab_space_error g:java_ignore_javadoc
|
|
// VIM_TEST_SETUP unlet! g:java_no_trail_space_error
|
|
// VIM_TEST_SETUP unlet! g:java_consent_to_html_syntax_folding
|
|
// VIM_TEST_SETUP let[g:java_space_errors,g:java_comment_strings]=[1,1]
|
|
// VIM_TEST_SETUP let[g:java_ignore_markdown,g:html_syntax_folding]=[1,1]
|
|
// VIM_TEST_SETUP let g:markdown_fenced_languages = ["java"]
|
|
|
|
|
|
|
|
|
|
// VIM_TEST_SETUP setlocal spell fdc=2 fdl=64 fdm=syntax fen
|
|
// VIM_TEST_SETUP highlight link javaCommentStart Todo
|
|
// VIM_TEST_SETUP highlight link javaCommentTitle Underlined
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**/ /*/ */ /* /*/ /*/*/ /*//*/ /** HTML comment tests.
|
|
* <p>There is no entry point method {@code main}:
|
|
* {@snippet file = HTMLSnippets.java region = main id = _01}
|
|
* <p>There is no textual representation:
|
|
* {@snippet class = HTMLSnippets region = toString id = _02} */
|
|
class HTMLCommentsTests implements Comparable<HTMLCommentsTests>
|
|
{ // JDK 21+.
|
|
private HTMLCommentsTests() { }
|
|
|
|
/** No-op, i. e. no operation.
|
|
* ({@literal@literal} may be used with {@code .} for contraction.)
|
|
* @return {@code null} */
|
|
Void noOp1() { return null; }
|
|
|
|
/** No-op, i.e. no operation.
|
|
* ({@literal<!-- -->} may be used after {@code .} for contraction.)
|
|
* @return {@code null} */
|
|
Void noOp2() { return null; }
|
|
|
|
/** No-op, i.e\u002e no operation.
|
|
* ({@literal\u005cu002e} is processed early, use alternatives.)
|
|
* @return {@code null} */
|
|
Void noOp3() { return null; }
|
|
|
|
/** No-op, i.e{@literal .} no operation.
|
|
* @return {@code null} */
|
|
Void noOp4() { return null; }
|
|
|
|
/** No-op, i.e.<!-- --> no operation.
|
|
* @return {@code null} */
|
|
Void noOp5() { return null; }
|
|
|
|
/** No-op, i.e. no operation.
|
|
* @return {@code null} */
|
|
Void noOp6() { return null; }
|
|
|
|
/** {@return {@code null}, with no-op, i.e. no operation} */
|
|
Void noOp7() { return null; }
|
|
|
|
/** {@return {@code null}, with no-op, i.e. no operation}.. */
|
|
Void noOp8() { return null; }
|
|
|
|
/** {@return {@code null}, with no-op, i.e. no operation} . . */
|
|
Void noOp9() { return null; }
|
|
|
|
/** {@return the major Java version}
|
|
* @hidden */
|
|
protected int majorVersion() { return 21; }
|
|
|
|
/** {@summary Compares this instance with the passed {@code that}
|
|
* instance for order by invoking {@link Integer#compare(int, int)
|
|
* compare} and passing it {@code this.majorVersion()} and
|
|
* {@code that.majorVersion()} as respective @arguments.}
|
|
* {@inheritDoc} */
|
|
@Override public int compareTo(HTMLCommentsTests that)
|
|
{
|
|
java.util.Objects.requireNonNull(that, "that");
|
|
return Integer.compare(this.majorVersion(),
|
|
that.majorVersion());
|
|
}
|
|
|
|
/// Returns an empty string for an @Override annotated method
|
|
/// (see Chapter 9.6.4.4 {@literal @Override} in a Java Language
|
|
/// Specification) overridden from `java.lang.Object`
|
|
///
|
|
/// @return an empty string /// No period for the above summary!
|
|
private String asString() { return ""; }
|
|
|
|
/** Returns an empty string for an @Override annotated method
|
|
* (see Chapter 9.6.4.4 {@literal @Override} in a Java Language
|
|
* Specification) overridden from <code>java.lang.Object</code>
|
|
*
|
|
* @return an empty string */// No period for the above summary!
|
|
@Override public String toString() { return asString(); }
|
|
}
|
|
|
|
// javadoc --snippet-path . --source-path . -d /tmp/html_docs/ -package \
|
|
// -tag 'jls:a:See Java Language Specification:' HTMLSnippets.java
|
|
/** Snippets for HTML comment tests. */
|
|
class HTMLSnippets
|
|
{ /* TRAILING BLANKS AND MESSPILLINGS ARE SIGNIFICANT! */
|
|
private HTMLSnippets() { }
|
|
|
|
/** 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,
|
|
* <em>either</em> 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
|
|
|
|
/** {@return an empty string}
|
|
* @see <a href="https://docs.oracle.com/javase/specs/jls/se21/html/jls-3.html#jls-3.10.5">3.10.5 String Literals</a>
|
|
* @see
|
|
* <a href="https://docs.oracle.com/javase/specs/jls/se21/html/jls-4.html#jls-4.3.2">4.3.2 The Class Object</a>
|
|
* @see java.base/java.lang.Object#toString() */
|
|
// @start region = toString
|
|
// @replace substring = '""' replacement = "\u0022\u0022"
|
|
// @link regex = '\bString' target = java.lang.String type = linkplain :
|
|
@Override public String toString() { return ""; }
|
|
// @end
|
|
}
|