/** * An extension interface for Language server to add features related to ballerina code fragments. * * @since 0.981.2 */ @JsonSegment("ballerinaFragment") public interface BallerinaFragmentService { @JsonRequest CompletableFuture<BallerinaFragmentASTResponse> ast(BallerinaFragmentASTRequest request); }
protected static String getSegment(Class<?> clazz) { JsonSegment jsonSegment = clazz.getAnnotation(JsonSegment.class); return jsonSegment == null ? "" : jsonSegment.value() + "/"; }
/** * An extension interface for Language server to add features related to ballerina files. */ @JsonSegment("ballerinaTrace") public interface BallerinaTraceService { @JsonNotification("pushLogToClient") void pushLogToClient(TraceRecord traceRecord); }
protected static String getSegment(Class<?> clazz) { JsonSegment jsonSegment = clazz.getAnnotation(JsonSegment.class); return jsonSegment == null ? "" : jsonSegment.value() + "/"; }
/** * An extension interface for Language server to add features related to ballerina examples. * * @since 0.981.2 */ @JsonSegment("ballerinaExample") public interface BallerinaExampleService { @JsonRequest CompletableFuture<BallerinaExampleListResponse> list(BallerinaExampleListRequest request); }
/** * An extension interface for Language server to fetch information about ballerina symbols. * * @since 0.981.2 */ @JsonSegment("ballerinaSymbol") public interface BallerinaSymbolService { @JsonRequest CompletableFuture<BallerinaEndpointsResponse> endpoints(); }
/** * Interface for protocol extensions for Java * * @author Gorkem Ercan * */ @JsonSegment("java") public interface JavaProtocolExtensions { @JsonRequest CompletableFuture<String> classFileContents(TextDocumentIdentifier documentUri); /** * Request a project configuration update * @param documentUri the document from which the project configuration will be updated */ @JsonNotification void projectConfigurationUpdate(TextDocumentIdentifier documentUri); @JsonRequest CompletableFuture<BuildWorkspaceStatus> buildWorkspace(boolean forceReBuild); }
/** * Handler for $ messages. They should/could be ignored since they depend on the * implementation capabilities on the server. * * @author Alex Boyko * */ @JsonSegment("$") public interface ServiceNotificationsClient { @JsonNotification default void setTraceNotification(Object param) { // Ignore Message } @JsonNotification default void logTraceNotification(Object param) { // Ignore Message } }
/** * An extension interface for Language server to add features related to ballerina files. * * @since 0.981.2 */ @JsonSegment("ballerinaDocument") public interface BallerinaDocumentService { @JsonRequest CompletableFuture<BallerinaASTResponse> ast(BallerinaASTRequest request); @JsonRequest CompletableFuture<BallerinaASTDidChangeResponse> astDidChange(BallerinaASTDidChange notification); @JsonRequest CompletableFuture<BallerinaOASResponse> swaggerDef(BallerinaOASRequest request); @JsonNotification void apiDesignDidChange(ApiDesignDidChangeParams params); @JsonRequest CompletableFuture<BallerinaServiceListResponse> serviceList(BallerinaServiceListRequest request); @JsonRequest CompletableFuture<BallerinaProject> project(BallerinaProjectParams params); }
@JsonSegment("workspace") public interface WorkspaceService {
@JsonSegment("workspace") public interface WorkspaceService {
@JsonSegment("other") public static interface OtherThing { @JsonNotification public void myNotification(); }
@JsonSegment("consumer") public static interface StringConsumer extends Consumer<String> { @JsonNotification @Override void accept(String message); }
@JsonSegment("bar") public static interface Bar { @JsonRequest public CompletableFuture<String> doStuff2(String arg, Integer arg2); @JsonNotification public void myNotification2(String someArg, Integer someArg2); @JsonDelegate public BarDelegated getDelegate2(); }
@JsonSegment("foo") public static interface Foo { @JsonRequest public CompletableFuture<String> doStuff(String arg); @JsonNotification public void myNotification(String someArg); @JsonDelegate public Delegated getDelegate(); }
@JsonSegment("textDocument") public interface TextDocumentService {
@JsonSegment("textDocument") public interface TextDocumentService {