fix(jbm): do not include entire code blocks in single line mode
Signed-off-by: Infi <infi@infi.sh>
This commit is contained in:
parent
f47b21aeec
commit
498338d9de
|
|
@ -877,7 +877,32 @@ private fun JBMBlock(node: ASTNode, modifier: Modifier, nestingCounter: Int = 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
MarkdownElementTypes.CODE_FENCE -> {
|
MarkdownElementTypes.CODE_FENCE -> {
|
||||||
JBMCodeBlockContent(node, modifier)
|
if (LocalJBMarkdownTreeState.current.singleLine) {
|
||||||
|
Text(
|
||||||
|
text = buildAnnotatedString {
|
||||||
|
withStyle(SpanStyle(fontFamily = FragmentMono)) {
|
||||||
|
val codeFenceLanguage =
|
||||||
|
node.children.firstOrNull { it.type == MarkdownTokenTypes.FENCE_LANG }
|
||||||
|
?.getTextInNode(state.sourceText)?.toString()
|
||||||
|
val languageName = languageDisplayNamedResource[
|
||||||
|
languageAliases[codeFenceLanguage]
|
||||||
|
?: SyntaxLanguage.getByName(codeFenceLanguage ?: "")
|
||||||
|
]?.let {
|
||||||
|
stringResource(it)
|
||||||
|
}
|
||||||
|
|
||||||
|
append(languageName?.let {
|
||||||
|
stringResource(R.string.programming_language_snippet, it)
|
||||||
|
} ?: stringResource(R.string.programming_language_snippet_default))
|
||||||
|
}
|
||||||
|
},
|
||||||
|
maxLines = if (state.singleLine) 1 else Int.MAX_VALUE,
|
||||||
|
overflow = if (state.singleLine) TextOverflow.Ellipsis else TextOverflow.Clip,
|
||||||
|
modifier = modifier
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
JBMCodeBlockContent(node, modifier)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
MarkdownElementTypes.BLOCK_QUOTE -> {
|
MarkdownElementTypes.BLOCK_QUOTE -> {
|
||||||
|
|
|
||||||
|
|
@ -308,6 +308,10 @@
|
||||||
<string name="programming_language_go" translatable="false">Go</string>
|
<string name="programming_language_go" translatable="false">Go</string>
|
||||||
<string name="programming_language_php" translatable="false">PHP</string>
|
<string name="programming_language_php" translatable="false">PHP</string>
|
||||||
|
|
||||||
|
<!-- Used to describe a snippet of code in a specific programming language -->
|
||||||
|
<string name="programming_language_snippet">[%1$s snippet]</string>
|
||||||
|
<string name="programming_language_snippet_default">[Code snippet]</string>
|
||||||
|
|
||||||
<string name="server_flag_official">Official Server</string>
|
<string name="server_flag_official">Official Server</string>
|
||||||
<string name="server_flag_verified">Verified Server</string>
|
<string name="server_flag_verified">Verified Server</string>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue