From 49af134a5d1e6ea8a09b707e9b3e333c69e46169 Mon Sep 17 00:00:00 2001 From: KonerDev <105141148+KonerDev@users.noreply.github.com> Date: Sun, 25 Jan 2026 15:40:54 +0100 Subject: [PATCH 1/2] feat: add `isFolder` param to `FileIconProvider` method --- .../sora/lsp/editor/completion/LspCompletionItem.kt | 8 ++++++-- .../sora/lang/completion/SimpleCompletionIconDrawer.kt | 7 ++++--- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/editor-lsp/src/main/java/io/github/rosemoe/sora/lsp/editor/completion/LspCompletionItem.kt b/editor-lsp/src/main/java/io/github/rosemoe/sora/lsp/editor/completion/LspCompletionItem.kt index a693ff1d..d5d67be5 100644 --- a/editor-lsp/src/main/java/io/github/rosemoe/sora/lsp/editor/completion/LspCompletionItem.kt +++ b/editor-lsp/src/main/java/io/github/rosemoe/sora/lsp/editor/completion/LspCompletionItem.kt @@ -73,10 +73,14 @@ class LspCompletionItem( deprecated = tags.contains(CompletionItemTag.Deprecated) } + val isFile = kind == CompletionItemKind.File + val isFolder = kind == CompletionItemKind.Folder val fileIcon = when { - kind == CompletionItemKind.File || kind == CompletionItemKind.Folder -> { - label?.let { drawFileFolder(it.toString()) } ?: desc?.let { drawFileFolder(it.toString()) } + isFile || isFolder -> { + label?.let { drawFileFolder(it.toString(), isFolder) } + ?: desc?.let { drawFileFolder(it.toString(), isFolder) } } + else -> null } diff --git a/editor/src/main/java/io/github/rosemoe/sora/lang/completion/SimpleCompletionIconDrawer.kt b/editor/src/main/java/io/github/rosemoe/sora/lang/completion/SimpleCompletionIconDrawer.kt index f1f00bd3..ddf6f6d1 100644 --- a/editor/src/main/java/io/github/rosemoe/sora/lang/completion/SimpleCompletionIconDrawer.kt +++ b/editor/src/main/java/io/github/rosemoe/sora/lang/completion/SimpleCompletionIconDrawer.kt @@ -35,9 +35,10 @@ interface FileIconProvider { /** * Attempts to load a file/folder icon from the given source string. * @param src Source string (e.g., absolute or relative path) + * @param isFolder True if the source is a folder, false if it's a file * @return A [Drawable] if successful, or null if no icon can be loaded. */ - fun load(src: String): Drawable? + fun load(src: String, isFolder: Boolean): Drawable? } object SimpleCompletionIconDrawer { @@ -49,8 +50,8 @@ object SimpleCompletionIconDrawer { return CircleDrawable(kind, circle) } - fun drawFileFolder(src: String): Drawable? { - return globalFileIconProvider?.load(src) + fun drawFileFolder(src: String, isFolder: Boolean): Drawable? { + return globalFileIconProvider?.load(src, isFolder) } fun drawColorSpan(colorSpan: Int): Drawable { From 3307c6fe6aa48ea1555bf546756cde28f68d4a46 Mon Sep 17 00:00:00 2001 From: Rosemoe <2073412493@qq.com> Date: Mon, 26 Jan 2026 15:40:43 +0800 Subject: [PATCH 2/2] chore: ignore renovate branches on push for CI --- .github/workflows/gradle.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/gradle.yml b/.github/workflows/gradle.yml index d45cb7a4..81dd6d74 100644 --- a/.github/workflows/gradle.yml +++ b/.github/workflows/gradle.yml @@ -2,6 +2,8 @@ name: Android CI on: push: + branches-ignore: + - 'renovate-*' paths-ignore: - '**.md' - '**.txt'