From bb929c9dcab0eb93c5c74cb13475d4391a66d581 Mon Sep 17 00:00:00 2001 From: Akash Yadav Date: Mon, 21 Mar 2022 19:50:55 +0530 Subject: [PATCH] Updated contributing guide --- CONTRIBUTING.md | 25 ++++++++++++++++++- .../com/itsaky/androidide/EditorActivity.java | 13 +++------- .../adapters/DiagnosticsAdapter.java | 3 --- .../fragments/attr/BooleanEditor.java | 3 --- .../fragments/attr/DimensionEditor.java | 3 --- .../androidide/fragments/attr/EnumEditor.java | 2 -- .../fragments/attr/FixedValueEditor.java | 2 +- .../androidide/fragments/attr/FlagEditor.java | 3 --- .../preferences/BasePreferenceFragment.java | 2 -- .../preferences/EditorPreferences.java | 2 -- .../androidide/lsp/IDELanguageClientImpl.java | 5 +--- .../itsaky/androidide/tasks/TaskExecutor.java | 1 - .../views/editor/CodeEditorView.java | 15 ++++------- .../androidide/views/editor/IDEEditor.java | 13 +++------- .../views/virtualkeys/VirtualKeysInfo.java | 8 +++--- .../lsp/util/PrefBasedServerSettings.java | 1 - .../itsaky/lsp/java/JavaLanguageServer.java | 2 -- .../lsp/java/models/JavaServerSettings.java | 1 - .../java/providers/CodeFormatProvider.java | 2 -- .../java/providers/CompletionProvider.java | 3 --- .../com/itsaky/lsp/xml/XMLLanguageServer.java | 5 +--- .../lsp/xml/providers/CompletionProvider.java | 9 +++---- 22 files changed, 47 insertions(+), 76 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e7ee2cf8c..1d12e3377 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,2 +1,25 @@ # Contributing -You can build AndroidIDE on Android Studio. Building AndroidIDE on AndroidIDE itself is also possible but you might face difficulties doing so. So, Android Studio is recommended. \ No newline at end of file +This document outlines how to propose a change to AndrodIDE. By contributing to this project, you agree to abide the terms specified in [CODE OF CONDUCT](./CODE_OF_CONDUCT.md). + +## Propose a change +To contribute to this project, +- Fork the repo. +- Clone the forked repo to your local machine. +- Open the project in Android Studio. +- Make your changes. +- Create a pull request. + +## Note +`Java 11` is required to build the project. + +Building AndroidIDE in AndroidIDE itself is also possible. But that might require some modifications. + +If you face `AAPT2` issue while building AndroidIDE in the IDE itself, specify the `android.aapt2FromMavenOverride` property in `gradle.properties` with location of `aapt2` binary from Android SDK. However, this is an **experimental** property. + +## Source code format +The source code must have `4-space` indentation (soft tab). Java source code is formatted using `google-java-format` with `AOSP` style formatting. You can execute `./gradlew goJF` in terminal to format all Java source files using Google Java Format. + +## Issues & Pull requests +Use the issue/PR templates when possible. Provide a proper title and a clear description for the issue/PR. For bug reports, provide a step-by-step procedure to reproduce the issue. Always put crash logs, build outputs, etc in `code blocks`. + +If you want to discuss anything about the project, you can discuss it in the [Telegram group](https://t.me/androidide_discussions). \ No newline at end of file diff --git a/app/src/main/java/com/itsaky/androidide/EditorActivity.java b/app/src/main/java/com/itsaky/androidide/EditorActivity.java index e0a9a25c4..d1aab8308 100755 --- a/app/src/main/java/com/itsaky/androidide/EditorActivity.java +++ b/app/src/main/java/com/itsaky/androidide/EditorActivity.java @@ -35,7 +35,6 @@ import android.view.View; import android.view.ViewGroup; import android.widget.CheckBox; import android.widget.LinearLayout; - import androidx.activity.result.ActivityResult; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; @@ -51,7 +50,6 @@ import androidx.fragment.app.Fragment; import androidx.lifecycle.ViewModelProvider; import androidx.transition.Slide; import androidx.transition.TransitionManager; - import com.blankj.utilcode.util.ClipboardUtils; import com.blankj.utilcode.util.FileUtils; import com.blankj.utilcode.util.IntentUtils; @@ -88,7 +86,6 @@ import com.itsaky.androidide.managers.PreferenceManager; import com.itsaky.androidide.managers.ToolsManager; import com.itsaky.androidide.models.DiagnosticGroup; import com.itsaky.androidide.models.LogLine; -import com.itsaky.lsp.java.models.JavaServerSettings; import com.itsaky.androidide.models.SaveResult; import com.itsaky.androidide.models.SearchResult; import com.itsaky.androidide.models.SheetOption; @@ -112,14 +109,14 @@ import com.itsaky.androidide.views.editor.CodeEditorView; import com.itsaky.inflater.ILayoutInflater; import com.itsaky.inflater.values.ValuesTableFactory; import com.itsaky.lsp.java.models.JavaServerConfiguration; +import com.itsaky.lsp.java.models.JavaServerSettings; import com.itsaky.lsp.models.DiagnosticItem; import com.itsaky.lsp.models.InitializeParams; import com.itsaky.lsp.models.Range; import com.itsaky.toaster.Toaster; import com.unnamed.b.atv.model.TreeNode; - -import org.jetbrains.annotations.Contract; - +import io.github.rosemoe.sora.event.ContentChangeEvent; +import io.github.rosemoe.sora.event.Unsubscribe; import java.io.File; import java.nio.file.Path; import java.nio.file.Paths; @@ -134,11 +131,9 @@ import java.util.concurrent.CompletableFuture; 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; +import org.jetbrains.annotations.Contract; public class EditorActivity extends StudioActivity implements FileTreeFragment.FileActionListener, diff --git a/app/src/main/java/com/itsaky/androidide/adapters/DiagnosticsAdapter.java b/app/src/main/java/com/itsaky/androidide/adapters/DiagnosticsAdapter.java index 81a605593..1b4751d78 100755 --- a/app/src/main/java/com/itsaky/androidide/adapters/DiagnosticsAdapter.java +++ b/app/src/main/java/com/itsaky/androidide/adapters/DiagnosticsAdapter.java @@ -21,16 +21,13 @@ package com.itsaky.androidide.adapters; import android.graphics.PorterDuff; import android.view.LayoutInflater; import android.view.ViewGroup; - import androidx.core.content.ContextCompat; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; - import com.itsaky.androidide.R; import com.itsaky.androidide.databinding.LayoutDiagnosticGroupBinding; import com.itsaky.androidide.interfaces.DiagnosticClickListener; import com.itsaky.androidide.models.DiagnosticGroup; - import java.util.List; public class DiagnosticsAdapter extends RecyclerView.Adapter { diff --git a/app/src/main/java/com/itsaky/androidide/fragments/attr/BooleanEditor.java b/app/src/main/java/com/itsaky/androidide/fragments/attr/BooleanEditor.java index fe613b12a..58c5185b2 100644 --- a/app/src/main/java/com/itsaky/androidide/fragments/attr/BooleanEditor.java +++ b/app/src/main/java/com/itsaky/androidide/fragments/attr/BooleanEditor.java @@ -23,15 +23,12 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.RadioButton; - import androidx.annotation.NonNull; import androidx.annotation.Nullable; - import com.google.android.material.textfield.MaterialAutoCompleteTextView; import com.itsaky.androidide.databinding.LayoutBooleanAttrEditorBinding; import com.itsaky.inflater.values.FrameworkValues; import com.itsaky.inflater.values.ValuesTableFactory; - import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; diff --git a/app/src/main/java/com/itsaky/androidide/fragments/attr/DimensionEditor.java b/app/src/main/java/com/itsaky/androidide/fragments/attr/DimensionEditor.java index 446d6560a..15a5a46d8 100644 --- a/app/src/main/java/com/itsaky/androidide/fragments/attr/DimensionEditor.java +++ b/app/src/main/java/com/itsaky/androidide/fragments/attr/DimensionEditor.java @@ -24,10 +24,8 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.EditText; - import androidx.annotation.NonNull; import androidx.annotation.Nullable; - import com.google.android.material.textfield.MaterialAutoCompleteTextView; import com.itsaky.androidide.R; import com.itsaky.androidide.databinding.LayoutDimensionAttrEditorBinding; @@ -35,7 +33,6 @@ import com.itsaky.androidide.utils.Logger; import com.itsaky.androidide.utils.TextWatcherAdapter; import com.itsaky.inflater.values.FrameworkValues; import com.itsaky.inflater.values.ValuesTableFactory; - import java.util.ArrayList; import java.util.Arrays; import java.util.List; diff --git a/app/src/main/java/com/itsaky/androidide/fragments/attr/EnumEditor.java b/app/src/main/java/com/itsaky/androidide/fragments/attr/EnumEditor.java index b141ed409..4b8c740be 100644 --- a/app/src/main/java/com/itsaky/androidide/fragments/attr/EnumEditor.java +++ b/app/src/main/java/com/itsaky/androidide/fragments/attr/EnumEditor.java @@ -19,10 +19,8 @@ package com.itsaky.androidide.fragments.attr; import android.os.Bundle; import android.text.TextUtils; import android.view.View; - import androidx.annotation.NonNull; import androidx.annotation.Nullable; - import com.google.android.material.chip.Chip; import com.google.android.material.chip.ChipGroup; import com.itsaky.androidide.utils.Logger; diff --git a/app/src/main/java/com/itsaky/androidide/fragments/attr/FixedValueEditor.java b/app/src/main/java/com/itsaky/androidide/fragments/attr/FixedValueEditor.java index e4b822d6e..ea050be11 100644 --- a/app/src/main/java/com/itsaky/androidide/fragments/attr/FixedValueEditor.java +++ b/app/src/main/java/com/itsaky/androidide/fragments/attr/FixedValueEditor.java @@ -68,7 +68,7 @@ public abstract class FixedValueEditor extends BaseValueEditorFragment { if (TextUtils.isEmpty(value)) { continue; } - + this.chipGroup.addView(newChip(value, value.equals(this.attribute.getValue()))); } diff --git a/app/src/main/java/com/itsaky/androidide/fragments/attr/FlagEditor.java b/app/src/main/java/com/itsaky/androidide/fragments/attr/FlagEditor.java index ac46d423d..58be730a8 100644 --- a/app/src/main/java/com/itsaky/androidide/fragments/attr/FlagEditor.java +++ b/app/src/main/java/com/itsaky/androidide/fragments/attr/FlagEditor.java @@ -23,14 +23,11 @@ import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.CompoundButton; - import androidx.annotation.NonNull; import androidx.annotation.Nullable; - import com.google.android.material.chip.Chip; import com.google.android.material.chip.ChipGroup; import com.itsaky.androidide.utils.Logger; - import java.util.ArrayList; import java.util.Arrays; diff --git a/app/src/main/java/com/itsaky/androidide/fragments/preferences/BasePreferenceFragment.java b/app/src/main/java/com/itsaky/androidide/fragments/preferences/BasePreferenceFragment.java index 3a0b1da3f..f46e031f8 100755 --- a/app/src/main/java/com/itsaky/androidide/fragments/preferences/BasePreferenceFragment.java +++ b/app/src/main/java/com/itsaky/androidide/fragments/preferences/BasePreferenceFragment.java @@ -21,11 +21,9 @@ import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; - import androidx.annotation.NonNull; import androidx.core.content.ContextCompat; import androidx.preference.PreferenceFragmentCompat; - import com.itsaky.androidide.app.StudioApp; import com.itsaky.androidide.managers.PreferenceManager; diff --git a/app/src/main/java/com/itsaky/androidide/fragments/preferences/EditorPreferences.java b/app/src/main/java/com/itsaky/androidide/fragments/preferences/EditorPreferences.java index 2e0c2a544..e1179f633 100755 --- a/app/src/main/java/com/itsaky/androidide/fragments/preferences/EditorPreferences.java +++ b/app/src/main/java/com/itsaky/androidide/fragments/preferences/EditorPreferences.java @@ -36,12 +36,10 @@ import static com.itsaky.lsp.java.models.JavaServerSettings.KEY_JAVA_PREF_GOOGLE import android.os.Bundle; import android.view.LayoutInflater; - import androidx.annotation.NonNull; import androidx.preference.Preference; import androidx.preference.PreferenceCategory; import androidx.preference.SwitchPreference; - import com.google.android.material.dialog.MaterialAlertDialogBuilder; import com.itsaky.androidide.R; import com.itsaky.androidide.databinding.LayoutTextSizeSliderBinding; diff --git a/app/src/main/java/com/itsaky/androidide/lsp/IDELanguageClientImpl.java b/app/src/main/java/com/itsaky/androidide/lsp/IDELanguageClientImpl.java index 9f55e9191..900669f9e 100755 --- a/app/src/main/java/com/itsaky/androidide/lsp/IDELanguageClientImpl.java +++ b/app/src/main/java/com/itsaky/androidide/lsp/IDELanguageClientImpl.java @@ -20,7 +20,6 @@ package com.itsaky.androidide.lsp; import android.view.View; - import com.blankj.utilcode.util.FileIOUtils; import com.blankj.utilcode.util.FileUtils; import com.google.android.material.dialog.MaterialAlertDialogBuilder; @@ -48,7 +47,7 @@ import com.itsaky.lsp.models.Location; 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; @@ -56,8 +55,6 @@ 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 { diff --git a/app/src/main/java/com/itsaky/androidide/tasks/TaskExecutor.java b/app/src/main/java/com/itsaky/androidide/tasks/TaskExecutor.java index 237982cfc..312a7dcf5 100755 --- a/app/src/main/java/com/itsaky/androidide/tasks/TaskExecutor.java +++ b/app/src/main/java/com/itsaky/androidide/tasks/TaskExecutor.java @@ -20,7 +20,6 @@ package com.itsaky.androidide.tasks; import com.blankj.utilcode.util.ThreadUtils; import com.itsaky.androidide.utils.Logger; - import java.util.concurrent.Callable; import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionException; diff --git a/app/src/main/java/com/itsaky/androidide/views/editor/CodeEditorView.java b/app/src/main/java/com/itsaky/androidide/views/editor/CodeEditorView.java index a77e7eec6..67b32422b 100644 --- a/app/src/main/java/com/itsaky/androidide/views/editor/CodeEditorView.java +++ b/app/src/main/java/com/itsaky/androidide/views/editor/CodeEditorView.java @@ -38,10 +38,8 @@ import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.widget.FrameLayout; - import androidx.annotation.NonNull; import androidx.annotation.Nullable; - import com.blankj.utilcode.util.FileIOUtils; import com.blankj.utilcode.util.SizeUtils; import com.itsaky.androidide.adapters.CompletionListAdapter; @@ -59,10 +57,9 @@ import com.itsaky.androidide.utils.Logger; import com.itsaky.androidide.utils.TypefaceUtils; import com.itsaky.inflater.values.ValuesTableFactory; import com.itsaky.lsp.models.Range; - -import org.antlr.v4.runtime.CharStreams; -import org.antlr.v4.runtime.Token; - +import io.github.rosemoe.sora.event.ContentChangeEvent; +import io.github.rosemoe.sora.lang.EmptyLanguage; +import io.github.rosemoe.sora.text.Content; import java.io.File; import java.io.StringReader; import java.nio.file.Files; @@ -70,10 +67,8 @@ import java.util.ArrayList; 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; +import org.antlr.v4.runtime.CharStreams; +import org.antlr.v4.runtime.Token; /** * A view that handles opened code editors. diff --git a/app/src/main/java/com/itsaky/androidide/views/editor/IDEEditor.java b/app/src/main/java/com/itsaky/androidide/views/editor/IDEEditor.java index f2119b370..8c795acbb 100644 --- a/app/src/main/java/com/itsaky/androidide/views/editor/IDEEditor.java +++ b/app/src/main/java/com/itsaky/androidide/views/editor/IDEEditor.java @@ -26,12 +26,10 @@ import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.view.inputmethod.EditorInfo; - import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.StringRes; import androidx.core.content.ContextCompat; - import com.blankj.utilcode.util.ThreadUtils; import com.itsaky.androidide.R; import com.itsaky.androidide.app.StudioApp; @@ -59,18 +57,15 @@ import com.itsaky.lsp.models.ShowDocumentParams; import com.itsaky.lsp.models.SignatureHelp; import com.itsaky.lsp.models.SignatureHelpParams; import com.itsaky.toaster.Toaster; - -import org.jetbrains.annotations.Contract; - +import io.github.rosemoe.sora.event.ContentChangeEvent; +import io.github.rosemoe.sora.event.SelectionChangeEvent; +import io.github.rosemoe.sora.widget.CodeEditor; import java.io.File; import java.util.Collections; 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.event.SelectionChangeEvent; -import io.github.rosemoe.sora.widget.CodeEditor; +import org.jetbrains.annotations.Contract; public class IDEEditor extends CodeEditor { diff --git a/emulatorview/src/main/java/com/itsaky/androidide/views/virtualkeys/VirtualKeysInfo.java b/emulatorview/src/main/java/com/itsaky/androidide/views/virtualkeys/VirtualKeysInfo.java index 71f684d2d..1d3aa70a0 100755 --- a/emulatorview/src/main/java/com/itsaky/androidide/views/virtualkeys/VirtualKeysInfo.java +++ b/emulatorview/src/main/java/com/itsaky/androidide/views/virtualkeys/VirtualKeysInfo.java @@ -33,19 +33,19 @@ import org.json.JSONObject; * *

