mirror of
https://gitee.com/zhangsken/AndroidIDE.git
synced 2026-10-16 07:49:44 +08:00
Moved code formatting logic to IDELanguage
This commit is contained in:
@@ -19,13 +19,14 @@ package com.itsaky.androidide.language;
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.itsaky.androidide.app.StudioApp;
|
||||
import com.itsaky.lsp.api.ILanguageServer;
|
||||
import com.itsaky.lsp.models.DiagnosticItem;
|
||||
|
||||
import io.github.rosemoe.sora.lang.Language;
|
||||
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import io.github.rosemoe.sora.lang.Language;
|
||||
|
||||
/**
|
||||
* Base class for language implementations in the IDE.
|
||||
*
|
||||
@@ -51,4 +52,18 @@ public abstract class IDELanguage implements Language {
|
||||
public List<DiagnosticItem> getDiagnostics() {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence format(CharSequence text) {
|
||||
final var server = getLanguageServer();
|
||||
if (server != null) {
|
||||
return server.formatCode(text);
|
||||
}
|
||||
|
||||
return text;
|
||||
}
|
||||
|
||||
protected ILanguageServer getLanguageServer() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,6 +28,7 @@ import com.itsaky.androidide.lexers.java.JavaLexer;
|
||||
import com.itsaky.androidide.lexers.java.JavaParser;
|
||||
import com.itsaky.androidide.utils.Logger;
|
||||
import com.itsaky.androidide.views.editor.IDEEditor;
|
||||
import com.itsaky.lsp.api.ILanguageServer;
|
||||
import com.itsaky.lsp.models.DiagnosticItem;
|
||||
|
||||
import org.antlr.v4.runtime.CharStreams;
|
||||
@@ -57,7 +58,7 @@ public class JavaLanguage extends IDELanguage {
|
||||
private CommonCompletionProvider completer;
|
||||
|
||||
public JavaLanguage() {
|
||||
final var server = StudioApp.getInstance().getJavaLanguageServer();
|
||||
final var server = getLanguageServer();
|
||||
this.analyzer = new JavaAnalyzer(server);
|
||||
this.completer = new CommonCompletionProvider(server);
|
||||
|
||||
@@ -143,8 +144,8 @@ public class JavaLanguage extends IDELanguage {
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence format(CharSequence content) {
|
||||
return StudioApp.getInstance().getJavaLanguageServer().formatCode(content);
|
||||
protected ILanguageServer getLanguageServer() {
|
||||
return StudioApp.getInstance().getJavaLanguageServer();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -28,6 +28,14 @@ import com.itsaky.androidide.lexers.xml.XMLLexer;
|
||||
import com.itsaky.androidide.utils.JavaCharacter;
|
||||
import com.itsaky.androidide.utils.Logger;
|
||||
import com.itsaky.androidide.views.editor.IDEEditor;
|
||||
import com.itsaky.lsp.api.ILanguageServer;
|
||||
|
||||
import org.antlr.v4.runtime.CharStreams;
|
||||
import org.antlr.v4.runtime.Token;
|
||||
|
||||
import java.io.StringReader;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import io.github.rosemoe.sora.lang.analysis.AnalyzeManager;
|
||||
import io.github.rosemoe.sora.lang.completion.CompletionCancelledException;
|
||||
@@ -37,24 +45,15 @@ import io.github.rosemoe.sora.text.CharPosition;
|
||||
import io.github.rosemoe.sora.text.ContentReference;
|
||||
import io.github.rosemoe.sora.widget.SymbolPairMatch;
|
||||
|
||||
import org.antlr.v4.runtime.CharStreams;
|
||||
import org.antlr.v4.runtime.Token;
|
||||
|
||||
import java.io.StringReader;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.ArrayList;
|
||||
|
||||
public class XMLLanguage extends IDELanguage {
|
||||
|
||||
private XMLAnalyzer analyzer;
|
||||
private static final Logger LOG = Logger.instance("XMLLanguage");
|
||||
private final CommonCompletionProvider completer;
|
||||
private final NewlineHandler[] newlineHandlers;
|
||||
|
||||
private static final Logger LOG = Logger.instance("XMLLanguage");
|
||||
private XMLAnalyzer analyzer;
|
||||
|
||||
public XMLLanguage() {
|
||||
this.completer =
|
||||
new CommonCompletionProvider(StudioApp.getInstance().getXMLLanguageServer());
|
||||
this.completer = new CommonCompletionProvider(getLanguageServer());
|
||||
this.analyzer = new XMLAnalyzer();
|
||||
this.newlineHandlers = new NewlineHandler[0];
|
||||
}
|
||||
@@ -142,8 +141,8 @@ public class XMLLanguage extends IDELanguage {
|
||||
}
|
||||
|
||||
@Override
|
||||
public CharSequence format(CharSequence content) {
|
||||
return content;
|
||||
protected ILanguageServer getLanguageServer() {
|
||||
return StudioApp.getInstance().getXMLLanguageServer();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user