mirror of
https://gitee.com/zhangsken/AndroidIDE.git
synced 2026-10-16 07:49:44 +08:00
Organized imports in project
This commit is contained in:
@@ -27,8 +27,6 @@ import android.view.View.OnClickListener;
|
||||
import androidx.core.content.ContextCompat;
|
||||
import androidx.transition.TransitionManager;
|
||||
|
||||
import abhishekti7.unicorn.filepicker.UnicornFilePicker;
|
||||
|
||||
import com.blankj.utilcode.util.FileIOUtils;
|
||||
import com.blankj.utilcode.util.SizeUtils;
|
||||
import com.blankj.utilcode.util.ThreadUtils;
|
||||
@@ -54,6 +52,8 @@ import java.io.FileFilter;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import abhishekti7.unicorn.filepicker.UnicornFilePicker;
|
||||
|
||||
public class DownloadActivity extends StudioActivity {
|
||||
|
||||
private ActivityDownloadBinding binding;
|
||||
|
||||
@@ -117,12 +117,6 @@ import com.itsaky.lsp.models.Range;
|
||||
import com.itsaky.toaster.Toaster;
|
||||
import com.unnamed.b.atv.model.TreeNode;
|
||||
|
||||
import io.github.rosemoe.sora.event.ContentChangeEvent;
|
||||
import io.github.rosemoe.sora.event.Unsubscribe;
|
||||
|
||||
import me.piruin.quickaction.ActionItem;
|
||||
import me.piruin.quickaction.QuickAction;
|
||||
|
||||
import org.jetbrains.annotations.Contract;
|
||||
|
||||
import java.io.File;
|
||||
@@ -139,6 +133,11 @@ import java.util.concurrent.CompletionException;
|
||||
import java.util.regex.Pattern;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import io.github.rosemoe.sora.event.ContentChangeEvent;
|
||||
import io.github.rosemoe.sora.event.Unsubscribe;
|
||||
import me.piruin.quickaction.ActionItem;
|
||||
import me.piruin.quickaction.QuickAction;
|
||||
|
||||
public class EditorActivity extends StudioActivity
|
||||
implements FileTreeFragment.FileActionListener,
|
||||
TabLayout.OnTabSelectedListener,
|
||||
|
||||
@@ -27,8 +27,6 @@ import android.view.View;
|
||||
|
||||
import androidx.transition.TransitionManager;
|
||||
|
||||
import abhishekti7.unicorn.filepicker.UnicornFilePicker;
|
||||
|
||||
import com.google.android.material.dialog.MaterialAlertDialogBuilder;
|
||||
import com.google.android.material.transition.MaterialContainerTransform;
|
||||
import com.itsaky.androidide.app.StudioActivity;
|
||||
@@ -54,6 +52,8 @@ import java.util.ArrayList;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.Callable;
|
||||
|
||||
import abhishekti7.unicorn.filepicker.UnicornFilePicker;
|
||||
|
||||
public class MainActivity extends StudioActivity
|
||||
implements View.OnClickListener, ProjectWriterCallback {
|
||||
|
||||
|
||||
@@ -46,11 +46,11 @@ import com.itsaky.apiinfo.models.MethodInfo;
|
||||
import com.itsaky.lsp.models.CompletionItem;
|
||||
import com.itsaky.lsp.models.CompletionItemKind;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import io.github.rosemoe.sora.widget.component.EditorAutoCompletion;
|
||||
import io.github.rosemoe.sora.widget.component.EditorCompletionAdapter;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class CompletionListAdapter extends EditorCompletionAdapter {
|
||||
|
||||
private static final Logger LOG = Logger.newInstance("CompletionListAdapter");
|
||||
|
||||
@@ -27,12 +27,12 @@ import com.blankj.utilcode.util.ThreadUtils;
|
||||
import com.itsaky.androidide.language.logs.LogLanguageImpl;
|
||||
import com.itsaky.androidide.models.LogLine;
|
||||
|
||||
import io.github.rosemoe.sora.lang.Language;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
import io.github.rosemoe.sora.lang.Language;
|
||||
|
||||
public class LogViewFragment extends NonEditableEditorFragment {
|
||||
|
||||
private final Language language = getLanguage();
|
||||
|
||||
+3
-1
@@ -17,7 +17,9 @@
|
||||
**************************************************************************************/
|
||||
package com.itsaky.androidide.fragments.preferences;
|
||||
|
||||
import static com.itsaky.androidide.managers.PreferenceManager.*;
|
||||
import static com.itsaky.androidide.managers.PreferenceManager.KEY_CONFIRM_PROJECT_OPEN;
|
||||
import static com.itsaky.androidide.managers.PreferenceManager.KEY_OPEN_PROJECTS;
|
||||
import static com.itsaky.androidide.managers.PreferenceManager.KEY_TERMINAL_USE_SYSTEM_SHELL;
|
||||
|
||||
import android.os.Bundle;
|
||||
|
||||
|
||||
@@ -27,12 +27,6 @@ import com.itsaky.lsp.models.CompletionParams;
|
||||
import com.itsaky.lsp.models.CompletionResult;
|
||||
import com.itsaky.lsp.models.Position;
|
||||
|
||||
import io.github.rosemoe.sora.lang.completion.CompletionCancelledException;
|
||||
import io.github.rosemoe.sora.lang.completion.CompletionHelper;
|
||||
import io.github.rosemoe.sora.text.CharPosition;
|
||||
import io.github.rosemoe.sora.text.ContentReference;
|
||||
import io.github.rosemoe.sora.util.MyCharacter;
|
||||
|
||||
import org.jetbrains.annotations.Contract;
|
||||
|
||||
import java.nio.file.Path;
|
||||
@@ -44,6 +38,12 @@ import java.util.concurrent.CancellationException;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import io.github.rosemoe.sora.lang.completion.CompletionCancelledException;
|
||||
import io.github.rosemoe.sora.lang.completion.CompletionHelper;
|
||||
import io.github.rosemoe.sora.text.CharPosition;
|
||||
import io.github.rosemoe.sora.text.ContentReference;
|
||||
import io.github.rosemoe.sora.util.MyCharacter;
|
||||
|
||||
/**
|
||||
* Common implementation of completion provider which requests completions to provided language
|
||||
* server.
|
||||
|
||||
@@ -22,12 +22,12 @@ 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.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import io.github.rosemoe.sora.lang.Language;
|
||||
|
||||
/**
|
||||
* Base class for language implementations in the IDE.
|
||||
*
|
||||
|
||||
@@ -32,11 +32,6 @@ import com.itsaky.androidide.lexers.groovy.GroovyLexer;
|
||||
import com.itsaky.androidide.utils.CharSequenceReader;
|
||||
import com.itsaky.androidide.utils.Logger;
|
||||
|
||||
import io.github.rosemoe.sora.lang.analysis.SimpleAnalyzeManager;
|
||||
import io.github.rosemoe.sora.lang.styling.CodeBlock;
|
||||
import io.github.rosemoe.sora.lang.styling.MappedSpans;
|
||||
import io.github.rosemoe.sora.lang.styling.Styles;
|
||||
|
||||
import org.antlr.v4.runtime.CharStreams;
|
||||
import org.antlr.v4.runtime.CodePointCharStream;
|
||||
import org.antlr.v4.runtime.Token;
|
||||
@@ -44,6 +39,11 @@ import org.antlr.v4.runtime.Token;
|
||||
import java.io.IOException;
|
||||
import java.util.Stack;
|
||||
|
||||
import io.github.rosemoe.sora.lang.analysis.SimpleAnalyzeManager;
|
||||
import io.github.rosemoe.sora.lang.styling.CodeBlock;
|
||||
import io.github.rosemoe.sora.lang.styling.MappedSpans;
|
||||
import io.github.rosemoe.sora.lang.styling.Styles;
|
||||
|
||||
public class GroovyAnalyzer extends SimpleAnalyzeManager<Void> {
|
||||
|
||||
private static final Logger LOG = Logger.newInstance("GroovyAnalyzer");
|
||||
|
||||
@@ -25,16 +25,16 @@ import com.itsaky.lsp.models.CompletionItem;
|
||||
import com.itsaky.lsp.models.CompletionItemKind;
|
||||
import com.itsaky.lsp.models.InsertTextFormat;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
import io.github.rosemoe.sora.lang.completion.CompletionHelper;
|
||||
import io.github.rosemoe.sora.lang.completion.CompletionPublisher;
|
||||
import io.github.rosemoe.sora.text.CharPosition;
|
||||
import io.github.rosemoe.sora.text.ContentReference;
|
||||
import io.github.rosemoe.sora.util.MyCharacter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
|
||||
public class GroovyAutoComplete {
|
||||
|
||||
private static final List<String> ANDROIDX_ARTIFACTS = createArtifacts();
|
||||
|
||||
@@ -26,6 +26,11 @@ import com.itsaky.androidide.lexers.groovy.GroovyLexer;
|
||||
import com.itsaky.androidide.utils.CharSequenceReader;
|
||||
import com.itsaky.androidide.utils.Logger;
|
||||
|
||||
import org.antlr.v4.runtime.CharStreams;
|
||||
import org.antlr.v4.runtime.Token;
|
||||
|
||||
import java.io.StringReader;
|
||||
|
||||
import io.github.rosemoe.sora.lang.analysis.AnalyzeManager;
|
||||
import io.github.rosemoe.sora.lang.completion.CompletionCancelledException;
|
||||
import io.github.rosemoe.sora.lang.completion.CompletionPublisher;
|
||||
@@ -36,11 +41,6 @@ import io.github.rosemoe.sora.text.ContentReference;
|
||||
import io.github.rosemoe.sora.text.TextUtils;
|
||||
import io.github.rosemoe.sora.widget.SymbolPairMatch;
|
||||
|
||||
import org.antlr.v4.runtime.CharStreams;
|
||||
import org.antlr.v4.runtime.Token;
|
||||
|
||||
import java.io.StringReader;
|
||||
|
||||
public class GroovyLanguage extends IDELanguage {
|
||||
|
||||
private static final Logger LOG = Logger.newInstance("GroovyLanguage");
|
||||
|
||||
@@ -39,12 +39,6 @@ import com.itsaky.lsp.models.DiagnosticSeverity;
|
||||
import com.itsaky.lsp.models.Position;
|
||||
import com.itsaky.lsp.models.Range;
|
||||
|
||||
import io.github.rosemoe.sora.lang.analysis.SimpleAnalyzeManager;
|
||||
import io.github.rosemoe.sora.lang.styling.CodeBlock;
|
||||
import io.github.rosemoe.sora.lang.styling.MappedSpans;
|
||||
import io.github.rosemoe.sora.lang.styling.Span;
|
||||
import io.github.rosemoe.sora.lang.styling.Styles;
|
||||
|
||||
import org.antlr.v4.runtime.CharStreams;
|
||||
import org.antlr.v4.runtime.CodePointCharStream;
|
||||
import org.antlr.v4.runtime.Token;
|
||||
@@ -55,6 +49,12 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Stack;
|
||||
|
||||
import io.github.rosemoe.sora.lang.analysis.SimpleAnalyzeManager;
|
||||
import io.github.rosemoe.sora.lang.styling.CodeBlock;
|
||||
import io.github.rosemoe.sora.lang.styling.MappedSpans;
|
||||
import io.github.rosemoe.sora.lang.styling.Span;
|
||||
import io.github.rosemoe.sora.lang.styling.Styles;
|
||||
|
||||
/**
|
||||
* Code analyzer for the Java Language
|
||||
*
|
||||
|
||||
@@ -31,6 +31,15 @@ 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;
|
||||
import org.antlr.v4.runtime.Token;
|
||||
|
||||
import java.io.StringReader;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import io.github.rosemoe.sora.lang.analysis.AnalyzeManager;
|
||||
import io.github.rosemoe.sora.lang.completion.CompletionCancelledException;
|
||||
import io.github.rosemoe.sora.lang.completion.CompletionPublisher;
|
||||
@@ -41,15 +50,6 @@ import io.github.rosemoe.sora.text.ContentReference;
|
||||
import io.github.rosemoe.sora.text.TextUtils;
|
||||
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;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
public class JavaLanguage extends IDELanguage {
|
||||
|
||||
private static final Logger LOG = Logger.newInstance("JavaLanguage");
|
||||
|
||||
@@ -25,6 +25,9 @@ import com.itsaky.androidide.language.IDELanguage;
|
||||
import com.itsaky.androidide.models.LogLine;
|
||||
import com.itsaky.androidide.syntax.colorschemes.SchemeAndroidIDE;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import io.github.rosemoe.sora.lang.analysis.AnalyzeManager;
|
||||
import io.github.rosemoe.sora.lang.analysis.SimpleAnalyzeManager;
|
||||
import io.github.rosemoe.sora.lang.completion.CompletionCancelledException;
|
||||
@@ -36,9 +39,6 @@ import io.github.rosemoe.sora.text.CharPosition;
|
||||
import io.github.rosemoe.sora.text.ContentReference;
|
||||
import io.github.rosemoe.sora.widget.SymbolPairMatch;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class LogLanguageImpl extends IDELanguage {
|
||||
|
||||
private static final LogAnalyzer analyzer = new LogAnalyzer();
|
||||
|
||||
@@ -21,7 +21,6 @@ import static com.itsaky.androidide.syntax.colorschemes.SchemeAndroidIDE.OPERATO
|
||||
import static com.itsaky.androidide.syntax.colorschemes.SchemeAndroidIDE.TEXT_SELECTED;
|
||||
import static com.itsaky.androidide.syntax.colorschemes.SchemeAndroidIDE.forComment;
|
||||
import static com.itsaky.androidide.syntax.colorschemes.SchemeAndroidIDE.get;
|
||||
|
||||
import static io.github.rosemoe.sora.widget.schemes.EditorColorScheme.LITERAL;
|
||||
|
||||
import com.itsaky.androidide.lexers.xml.XMLLexer;
|
||||
@@ -29,11 +28,6 @@ import com.itsaky.androidide.syntax.colorschemes.SchemeAndroidIDE;
|
||||
import com.itsaky.androidide.utils.CharSequenceReader;
|
||||
import com.itsaky.androidide.utils.Logger;
|
||||
|
||||
import io.github.rosemoe.sora.lang.analysis.SimpleAnalyzeManager;
|
||||
import io.github.rosemoe.sora.lang.styling.CodeBlock;
|
||||
import io.github.rosemoe.sora.lang.styling.MappedSpans;
|
||||
import io.github.rosemoe.sora.lang.styling.Styles;
|
||||
|
||||
import org.antlr.v4.runtime.CharStreams;
|
||||
import org.antlr.v4.runtime.CodePointCharStream;
|
||||
import org.antlr.v4.runtime.Token;
|
||||
@@ -41,6 +35,11 @@ import org.antlr.v4.runtime.Token;
|
||||
import java.io.IOException;
|
||||
import java.util.Stack;
|
||||
|
||||
import io.github.rosemoe.sora.lang.analysis.SimpleAnalyzeManager;
|
||||
import io.github.rosemoe.sora.lang.styling.CodeBlock;
|
||||
import io.github.rosemoe.sora.lang.styling.MappedSpans;
|
||||
import io.github.rosemoe.sora.lang.styling.Styles;
|
||||
|
||||
/**
|
||||
* Simple analyzer implementation for the XML files.
|
||||
*
|
||||
|
||||
@@ -30,6 +30,13 @@ 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;
|
||||
import io.github.rosemoe.sora.lang.completion.CompletionPublisher;
|
||||
@@ -38,13 +45,6 @@ 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 static final Logger LOG = Logger.newInstance("XMLLanguage");
|
||||
|
||||
@@ -52,8 +52,6 @@ import com.itsaky.lsp.models.Range;
|
||||
import com.itsaky.lsp.models.TextEdit;
|
||||
import com.itsaky.toaster.Toaster;
|
||||
|
||||
import io.github.rosemoe.sora.text.Content;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
@@ -61,6 +59,8 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
import io.github.rosemoe.sora.text.Content;
|
||||
|
||||
/** AndroidIDE specific implementation of the LanguageClient */
|
||||
public class IDELanguageClientImpl implements ILanguageClient {
|
||||
|
||||
|
||||
@@ -23,8 +23,6 @@ import android.text.style.ForegroundColorSpan;
|
||||
import com.itsaky.androidide.lexers.java.JavaLexer;
|
||||
import com.itsaky.androidide.syntax.colorschemes.SchemeAndroidIDE;
|
||||
|
||||
import io.github.rosemoe.sora.widget.schemes.EditorColorScheme;
|
||||
|
||||
import org.antlr.v4.runtime.CharStreams;
|
||||
import org.antlr.v4.runtime.Token;
|
||||
|
||||
@@ -32,6 +30,8 @@ import java.io.StringReader;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import io.github.rosemoe.sora.widget.schemes.EditorColorScheme;
|
||||
|
||||
public class JavaHighlighter implements Highlighter {
|
||||
|
||||
@Override
|
||||
|
||||
@@ -17,7 +17,24 @@
|
||||
|
||||
package com.itsaky.androidide.utils;
|
||||
|
||||
import static com.itsaky.lsp.models.HighlightTokenKind.*;
|
||||
import static com.itsaky.lsp.models.HighlightTokenKind.ANNOTATION;
|
||||
import static com.itsaky.lsp.models.HighlightTokenKind.CONSTRUCTOR;
|
||||
import static com.itsaky.lsp.models.HighlightTokenKind.ENUM;
|
||||
import static com.itsaky.lsp.models.HighlightTokenKind.ENUM_TYPE;
|
||||
import static com.itsaky.lsp.models.HighlightTokenKind.EXCEPTION_PARAMETER;
|
||||
import static com.itsaky.lsp.models.HighlightTokenKind.FIELD;
|
||||
import static com.itsaky.lsp.models.HighlightTokenKind.INSTANCE_INIT;
|
||||
import static com.itsaky.lsp.models.HighlightTokenKind.INTERFACE;
|
||||
import static com.itsaky.lsp.models.HighlightTokenKind.LOCAL_VARIABLE;
|
||||
import static com.itsaky.lsp.models.HighlightTokenKind.METHOD_DECLARATION;
|
||||
import static com.itsaky.lsp.models.HighlightTokenKind.METHOD_INVOCATION;
|
||||
import static com.itsaky.lsp.models.HighlightTokenKind.PACKAGE_NAME;
|
||||
import static com.itsaky.lsp.models.HighlightTokenKind.PARAMETER;
|
||||
import static com.itsaky.lsp.models.HighlightTokenKind.RESOURCE_VARIABLE;
|
||||
import static com.itsaky.lsp.models.HighlightTokenKind.STATIC_FIELD;
|
||||
import static com.itsaky.lsp.models.HighlightTokenKind.STATIC_INIT;
|
||||
import static com.itsaky.lsp.models.HighlightTokenKind.TYPE_NAME;
|
||||
import static com.itsaky.lsp.models.HighlightTokenKind.TYPE_PARAMETER;
|
||||
|
||||
import com.itsaky.lsp.models.HighlightToken;
|
||||
import com.itsaky.lsp.models.HighlightTokenKind;
|
||||
|
||||
@@ -25,8 +25,6 @@ import android.text.TextUtils;
|
||||
import com.blankj.utilcode.util.FileIOUtils;
|
||||
import com.itsaky.androidide.project.AndroidProject;
|
||||
|
||||
import fr.arnaudguyon.xmltojsonlib.XmlToJson;
|
||||
|
||||
import org.json.JSONException;
|
||||
import org.json.JSONObject;
|
||||
|
||||
@@ -34,6 +32,8 @@ import java.io.File;
|
||||
import java.io.FileFilter;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import fr.arnaudguyon.xmltojsonlib.XmlToJson;
|
||||
|
||||
public class ProjectFinder {
|
||||
|
||||
public static AndroidProject fromFolder(File file) {
|
||||
|
||||
@@ -26,9 +26,6 @@ import com.itsaky.androidide.tasks.TaskExecutor;
|
||||
import com.itsaky.lsp.models.Position;
|
||||
import com.itsaky.lsp.models.Range;
|
||||
|
||||
import io.github.rosemoe.sora.text.CharPosition;
|
||||
import io.github.rosemoe.sora.text.Content;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileFilter;
|
||||
import java.util.ArrayList;
|
||||
@@ -39,6 +36,9 @@ import java.util.concurrent.Callable;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import io.github.rosemoe.sora.text.CharPosition;
|
||||
import io.github.rosemoe.sora.text.Content;
|
||||
|
||||
/**
|
||||
* This class provides API to search in files recursively
|
||||
*
|
||||
|
||||
@@ -60,10 +60,6 @@ import com.itsaky.androidide.utils.TypefaceUtils;
|
||||
import com.itsaky.inflater.values.ValuesTableFactory;
|
||||
import com.itsaky.lsp.models.Range;
|
||||
|
||||
import io.github.rosemoe.sora.event.ContentChangeEvent;
|
||||
import io.github.rosemoe.sora.lang.EmptyLanguage;
|
||||
import io.github.rosemoe.sora.text.Content;
|
||||
|
||||
import org.antlr.v4.runtime.CharStreams;
|
||||
import org.antlr.v4.runtime.Token;
|
||||
|
||||
@@ -75,6 +71,10 @@ import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
|
||||
import io.github.rosemoe.sora.event.ContentChangeEvent;
|
||||
import io.github.rosemoe.sora.lang.EmptyLanguage;
|
||||
import io.github.rosemoe.sora.text.Content;
|
||||
|
||||
/**
|
||||
* A view that handles opened code editors.
|
||||
*
|
||||
|
||||
@@ -28,15 +28,15 @@ import androidx.appcompat.view.menu.MenuBuilder;
|
||||
|
||||
import com.itsaky.androidide.utils.Logger;
|
||||
|
||||
import io.github.rosemoe.sora.event.ClickEvent;
|
||||
import io.github.rosemoe.sora.event.SelectionChangeEvent;
|
||||
import io.github.rosemoe.sora.widget.component.EditorTextActionWindow;
|
||||
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import io.github.rosemoe.sora.event.ClickEvent;
|
||||
import io.github.rosemoe.sora.event.SelectionChangeEvent;
|
||||
import io.github.rosemoe.sora.widget.component.EditorTextActionWindow;
|
||||
|
||||
/**
|
||||
* Text action mode actions for the editor.
|
||||
*
|
||||
|
||||
@@ -33,6 +33,13 @@ import com.itsaky.androidide.adapters.TextActionItemAdapter;
|
||||
import com.itsaky.androidide.databinding.LayoutEditorActionsBinding;
|
||||
import com.itsaky.androidide.utils.Logger;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import io.github.rosemoe.sora.event.HandleStateChangeEvent;
|
||||
import io.github.rosemoe.sora.event.ScrollEvent;
|
||||
import io.github.rosemoe.sora.event.SelectionChangeEvent;
|
||||
@@ -42,13 +49,6 @@ import io.github.rosemoe.sora.widget.CodeEditor;
|
||||
import io.github.rosemoe.sora.widget.EditorTouchEventHandler;
|
||||
import io.github.rosemoe.sora.widget.base.EditorPopupWindow;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Presents text actions in a popup widow.
|
||||
*
|
||||
|
||||
@@ -62,12 +62,6 @@ import com.itsaky.lsp.util.DiagnosticUtil;
|
||||
import com.itsaky.lsp.util.PathUtils;
|
||||
import com.itsaky.toaster.Toaster;
|
||||
|
||||
import io.github.rosemoe.sora.event.ContentChangeEvent;
|
||||
import io.github.rosemoe.sora.event.SelectionChangeEvent;
|
||||
import io.github.rosemoe.sora.event.Unsubscribe;
|
||||
import io.github.rosemoe.sora.widget.CodeEditor;
|
||||
import io.github.rosemoe.sora.widget.component.EditorAutoCompletion;
|
||||
|
||||
import org.jetbrains.annotations.Contract;
|
||||
|
||||
import java.io.File;
|
||||
@@ -77,6 +71,12 @@ import java.util.Objects;
|
||||
import java.util.concurrent.CompletableFuture;
|
||||
import java.util.concurrent.CompletionException;
|
||||
|
||||
import io.github.rosemoe.sora.event.ContentChangeEvent;
|
||||
import io.github.rosemoe.sora.event.SelectionChangeEvent;
|
||||
import io.github.rosemoe.sora.event.Unsubscribe;
|
||||
import io.github.rosemoe.sora.widget.CodeEditor;
|
||||
import io.github.rosemoe.sora.widget.component.EditorAutoCompletion;
|
||||
|
||||
public class IDEEditor extends CodeEditor {
|
||||
|
||||
public static final String KEY_FILE = "editor_file";
|
||||
|
||||
@@ -20,12 +20,16 @@
|
||||
// Generated from JavaLexer.g4 by ANTLR 4.9.2
|
||||
package com.itsaky.androidide.lexers.java;
|
||||
|
||||
import org.antlr.v4.runtime.*;
|
||||
import org.antlr.v4.runtime.CharStream;
|
||||
import org.antlr.v4.runtime.Lexer;
|
||||
import org.antlr.v4.runtime.atn.*;
|
||||
import org.antlr.v4.runtime.RuntimeMetaData;
|
||||
import org.antlr.v4.runtime.Vocabulary;
|
||||
import org.antlr.v4.runtime.VocabularyImpl;
|
||||
import org.antlr.v4.runtime.atn.ATN;
|
||||
import org.antlr.v4.runtime.atn.ATNDeserializer;
|
||||
import org.antlr.v4.runtime.atn.LexerATNSimulator;
|
||||
import org.antlr.v4.runtime.atn.PredictionContextCache;
|
||||
import org.antlr.v4.runtime.dfa.DFA;
|
||||
import org.antlr.v4.runtime.misc.*;
|
||||
|
||||
@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
|
||||
public class JavaLexer extends Lexer {
|
||||
|
||||
@@ -20,11 +20,25 @@
|
||||
// Generated from JavaParser.g4 by ANTLR 4.9.2
|
||||
package com.itsaky.androidide.lexers.java;
|
||||
|
||||
import org.antlr.v4.runtime.*;
|
||||
import org.antlr.v4.runtime.atn.*;
|
||||
import org.antlr.v4.runtime.FailedPredicateException;
|
||||
import org.antlr.v4.runtime.NoViableAltException;
|
||||
import org.antlr.v4.runtime.Parser;
|
||||
import org.antlr.v4.runtime.ParserRuleContext;
|
||||
import org.antlr.v4.runtime.RecognitionException;
|
||||
import org.antlr.v4.runtime.RuleContext;
|
||||
import org.antlr.v4.runtime.RuntimeMetaData;
|
||||
import org.antlr.v4.runtime.Token;
|
||||
import org.antlr.v4.runtime.TokenStream;
|
||||
import org.antlr.v4.runtime.Vocabulary;
|
||||
import org.antlr.v4.runtime.VocabularyImpl;
|
||||
import org.antlr.v4.runtime.atn.ATN;
|
||||
import org.antlr.v4.runtime.atn.ATNDeserializer;
|
||||
import org.antlr.v4.runtime.atn.ParserATNSimulator;
|
||||
import org.antlr.v4.runtime.atn.PredictionContextCache;
|
||||
import org.antlr.v4.runtime.dfa.DFA;
|
||||
import org.antlr.v4.runtime.misc.*;
|
||||
import org.antlr.v4.runtime.tree.*;
|
||||
import org.antlr.v4.runtime.tree.ParseTreeListener;
|
||||
import org.antlr.v4.runtime.tree.ParseTreeVisitor;
|
||||
import org.antlr.v4.runtime.tree.TerminalNode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -20,12 +20,17 @@
|
||||
// Generated from JavadocLexer.g4 by ANTLR 4.9.2
|
||||
package com.itsaky.androidide.antlr4.javadoc;
|
||||
|
||||
import org.antlr.v4.runtime.*;
|
||||
import org.antlr.v4.runtime.CharStream;
|
||||
import org.antlr.v4.runtime.Lexer;
|
||||
import org.antlr.v4.runtime.atn.*;
|
||||
import org.antlr.v4.runtime.RuleContext;
|
||||
import org.antlr.v4.runtime.RuntimeMetaData;
|
||||
import org.antlr.v4.runtime.Vocabulary;
|
||||
import org.antlr.v4.runtime.VocabularyImpl;
|
||||
import org.antlr.v4.runtime.atn.ATN;
|
||||
import org.antlr.v4.runtime.atn.ATNDeserializer;
|
||||
import org.antlr.v4.runtime.atn.LexerATNSimulator;
|
||||
import org.antlr.v4.runtime.atn.PredictionContextCache;
|
||||
import org.antlr.v4.runtime.dfa.DFA;
|
||||
import org.antlr.v4.runtime.misc.*;
|
||||
|
||||
@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
|
||||
public class JavadocLexer extends Lexer {
|
||||
|
||||
@@ -20,11 +20,23 @@
|
||||
// Generated from JavadocParser.g4 by ANTLR 4.9.2
|
||||
package com.itsaky.androidide.antlr4.javadoc;
|
||||
|
||||
import org.antlr.v4.runtime.*;
|
||||
import org.antlr.v4.runtime.atn.*;
|
||||
import org.antlr.v4.runtime.NoViableAltException;
|
||||
import org.antlr.v4.runtime.Parser;
|
||||
import org.antlr.v4.runtime.ParserRuleContext;
|
||||
import org.antlr.v4.runtime.RecognitionException;
|
||||
import org.antlr.v4.runtime.RuntimeMetaData;
|
||||
import org.antlr.v4.runtime.Token;
|
||||
import org.antlr.v4.runtime.TokenStream;
|
||||
import org.antlr.v4.runtime.Vocabulary;
|
||||
import org.antlr.v4.runtime.VocabularyImpl;
|
||||
import org.antlr.v4.runtime.atn.ATN;
|
||||
import org.antlr.v4.runtime.atn.ATNDeserializer;
|
||||
import org.antlr.v4.runtime.atn.ParserATNSimulator;
|
||||
import org.antlr.v4.runtime.atn.PredictionContextCache;
|
||||
import org.antlr.v4.runtime.dfa.DFA;
|
||||
import org.antlr.v4.runtime.misc.*;
|
||||
import org.antlr.v4.runtime.tree.*;
|
||||
import org.antlr.v4.runtime.tree.ParseTreeListener;
|
||||
import org.antlr.v4.runtime.tree.ParseTreeVisitor;
|
||||
import org.antlr.v4.runtime.tree.TerminalNode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -2,12 +2,16 @@
|
||||
// D:/Projects/AndroidStudioProjects/AndroidIDE/lexers/src/main/java/com/itsaky/androidide/lexers/xml\XMLLexer.g4 by ANTLR 4.9.2
|
||||
package com.itsaky.androidide.lexers.xml;
|
||||
|
||||
import org.antlr.v4.runtime.*;
|
||||
import org.antlr.v4.runtime.CharStream;
|
||||
import org.antlr.v4.runtime.Lexer;
|
||||
import org.antlr.v4.runtime.atn.*;
|
||||
import org.antlr.v4.runtime.RuntimeMetaData;
|
||||
import org.antlr.v4.runtime.Vocabulary;
|
||||
import org.antlr.v4.runtime.VocabularyImpl;
|
||||
import org.antlr.v4.runtime.atn.ATN;
|
||||
import org.antlr.v4.runtime.atn.ATNDeserializer;
|
||||
import org.antlr.v4.runtime.atn.LexerATNSimulator;
|
||||
import org.antlr.v4.runtime.atn.PredictionContextCache;
|
||||
import org.antlr.v4.runtime.dfa.DFA;
|
||||
import org.antlr.v4.runtime.misc.*;
|
||||
|
||||
@SuppressWarnings({"all", "warnings", "unchecked", "unused", "cast"})
|
||||
public class XMLLexer extends Lexer {
|
||||
|
||||
@@ -2,11 +2,23 @@
|
||||
// D:/Projects/AndroidStudioProjects/AndroidIDE/lexers/src/main/java/com/itsaky/androidide/lexers/xml\XMLParser.g4 by ANTLR 4.9.2
|
||||
package com.itsaky.androidide.lexers.xml;
|
||||
|
||||
import org.antlr.v4.runtime.*;
|
||||
import org.antlr.v4.runtime.atn.*;
|
||||
import org.antlr.v4.runtime.NoViableAltException;
|
||||
import org.antlr.v4.runtime.Parser;
|
||||
import org.antlr.v4.runtime.ParserRuleContext;
|
||||
import org.antlr.v4.runtime.RecognitionException;
|
||||
import org.antlr.v4.runtime.RuntimeMetaData;
|
||||
import org.antlr.v4.runtime.Token;
|
||||
import org.antlr.v4.runtime.TokenStream;
|
||||
import org.antlr.v4.runtime.Vocabulary;
|
||||
import org.antlr.v4.runtime.VocabularyImpl;
|
||||
import org.antlr.v4.runtime.atn.ATN;
|
||||
import org.antlr.v4.runtime.atn.ATNDeserializer;
|
||||
import org.antlr.v4.runtime.atn.ParserATNSimulator;
|
||||
import org.antlr.v4.runtime.atn.PredictionContextCache;
|
||||
import org.antlr.v4.runtime.dfa.DFA;
|
||||
import org.antlr.v4.runtime.misc.*;
|
||||
import org.antlr.v4.runtime.tree.*;
|
||||
import org.antlr.v4.runtime.tree.ParseTreeListener;
|
||||
import org.antlr.v4.runtime.tree.ParseTreeVisitor;
|
||||
import org.antlr.v4.runtime.tree.TerminalNode;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
~ along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.itsaky.api">
|
||||
<manifest package="com.itsaky.api">
|
||||
|
||||
</manifest>
|
||||
@@ -17,7 +17,6 @@
|
||||
|
||||
package com.itsaky.lsp.models
|
||||
|
||||
import java.lang.IllegalArgumentException
|
||||
import java.nio.file.Path
|
||||
|
||||
data class Location (var file: Path, var range: Range)
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
package com.itsaky.lsp.models
|
||||
|
||||
import java.nio.file.Path
|
||||
import java.util.Collections
|
||||
import java.util.*
|
||||
|
||||
data class ParameterInformation (var label: String, var documentation: MarkupContent) {
|
||||
constructor() : this("", MarkupContent())
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
~ You should have received a copy of the GNU General Public License
|
||||
~ along with AndroidIDE. If not, see <https://www.gnu.org/licenses/>.
|
||||
-->
|
||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
package="com.itsaky.lsp.java">
|
||||
<manifest package="com.itsaky.lsp.java">
|
||||
|
||||
</manifest>
|
||||
@@ -15,7 +15,6 @@
|
||||
package com.google.googlejavaformat;
|
||||
|
||||
import static com.google.common.collect.Iterables.getLast;
|
||||
|
||||
import static java.lang.Math.max;
|
||||
|
||||
import com.google.common.base.MoreObjects;
|
||||
|
||||
@@ -16,7 +16,6 @@ package com.google.googlejavaformat.java;
|
||||
|
||||
import static com.google.common.base.StandardSystemProperty.JAVA_CLASS_VERSION;
|
||||
import static com.google.common.base.StandardSystemProperty.JAVA_SPECIFICATION_VERSION;
|
||||
|
||||
import static java.nio.charset.StandardCharsets.UTF_8;
|
||||
|
||||
import com.google.common.collect.ImmutableList;
|
||||
|
||||
@@ -16,7 +16,6 @@ package com.google.googlejavaformat.java;
|
||||
|
||||
import static com.google.common.base.Preconditions.checkNotNull;
|
||||
import static com.google.common.collect.Iterables.getLast;
|
||||
|
||||
import static java.nio.charset.StandardCharsets.UTF_8;
|
||||
|
||||
import com.google.common.base.MoreObjects;
|
||||
|
||||
@@ -41,7 +41,6 @@ import static com.sun.source.tree.Tree.Kind.NEW_CLASS;
|
||||
import static com.sun.source.tree.Tree.Kind.STRING_LITERAL;
|
||||
import static com.sun.source.tree.Tree.Kind.UNION_TYPE;
|
||||
import static com.sun.source.tree.Tree.Kind.VARIABLE;
|
||||
|
||||
import static java.util.stream.Collectors.toList;
|
||||
|
||||
import com.google.auto.value.AutoOneOf;
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
package com.google.googlejavaformat.java;
|
||||
|
||||
import static com.google.common.collect.Iterables.getLast;
|
||||
|
||||
import static java.nio.charset.StandardCharsets.UTF_8;
|
||||
import static java.util.stream.Collectors.joining;
|
||||
|
||||
|
||||
@@ -17,7 +17,6 @@ package com.google.googlejavaformat.java.javadoc;
|
||||
import static com.google.googlejavaformat.java.javadoc.JavadocLexer.lex;
|
||||
import static com.google.googlejavaformat.java.javadoc.Token.Type.BR_TAG;
|
||||
import static com.google.googlejavaformat.java.javadoc.Token.Type.PARAGRAPH_OPEN_TAG;
|
||||
|
||||
import static java.util.regex.Pattern.CASE_INSENSITIVE;
|
||||
import static java.util.regex.Pattern.compile;
|
||||
|
||||
|
||||
@@ -45,7 +45,6 @@ import static com.google.googlejavaformat.java.javadoc.Token.Type.PRE_OPEN_TAG;
|
||||
import static com.google.googlejavaformat.java.javadoc.Token.Type.TABLE_CLOSE_TAG;
|
||||
import static com.google.googlejavaformat.java.javadoc.Token.Type.TABLE_OPEN_TAG;
|
||||
import static com.google.googlejavaformat.java.javadoc.Token.Type.WHITESPACE;
|
||||
|
||||
import static java.lang.String.format;
|
||||
import static java.util.regex.Pattern.CASE_INSENSITIVE;
|
||||
import static java.util.regex.Pattern.DOTALL;
|
||||
|
||||
@@ -28,7 +28,9 @@ import static com.itsaky.lsp.java.utils.CodeActionUtils.unwrapJCDiagnostic;
|
||||
|
||||
import android.text.TextUtils;
|
||||
import android.util.Pair;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.itsaky.androidide.utils.Logger;
|
||||
import com.itsaky.lsp.java.compiler.CompileTask;
|
||||
import com.itsaky.lsp.java.compiler.CompilerProvider;
|
||||
@@ -50,6 +52,7 @@ import com.itsaky.lsp.models.CodeActionItem;
|
||||
import com.itsaky.lsp.models.DiagnosticItem;
|
||||
import com.itsaky.lsp.models.Range;
|
||||
import com.sun.tools.javac.util.JCDiagnostic;
|
||||
|
||||
import java.nio.file.Path;
|
||||
import java.time.Instant;
|
||||
import java.util.ArrayList;
|
||||
@@ -57,6 +60,7 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.tools.Diagnostic;
|
||||
import javax.tools.JavaFileObject;
|
||||
|
||||
|
||||
@@ -25,11 +25,18 @@ import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.file.Path;
|
||||
import java.util.*;
|
||||
import java.util.Collection;
|
||||
import java.util.Set;
|
||||
import java.util.logging.Logger;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
import javax.tools.*;
|
||||
import javax.tools.Diagnostic;
|
||||
import javax.tools.FileObject;
|
||||
import javax.tools.ForwardingJavaFileManager;
|
||||
import javax.tools.JavaCompiler;
|
||||
import javax.tools.JavaFileObject;
|
||||
import javax.tools.StandardJavaFileManager;
|
||||
import javax.tools.StandardLocation;
|
||||
|
||||
public class SourceFileManager extends ForwardingJavaFileManager<StandardJavaFileManager> {
|
||||
|
||||
|
||||
@@ -38,11 +38,11 @@ import androidx.annotation.NonNull;
|
||||
|
||||
import com.itsaky.androidide.utils.Logger;
|
||||
|
||||
import kotlin.jvm.functions.Function1;
|
||||
|
||||
import java.util.concurrent.Semaphore;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import kotlin.jvm.functions.Function1;
|
||||
|
||||
public class SynchronizedTask {
|
||||
|
||||
private static final Logger LOG = Logger.newInstance("SynchronizedTask");
|
||||
|
||||
@@ -22,6 +22,7 @@ import static com.itsaky.lsp.java.utils.EditHelper.repeatSpaces;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.itsaky.androidide.utils.Logger;
|
||||
import com.itsaky.lsp.api.AbstractServiceProvider;
|
||||
import com.itsaky.lsp.api.ICompletionProvider;
|
||||
@@ -58,6 +59,7 @@ import com.sun.source.tree.SwitchTree;
|
||||
import com.sun.source.tree.Tree;
|
||||
import com.sun.source.util.TreePath;
|
||||
import com.sun.source.util.Trees;
|
||||
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.time.Duration;
|
||||
@@ -73,6 +75,7 @@ import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.function.Predicate;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.lang.model.element.AnnotationMirror;
|
||||
import javax.lang.model.element.Element;
|
||||
import javax.lang.model.element.ElementKind;
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
package com.itsaky.lsp.java.rewrite;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import com.itsaky.lsp.java.compiler.CompileTask;
|
||||
import com.itsaky.lsp.java.compiler.CompilerProvider;
|
||||
import com.itsaky.lsp.java.utils.EditHelper;
|
||||
@@ -31,6 +32,7 @@ import com.squareup.javapoet.TypeName;
|
||||
import com.sun.source.tree.Tree;
|
||||
import com.sun.source.util.TreePath;
|
||||
import com.sun.source.util.Trees;
|
||||
|
||||
import java.nio.file.Path;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@@ -39,6 +41,7 @@ import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.TreeSet;
|
||||
|
||||
import javax.lang.model.element.Element;
|
||||
import javax.lang.model.element.ElementKind;
|
||||
import javax.lang.model.element.Modifier;
|
||||
|
||||
@@ -18,6 +18,7 @@ package com.itsaky.lsp.java.rewrite;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.annotation.Nullable;
|
||||
|
||||
import com.itsaky.androidide.utils.Logger;
|
||||
import com.itsaky.lsp.java.compiler.CompileTask;
|
||||
import com.itsaky.lsp.java.compiler.CompilerProvider;
|
||||
@@ -38,6 +39,7 @@ import com.sun.source.tree.ImportTree;
|
||||
import com.sun.source.tree.Tree;
|
||||
import com.sun.source.util.Trees;
|
||||
import com.sun.tools.javac.util.JCDiagnostic;
|
||||
|
||||
import java.nio.file.Path;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
@@ -47,6 +49,7 @@ import java.util.Set;
|
||||
import java.util.StringJoiner;
|
||||
import java.util.TreeSet;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import javax.lang.model.element.Element;
|
||||
import javax.lang.model.element.ElementKind;
|
||||
import javax.lang.model.element.ExecutableElement;
|
||||
|
||||
@@ -30,6 +30,7 @@ import com.sun.source.tree.Tree;
|
||||
import com.sun.source.util.JavacTask;
|
||||
import com.sun.source.util.SourcePositions;
|
||||
import com.sun.source.util.Trees;
|
||||
|
||||
import java.nio.file.Path;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
@@ -37,6 +38,7 @@ import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.StringJoiner;
|
||||
|
||||
import javax.lang.model.element.ExecutableElement;
|
||||
import javax.lang.model.element.Modifier;
|
||||
import javax.lang.model.element.Name;
|
||||
|
||||
@@ -6,7 +6,18 @@ import java.util.stream.Collectors;
|
||||
import javax.lang.model.element.ExecutableElement;
|
||||
import javax.lang.model.element.Modifier;
|
||||
import javax.lang.model.element.VariableElement;
|
||||
import javax.lang.model.type.*;
|
||||
import javax.lang.model.type.ArrayType;
|
||||
import javax.lang.model.type.DeclaredType;
|
||||
import javax.lang.model.type.ErrorType;
|
||||
import javax.lang.model.type.ExecutableType;
|
||||
import javax.lang.model.type.IntersectionType;
|
||||
import javax.lang.model.type.NoType;
|
||||
import javax.lang.model.type.NullType;
|
||||
import javax.lang.model.type.PrimitiveType;
|
||||
import javax.lang.model.type.TypeMirror;
|
||||
import javax.lang.model.type.TypeVariable;
|
||||
import javax.lang.model.type.UnionType;
|
||||
import javax.lang.model.type.WildcardType;
|
||||
import javax.lang.model.util.AbstractTypeVisitor8;
|
||||
|
||||
// TODO this should be package-private once completions code is refactored
|
||||
|
||||
@@ -19,8 +19,20 @@ package com.itsaky.lsp.java.visitors;
|
||||
|
||||
import com.itsaky.lsp.java.compiler.CompileTask;
|
||||
import com.itsaky.lsp.java.utils.FindHelper;
|
||||
import com.sun.source.tree.*;
|
||||
import com.sun.source.util.*;
|
||||
import com.sun.source.tree.ClassTree;
|
||||
import com.sun.source.tree.CompilationUnitTree;
|
||||
import com.sun.source.tree.IdentifierTree;
|
||||
import com.sun.source.tree.MemberReferenceTree;
|
||||
import com.sun.source.tree.MemberSelectTree;
|
||||
import com.sun.source.tree.MethodTree;
|
||||
import com.sun.source.tree.NewClassTree;
|
||||
import com.sun.source.tree.Tree;
|
||||
import com.sun.source.tree.VariableTree;
|
||||
import com.sun.source.util.JavacTask;
|
||||
import com.sun.source.util.SourcePositions;
|
||||
import com.sun.source.util.TreePath;
|
||||
import com.sun.source.util.TreePathScanner;
|
||||
import com.sun.source.util.Trees;
|
||||
|
||||
import javax.lang.model.element.Name;
|
||||
|
||||
|
||||
@@ -17,7 +17,8 @@
|
||||
|
||||
package com.itsaky.lsp.java.visitors;
|
||||
|
||||
import com.sun.source.tree.*;
|
||||
import com.sun.source.tree.ClassTree;
|
||||
import com.sun.source.tree.CompilationUnitTree;
|
||||
import com.sun.source.util.TreeScanner;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -17,7 +17,8 @@
|
||||
|
||||
package com.itsaky.lsp.java.visitors;
|
||||
|
||||
import com.sun.source.tree.*;
|
||||
import com.sun.source.tree.ClassTree;
|
||||
import com.sun.source.tree.CompilationUnitTree;
|
||||
import com.sun.source.util.TreeScanner;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
||||
@@ -24,6 +24,7 @@ import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
import javax.lang.model.element.Element;
|
||||
import javax.lang.model.element.PackageElement;
|
||||
import javax.lang.model.element.TypeElement;
|
||||
|
||||
@@ -19,7 +19,6 @@ import static com.squareup.javapoet.Util.checkArgument;
|
||||
import static com.squareup.javapoet.Util.checkNotNull;
|
||||
import static com.squareup.javapoet.Util.checkState;
|
||||
import static com.squareup.javapoet.Util.stringLiteralWithDoubleQuotes;
|
||||
|
||||
import static java.lang.String.join;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
package com.squareup.javapoet;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Collections;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -17,7 +17,6 @@ package com.squareup.javapoet;
|
||||
|
||||
import static com.squareup.javapoet.Util.checkArgument;
|
||||
import static com.squareup.javapoet.Util.checkNotNull;
|
||||
|
||||
import static java.nio.charset.StandardCharsets.UTF_8;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
|
||||
@@ -28,6 +28,7 @@ import java.util.LinkedHashSet;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
||||
import javax.lang.model.SourceVersion;
|
||||
import javax.lang.model.element.Element;
|
||||
import javax.lang.model.element.ExecutableElement;
|
||||
|
||||
@@ -30,7 +30,6 @@ import static com.sun.tools.javac.main.Option.ENDORSEDDIRS;
|
||||
import static com.sun.tools.javac.main.Option.EXTDIRS;
|
||||
import static com.sun.tools.javac.main.Option.XBOOTCLASSPATH_APPEND;
|
||||
import static com.sun.tools.javac.main.Option.XBOOTCLASSPATH_PREPEND;
|
||||
|
||||
import static javax.tools.StandardLocation.PLATFORM_CLASS_PATH;
|
||||
|
||||
import com.sun.tools.javac.code.Lint;
|
||||
@@ -48,9 +47,6 @@ import com.sun.tools.javac.util.Log;
|
||||
import com.sun.tools.javac.util.Pair;
|
||||
import com.sun.tools.javac.util.StringUtils;
|
||||
|
||||
import jdk.internal.jmod.JmodFile;
|
||||
import jdk.internal.jrtfs.JrtFileSystemProvider;
|
||||
|
||||
import java.io.Closeable;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
@@ -101,6 +97,9 @@ import javax.tools.StandardJavaFileManager;
|
||||
import javax.tools.StandardJavaFileManager.PathFactory;
|
||||
import javax.tools.StandardLocation;
|
||||
|
||||
import jdk.internal.jmod.JmodFile;
|
||||
import jdk.internal.jrtfs.JrtFileSystemProvider;
|
||||
|
||||
/**
|
||||
* This class converts command line arguments, environment variables and system properties (in
|
||||
* File.pathSeparator-separated String form) into a boot class path, user class path, and source
|
||||
|
||||
@@ -26,9 +26,6 @@ package jdk.internal.jrtfs;
|
||||
|
||||
import com.itsaky.androidide.utils.Environment;
|
||||
|
||||
import jdk.internal.jimage.ImageReader;
|
||||
import jdk.internal.jimage.ImageReader.Node;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.FileSystem;
|
||||
import java.nio.file.FileSystemNotFoundException;
|
||||
@@ -38,6 +35,9 @@ import java.nio.file.Path;
|
||||
import java.security.AccessController;
|
||||
import java.security.PrivilegedAction;
|
||||
|
||||
import jdk.internal.jimage.ImageReader;
|
||||
import jdk.internal.jimage.ImageReader.Node;
|
||||
|
||||
/**
|
||||
* @implNote This class needs to maintain JDK 8 source compatibility.
|
||||
* <p>It is used internally in the JDK to implement jimage/jrtfs access, but also compiled and
|
||||
|
||||
@@ -17,7 +17,6 @@
|
||||
|
||||
package com.itsaky.lsp.java.providers
|
||||
|
||||
import androidx.core.util.Pair
|
||||
import com.google.common.truth.Truth.assertThat
|
||||
import com.itsaky.lsp.api.ILanguageServer
|
||||
import com.itsaky.lsp.api.LoggingTest
|
||||
@@ -26,14 +25,11 @@ import com.itsaky.lsp.models.CodeActionParams
|
||||
import com.itsaky.lsp.models.DiagnosticItem
|
||||
import com.itsaky.lsp.models.Position
|
||||
import com.itsaky.lsp.models.Range
|
||||
import com.squareup.javapoet.MethodSpec
|
||||
import com.squareup.javapoet.TypeName
|
||||
import org.junit.Test
|
||||
import org.junit.runner.RunWith
|
||||
import org.robolectric.RobolectricTestRunner
|
||||
import org.robolectric.annotation.Config
|
||||
import java.util.*
|
||||
import javax.lang.model.element.Modifier
|
||||
|
||||
/**
|
||||
* @author Akash Yadav
|
||||
|
||||
@@ -39,8 +39,6 @@ import com.itsaky.lsp.xml.R;
|
||||
import com.itsaky.sdk.SDKInfo;
|
||||
import com.itsaky.widgets.models.Widget;
|
||||
|
||||
import io.github.rosemoe.sora.lang.completion.CompletionCancelledException;
|
||||
|
||||
import org.antlr.v4.runtime.CharStreams;
|
||||
import org.antlr.v4.runtime.Token;
|
||||
import org.jetbrains.annotations.Contract;
|
||||
@@ -52,6 +50,8 @@ import java.util.Objects;
|
||||
import java.util.Set;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import io.github.rosemoe.sora.lang.completion.CompletionCancelledException;
|
||||
|
||||
/**
|
||||
* Completion provider for the XML Language
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user