Show code highlighting while streaming

This commit is contained in:
Webifi 2023-06-14 14:44:21 -05:00
parent 0c688404a3
commit 137d0140e1
1 changed files with 8 additions and 1 deletions

View File

@ -1,6 +1,6 @@
<script lang="ts">
import Code from './Code.svelte'
import { createEventDispatcher, onMount } from 'svelte'
import { afterUpdate, createEventDispatcher, onMount } from 'svelte'
import { deleteMessage, chatsStorage, deleteSummaryMessage, truncateFromMessage, submitExitingPromptsNow, saveChatStore, continueMessage } from './Storage.svelte'
import { getPrice } from './Stats.svelte'
import SvelteMarkdown from 'svelte-markdown'
@ -37,6 +37,7 @@
let original:string
let defaultModel:Model
let imageUrl:string
let refreshCounter = 0
onMount(() => {
defaultModel = chatSettings.model
@ -47,6 +48,10 @@
}
})
afterUpdate(() => {
if (message.content.slice(-5).match(/```/)) refreshCounter++
})
const edit = () => {
if (message.summarized || message.streaming || editing) return
editing = true
@ -224,11 +229,13 @@
{#if message.summary && !message.summary.length}
<p><b>Summarizing...</b></p>
{/if}
{#key refreshCounter}
<SvelteMarkdown
source={message.content}
options={markdownOptions}
renderers={{ code: Code, html: Code }}
/>
{/key}
{#if imageUrl}
<img src={imageUrl} alt="">
{/if}