0
0
mirror of https://github.com/vim/vim.git synced 2025-09-23 03:43:49 -04:00

runtime(java): Compose "g:java_highlight_signature" and "g:java_highlight_functions"

With the variables defined, distinctly highlight parts of
a method declaration header: its name and parameter list
parens, from its type parameters, return type, and formal
parameters; and distinctly highlight parts of a lambda
expression: its parameter list parens and the arrow, from
its formal parameters and identifiers.

closes: #15083

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Aliaksei Budavei
2024-06-23 10:03:33 +02:00
committed by Christian Brabandt
parent 88bbdb04c2
commit 01a4fb104d
112 changed files with 2099 additions and 86 deletions

View File

@@ -0,0 +1,82 @@
// VIM_TEST_SETUP let g:java_highlight_functions = 'style'
// VIM_TEST_SETUP let g:java_highlight_signature = 1
// VIM_TEST_SETUP set encoding=utf-8 termencoding=utf-8
import java.lang.annotation.ElementType;
import java.lang.annotation.Target;
abstract class Style$MethodsTests
{
// TYPES.
record Τʬ<α>(α a) { }
enum E
{
A("a"), B("b"), C("c"), D("d"),
E("e"), F("f"), G("g"), H("h");
final String s;
private E(String s) { this.s = s; }
}
@Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
@java.lang.annotation.Repeatable(Tɐggablɘs.class)
@interface Tɐggablɘ
{
String[] value() default "";
}
@Target({ElementType.METHOD, ElementType.CONSTRUCTOR})
@interface Tɐggablɘs
{
Tɐggablɘ[] value();
}
interface Stylable<Α>
{
default void ascii$0_() { }
default Α μʭʭ$0_() { return null; }
}
// FIELDS.
private static final Class<?> CLASS_LOCK = classLock();
private final Object instanceLock = new Object();
// CONSTRUCTORS.
@Tɐggablɘ @Tɐggablɘ protected Style$MethodsTests() { }
<T extends Comparable<T>> Style$MethodsTests(T t, Void v) { }
private <T extends Comparable<T>> Style$MethodsTests(T t) { }
// METHODS.
@Tɐggablɘ @Tɐggablɘ abstract void ascii$0_(////////////////
);
@Tɐggablɘ @Tɐggablɘ abstract <α, β> Τʬ<α> μʭʭ$0_(
@SuppressWarnings("bespoke") β b);
@Tɐggablɘ private native void ascii$1_(/*////////////*/);
@Tɐggablɘ private native <α, β> Τʬ<α>[] μʭʭ$1_(
java.util.function.Function<β, Τʬ<α>[]> ƒ);
void Ascii$2_() { }
<T, U extends Stylable<T>> void Μʭʭ$2_(U u) { }
static final native synchronized void ascii$98_();
static final native synchronized <α, β> Τʬ<α>[][] μʭʭ$98_(
java.util.function.Function<β, Τʬ<α>[][]> ƒ);
@SuppressWarnings("strictfp")
protected static final synchronized strictfp void ascii$99_()
{ ascii$98_(); }
@SuppressWarnings("strictfp")
protected static final synchronized strictfp <α, β> Τʬ<α>[] μʭʭ$99_(
java.util.function.Function<β, Τʬ<α>[][]> ƒ)
{
return
Style$MethodsTests.<α, β>μʭʭ$98_(ƒ)[0];
}
public static Class<?> classLock() { return Style$MethodsTests.class; }
@Override @SuppressWarnings("cast")
public String toString() { return (String) "Style$MethodsTests"; }
}