mirror of
https://gitee.com/zhangsken/AndroidIDE.git
synced 2026-10-16 07:49:44 +08:00
fix(logview): IDEColorScheme is not set up with LogLanguage
This commit is contained in:
@@ -25,6 +25,8 @@ import com.blankj.utilcode.util.ThreadUtils
|
||||
import com.itsaky.androidide.R
|
||||
import com.itsaky.androidide.databinding.FragmentLogBinding
|
||||
import com.itsaky.androidide.editor.language.treesitter.LogLanguage
|
||||
import com.itsaky.androidide.editor.language.treesitter.TreeSitterLanguageProvider
|
||||
import com.itsaky.androidide.editor.schemes.IDEColorScheme
|
||||
import com.itsaky.androidide.editor.schemes.IDEColorSchemeProvider
|
||||
import com.itsaky.androidide.fragments.EmptyStateFragment
|
||||
import com.itsaky.androidide.models.LogLine
|
||||
@@ -243,7 +245,14 @@ abstract class LogViewFragment :
|
||||
coroutineScope = editor.editorScope,
|
||||
type = LogLanguage.TS_TYPE
|
||||
) { scheme ->
|
||||
editor.applyTreeSitterLang(LogLanguage(requireContext()), LogLanguage.TS_TYPE, scheme)
|
||||
val language = TreeSitterLanguageProvider.forType(LogLanguage.TS_TYPE, requireContext())
|
||||
checkNotNull(language) { "No TreeSitterLanguage found for type ${LogLanguage.TS_TYPE}" }
|
||||
|
||||
if (scheme is IDEColorScheme) {
|
||||
language.setupWith(scheme)
|
||||
}
|
||||
|
||||
editor.applyTreeSitterLang(language, LogLanguage.TS_TYPE, scheme)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
-2
@@ -56,8 +56,6 @@ abstract class TreeSitterLanguage(
|
||||
|
||||
private var languageScheme: LanguageScheme? = null
|
||||
|
||||
private val log = ILogger.newInstance("TreeSitterLanguage")
|
||||
|
||||
init {
|
||||
this.languageSpec = getLanguageSpec(context, langType, lang, newLocalCaptureSpec(langType))
|
||||
this.tsTheme = TsTheme(languageSpec.spec.tsQuery)
|
||||
|
||||
+3
-1
@@ -36,8 +36,10 @@ object TreeSitterLanguageProvider {
|
||||
return null
|
||||
}
|
||||
|
||||
val type = file.extension
|
||||
return forType(file.extension, context)
|
||||
}
|
||||
|
||||
fun forType(type: String, context: Context): TreeSitterLanguage? {
|
||||
return try {
|
||||
TSLanguageRegistry.instance.getFactory<TreeSitterLanguage>(type).create(context)
|
||||
} catch (e: TSLanguageRegistry.NotRegisteredException) {
|
||||
|
||||
Reference in New Issue
Block a user