mirror of
https://github.com/aljazceru/opencode.git
synced 2026-01-09 02:44:55 +01:00
tui: render reasoning parts with syntax highlighting instead of plain text
This commit is contained in:
@@ -945,7 +945,8 @@ const PART_MAPPING = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function ReasoningPart(props: { part: ReasoningPart; message: AssistantMessage }) {
|
function ReasoningPart(props: { part: ReasoningPart; message: AssistantMessage }) {
|
||||||
const { theme } = useTheme()
|
const { theme, syntax } = useTheme()
|
||||||
|
const ctx = use()
|
||||||
return (
|
return (
|
||||||
<Show when={props.part.text.trim()}>
|
<Show when={props.part.text.trim()}>
|
||||||
<box
|
<box
|
||||||
@@ -957,7 +958,15 @@ function ReasoningPart(props: { part: ReasoningPart; message: AssistantMessage }
|
|||||||
borderColor={theme.backgroundPanel}
|
borderColor={theme.backgroundPanel}
|
||||||
>
|
>
|
||||||
<box paddingTop={1} paddingBottom={1} paddingLeft={2} backgroundColor={theme.backgroundPanel}>
|
<box paddingTop={1} paddingBottom={1} paddingLeft={2} backgroundColor={theme.backgroundPanel}>
|
||||||
<text fg={theme.text}>{props.part.text.trim()}</text>
|
<code
|
||||||
|
filetype="markdown"
|
||||||
|
drawUnstyledText={false}
|
||||||
|
streaming={true}
|
||||||
|
syntaxStyle={syntax()}
|
||||||
|
content={props.part.text.trim()}
|
||||||
|
conceal={ctx.conceal()}
|
||||||
|
fg={theme.text}
|
||||||
|
/>
|
||||||
</box>
|
</box>
|
||||||
</box>
|
</box>
|
||||||
</Show>
|
</Show>
|
||||||
|
|||||||
Reference in New Issue
Block a user