Examples: {@code # Empty: [] * - *

# Single row: [[ESC, TAB, CTRL, ALT, {key: '-', popup: '|'}, DOWN, UP]] + *

# Single row: [[ESC, TAB, CTRL, ALT, {key: '-', popup: '|'}, DOWN, UP]] * - *

# 2 row: [['ESC','/',{key: '-', popup: '|'},'HOME','UP','END','PGUP'], + *

# 2 row: [['ESC','/',{key: '-', popup: '|'},'HOME','UP','END','PGUP'], * ['TAB','CTRL','ALT','LEFT','DOWN','RIGHT','PGDN']] * - *

# Advance: [[ {key: ESC, popup: {macro: "CTRL f d", display: "tmux exit"}}, + *

# Advance: [[ {key: ESC, popup: {macro: "CTRL f d", display: "tmux exit"}}, * {key: CTRL, popup: {macro: "CTRL f BKSP", display: "tmux ←"}}, {key: ALT, popup: {macro: "CTRL f * TAB", display: "tmux →"}}, {key: TAB, popup: {macro: "ALT a", display: A-a}}, {key: LEFT, popup: * HOME}, {key: DOWN, popup: PGDN}, {key: UP, popup: PGUP}, {key: RIGHT, popup: END}, {macro: "ALT * j", display: A-j, popup: {macro: "ALT g", display: A-g}}, {key: KEYBOARD, popup: {macro: "CTRL * d", display: exit}} ]] * - *

} + *

} * *

