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