mirror of
https://gitee.com/zhangsken/AndroidIDE.git
synced 2026-10-16 07:49:44 +08:00
Allow LSP server capabilities to be accesssed
Update editor to v0.9.2
This commit is contained in:
Generated
+1
@@ -47,6 +47,7 @@
|
||||
<entry key="..\:/Projects/AndroidStudioProjects/AndroidIDE/app/src/main/res/layout/layout_crash_report.xml" value="0.25" />
|
||||
<entry key="..\:/Projects/AndroidStudioProjects/AndroidIDE/app/src/main/res/layout/layout_diagnostic_info.xml" value="0.20512820512820512" />
|
||||
<entry key="..\:/Projects/AndroidStudioProjects/AndroidIDE/app/src/main/res/layout/layout_editor_bottom_sheet.xml" value="0.19572649572649573" />
|
||||
<entry key="..\:/Projects/AndroidStudioProjects/AndroidIDE/app/src/main/res/layout/layout_editor_text_actions.xml" value="0.25" />
|
||||
<entry key="..\:/Projects/AndroidStudioProjects/AndroidIDE/app/src/main/res/layout/layout_symbol_item.xml" value="0.20512820512820512" />
|
||||
<entry key="..\:/Projects/AndroidStudioProjects/AndroidIDE/app/src/main/res/layout/test.xml" value="0.20512820512820512" />
|
||||
<entry key="..\:/Projects/AndroidStudioProjects/AndroidIDE/app/src/main/res/menu/menu_editor.xml" value="0.20512820512820512" />
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
ext {
|
||||
common = [
|
||||
editor: 'io.github.Rosemoe.sora-editor:editor:0.9.1',
|
||||
editor: 'io.github.Rosemoe.sora-editor:editor:0.9.2',
|
||||
utilcode: 'com.blankj:utilcodex:1.30.6',
|
||||
file_picker: 'com.github.abhishekti7:UnicornFilePicker:1.0.2',
|
||||
glide: 'com.github.bumptech.glide:glide:4.12.0',
|
||||
|
||||
@@ -37,8 +37,8 @@ package com.itsaky.lsp.api;
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.itsaky.lsp.models.InitializeResult;
|
||||
import com.itsaky.lsp.models.InitializeParams;
|
||||
import com.itsaky.lsp.models.ServerCapabilities;
|
||||
|
||||
/**
|
||||
* A language server provides API for providing functions related to
|
||||
@@ -54,11 +54,16 @@ public interface ILanguageServer {
|
||||
* language server was already initialized.
|
||||
*
|
||||
* @param params The params used to initialize the language server.
|
||||
* @return The initialization result.
|
||||
* @throws AlreadyInitializedException If the language server was already initialized.
|
||||
*/
|
||||
void initialize (@NonNull InitializeParams params) throws AlreadyInitializedException;
|
||||
|
||||
/**
|
||||
* Returns the capabilities that the LSP implementation provides.
|
||||
* @return The capabilities of the server.
|
||||
*/
|
||||
@NonNull
|
||||
InitializeResult initialize (@NonNull InitializeParams params) throws AlreadyInitializedException;
|
||||
ServerCapabilities getCapabilities ();
|
||||
|
||||
/**
|
||||
* Called by client to notify the server to shutdown.
|
||||
|
||||
@@ -21,7 +21,7 @@ import java.nio.file.Path
|
||||
|
||||
data class InitializeParams (var workspaceRoots: Set<Path>)
|
||||
|
||||
data class InitializeResult
|
||||
data class ServerCapabilities
|
||||
(
|
||||
var completionsAvailable: Boolean,
|
||||
var codeActionsAvailable: Boolean,
|
||||
|
||||
@@ -22,9 +22,9 @@ import androidx.annotation.Nullable;
|
||||
|
||||
import com.itsaky.androidide.utils.Logger;
|
||||
import com.itsaky.lsp.api.ICodeActionProvider;
|
||||
import com.itsaky.lsp.api.IDiagnosticProvider;
|
||||
import com.itsaky.lsp.api.ICompletionProvider;
|
||||
import com.itsaky.lsp.api.IDefinitionProvider;
|
||||
import com.itsaky.lsp.api.IDiagnosticProvider;
|
||||
import com.itsaky.lsp.api.IDocumentHandler;
|
||||
import com.itsaky.lsp.api.ILanguageClient;
|
||||
import com.itsaky.lsp.api.ILanguageServer;
|
||||
@@ -47,11 +47,11 @@ import com.itsaky.lsp.models.DocumentCloseEvent;
|
||||
import com.itsaky.lsp.models.DocumentOpenEvent;
|
||||
import com.itsaky.lsp.models.DocumentSaveEvent;
|
||||
import com.itsaky.lsp.models.InitializeParams;
|
||||
import com.itsaky.lsp.models.InitializeResult;
|
||||
import com.itsaky.lsp.models.ServerCapabilities;
|
||||
import com.itsaky.lsp.util.NoCodeActionsProvider;
|
||||
import com.itsaky.lsp.util.NoDiagnosticProvider;
|
||||
import com.itsaky.lsp.util.NoCompletionsProvider;
|
||||
import com.itsaky.lsp.util.NoDefinitionProvider;
|
||||
import com.itsaky.lsp.util.NoDiagnosticProvider;
|
||||
import com.itsaky.lsp.util.NoReferenceProvider;
|
||||
import com.itsaky.lsp.util.NoSelectionProvider;
|
||||
import com.itsaky.lsp.util.NoSignatureHelpProvider;
|
||||
@@ -69,6 +69,7 @@ public class JavaLanguageServer implements ILanguageServer, IDocumentHandler {
|
||||
private boolean createCompiler;
|
||||
|
||||
private static final Logger LOG = Logger.instance ("JavaLanguageServer");
|
||||
private ServerCapabilities capabilities;
|
||||
|
||||
public JavaLanguageServer () {
|
||||
this.initialized = false;
|
||||
@@ -104,9 +105,8 @@ public class JavaLanguageServer implements ILanguageServer, IDocumentHandler {
|
||||
);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public InitializeResult initialize (@NonNull InitializeParams params) throws AlreadyInitializedException {
|
||||
public void initialize (@NonNull InitializeParams params) throws AlreadyInitializedException {
|
||||
|
||||
if (initialized) {
|
||||
throw new AlreadyInitializedException ();
|
||||
@@ -114,17 +114,21 @@ public class JavaLanguageServer implements ILanguageServer, IDocumentHandler {
|
||||
|
||||
FileStore.setWorkspaceRoots (params.getWorkspaceRoots ());
|
||||
|
||||
final InitializeResult result = new InitializeResult ();
|
||||
result.setCompletionsAvailable (true);
|
||||
result.setCodeActionsAvailable (true);
|
||||
result.setDefinitionsAvailable (true);
|
||||
result.setReferencesAvailable (true);
|
||||
result.setSignatureHelpAvailable (true);
|
||||
result.setCodeAnalysisAvailable (true);
|
||||
capabilities = new ServerCapabilities ();
|
||||
capabilities.setCompletionsAvailable (true);
|
||||
capabilities.setCodeActionsAvailable (true);
|
||||
capabilities.setDefinitionsAvailable (true);
|
||||
capabilities.setReferencesAvailable (true);
|
||||
capabilities.setSignatureHelpAvailable (true);
|
||||
capabilities.setCodeAnalysisAvailable (true);
|
||||
|
||||
initialized = true;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public ServerCapabilities getCapabilities () {
|
||||
return capabilities;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -31,7 +31,7 @@ import com.itsaky.lsp.api.ISelectionProvider;
|
||||
import com.itsaky.lsp.api.IServerSettings;
|
||||
import com.itsaky.lsp.api.ISignatureHelpProvider;
|
||||
import com.itsaky.lsp.models.InitializeParams;
|
||||
import com.itsaky.lsp.models.InitializeResult;
|
||||
import com.itsaky.lsp.models.ServerCapabilities;
|
||||
import com.itsaky.lsp.util.NoCodeActionsProvider;
|
||||
import com.itsaky.lsp.util.NoDiagnosticProvider;
|
||||
import com.itsaky.lsp.util.NoCompletionsProvider;
|
||||
@@ -60,6 +60,7 @@ public class XMLLanguageServer implements ILanguageServer {
|
||||
private boolean canProvideCompletions = false;
|
||||
|
||||
private final IDocumentHandler documentHandler = new NoDocumentHandler ();
|
||||
private ServerCapabilities capabilities;
|
||||
|
||||
public XMLLanguageServer () {
|
||||
}
|
||||
@@ -77,23 +78,26 @@ public class XMLLanguageServer implements ILanguageServer {
|
||||
return settings;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public InitializeResult initialize (@NonNull InitializeParams params) throws AlreadyInitializedException {
|
||||
public void initialize (@NonNull InitializeParams params) throws AlreadyInitializedException {
|
||||
if (initialized) {
|
||||
throw new AlreadyInitializedException ();
|
||||
}
|
||||
|
||||
final var result = new InitializeResult ();
|
||||
result.setCompletionsAvailable (true);
|
||||
result.setCodeAnalysisAvailable (true);
|
||||
result.setSignatureHelpAvailable (false);
|
||||
result.setReferencesAvailable (false);
|
||||
result.setDefinitionsAvailable (false);
|
||||
|
||||
capabilities = new ServerCapabilities ();
|
||||
capabilities.setCompletionsAvailable (true);
|
||||
capabilities.setCodeAnalysisAvailable (true);
|
||||
capabilities.setSignatureHelpAvailable (false);
|
||||
capabilities.setReferencesAvailable (false);
|
||||
capabilities.setDefinitionsAvailable (false);
|
||||
|
||||
initialized = true;
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public ServerCapabilities getCapabilities () {
|
||||
return capabilities;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user