Aliases are also allowed for the keys that you can pass as {@code extraKeyAliasMap}. Check * {@link VirtualKeysConstants#CONTROL_CHARS_ALIASES}. diff --git a/lsp/api/src/main/java/com/itsaky/lsp/util/PrefBasedServerSettings.java b/lsp/api/src/main/java/com/itsaky/lsp/util/PrefBasedServerSettings.java index 977580f3c..b8160817e 100644 --- a/lsp/api/src/main/java/com/itsaky/lsp/util/PrefBasedServerSettings.java +++ b/lsp/api/src/main/java/com/itsaky/lsp/util/PrefBasedServerSettings.java @@ -18,7 +18,6 @@ package com.itsaky.lsp.util; import androidx.annotation.Nullable; - import com.itsaky.androidide.app.BaseApplication; import com.itsaky.androidide.managers.PreferenceManager; import com.itsaky.lsp.api.IServerSettings; diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/JavaLanguageServer.java b/lsp/java/src/main/java/com/itsaky/lsp/java/JavaLanguageServer.java index 6bd532519..9a6df117f 100644 --- a/lsp/java/src/main/java/com/itsaky/lsp/java/JavaLanguageServer.java +++ b/lsp/java/src/main/java/com/itsaky/lsp/java/JavaLanguageServer.java @@ -19,7 +19,6 @@ package com.itsaky.lsp.java; import androidx.annotation.NonNull; import androidx.annotation.Nullable; - import com.itsaky.androidide.utils.Logger; import com.itsaky.lsp.api.ICompletionProvider; import com.itsaky.lsp.api.IDocumentHandler; @@ -55,7 +54,6 @@ import com.itsaky.lsp.models.ServerCapabilities; import com.itsaky.lsp.models.SignatureHelp; import com.itsaky.lsp.models.SignatureHelpParams; import com.itsaky.lsp.util.NoCompletionsProvider; - import java.nio.file.Path; import java.util.Collections; import java.util.List; diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/models/JavaServerSettings.java b/lsp/java/src/main/java/com/itsaky/lsp/java/models/JavaServerSettings.java index 3f4cb8013..149dbcae5 100644 --- a/lsp/java/src/main/java/com/itsaky/lsp/java/models/JavaServerSettings.java +++ b/lsp/java/src/main/java/com/itsaky/lsp/java/models/JavaServerSettings.java @@ -17,7 +17,6 @@ package com.itsaky.lsp.java.models; import androidx.annotation.NonNull; - import com.itsaky.androidide.managers.PreferenceManager; import com.itsaky.lsp.util.PrefBasedServerSettings; diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/providers/CodeFormatProvider.java b/lsp/java/src/main/java/com/itsaky/lsp/java/providers/CodeFormatProvider.java index 400e7ab07..c2ae2aa94 100644 --- a/lsp/java/src/main/java/com/itsaky/lsp/java/providers/CodeFormatProvider.java +++ b/lsp/java/src/main/java/com/itsaky/lsp/java/providers/CodeFormatProvider.java @@ -20,7 +20,6 @@ package com.itsaky.lsp.java.providers; import static com.itsaky.androidide.utils.Logger.instance; import androidx.annotation.NonNull; - import com.google.common.io.CharSink; import com.google.common.io.CharSource; import com.google.googlejavaformat.java.Formatter; @@ -28,7 +27,6 @@ import com.google.googlejavaformat.java.JavaFormatterOptions; import com.itsaky.androidide.utils.Logger; import com.itsaky.lsp.api.IServerSettings; import com.itsaky.lsp.java.models.JavaServerSettings; - import java.io.StringWriter; import java.io.Writer; diff --git a/lsp/java/src/main/java/com/itsaky/lsp/java/providers/CompletionProvider.java b/lsp/java/src/main/java/com/itsaky/lsp/java/providers/CompletionProvider.java index 9ad1f7a40..f03b173b1 100644 --- a/lsp/java/src/main/java/com/itsaky/lsp/java/providers/CompletionProvider.java +++ b/lsp/java/src/main/java/com/itsaky/lsp/java/providers/CompletionProvider.java @@ -21,7 +21,6 @@ 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; @@ -60,7 +59,6 @@ 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; @@ -77,7 +75,6 @@ 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; diff --git a/lsp/xml/src/main/java/com/itsaky/lsp/xml/XMLLanguageServer.java b/lsp/xml/src/main/java/com/itsaky/lsp/xml/XMLLanguageServer.java index d5168d7d7..f86773488 100644 --- a/lsp/xml/src/main/java/com/itsaky/lsp/xml/XMLLanguageServer.java +++ b/lsp/xml/src/main/java/com/itsaky/lsp/xml/XMLLanguageServer.java @@ -18,7 +18,6 @@ package com.itsaky.lsp.xml; import androidx.annotation.NonNull; - import com.itsaky.lsp.api.ICompletionProvider; import com.itsaky.lsp.api.IDocumentHandler; import com.itsaky.lsp.api.ILanguageClient; @@ -42,12 +41,10 @@ import com.itsaky.lsp.util.NoDocumentHandler; import com.itsaky.lsp.xml.models.XMLServerSettings; import com.itsaky.lsp.xml.providers.CompletionProvider; import com.itsaky.sdk.SDKInfo; - -import org.jetbrains.annotations.Nullable; - import java.nio.file.Path; import java.util.Collections; import java.util.List; +import org.jetbrains.annotations.Nullable; /** * Language server implementation for XML files. diff --git a/lsp/xml/src/main/java/com/itsaky/lsp/xml/providers/CompletionProvider.java b/lsp/xml/src/main/java/com/itsaky/lsp/xml/providers/CompletionProvider.java index 247021f98..c79acfba2 100644 --- a/lsp/xml/src/main/java/com/itsaky/lsp/xml/providers/CompletionProvider.java +++ b/lsp/xml/src/main/java/com/itsaky/lsp/xml/providers/CompletionProvider.java @@ -19,7 +19,6 @@ package com.itsaky.lsp.xml.providers; import androidx.annotation.NonNull; import androidx.annotation.Nullable; - import com.itsaky.androidide.app.BaseApplication; import com.itsaky.androidide.lexers.xml.XMLLexer; import com.itsaky.androidide.utils.CharSequenceReader; @@ -37,17 +36,15 @@ import com.itsaky.lsp.models.InsertTextFormat; import com.itsaky.lsp.xml.R; import com.itsaky.sdk.SDKInfo; import com.itsaky.widgets.models.Widget; - -import org.antlr.v4.runtime.CharStreams; -import org.antlr.v4.runtime.Token; -import org.jetbrains.annotations.Contract; - import java.nio.file.Path; import java.util.Locale; import java.util.Map; import java.util.Objects; import java.util.Set; import java.util.regex.Pattern; +import org.antlr.v4.runtime.CharStreams; +import org.antlr.v4.runtime.Token; +import org.jetbrains.annotations.Contract; /** * Completion provider for the XML Language