minor changes

This commit is contained in:
mp 2024-12-24 02:22:45 -08:00
parent f08fd04af5
commit 1afb39b155
6 changed files with 27 additions and 33 deletions

View file

@ -165,20 +165,6 @@ const postprocessResult = (result: string) => {
}
const extractCodeFromResult = (result: string) => {
// Match either:
// 1. ```language\n<code>```
// 2. ```<code>```
const match = result.match(/```(?:\w+\n)?([\s\S]*?)```|```([\s\S]*?)```/);
if (!match) {
return result;
}
// Return whichever group matched (non-empty)
return match[1] ?? match[2] ?? result;
}
// trims the end of the prefix to improve cache hit rate
const removeLeftTabsAndTrimEnd = (s: string): string => {
@ -768,3 +754,7 @@ export class AutocompleteService extends Disposable implements IAutocompleteServ
registerSingleton(IAutocompleteService, AutocompleteService, InstantiationType.Eager);
function extractCodeFromResult(fullText: string): string {
throw new Error('Function not implemented.');
}

View file

@ -8,6 +8,22 @@ import { VoidCodeEditor } from '../util/inputs.js';
import { ILanguageService } from '../../../../../../../editor/common/languages/language.js';
export const extractCodeFromResult = (result: string) => {
// Match either:
// 1. ```language\n<code>```
// 2. ```<code>```
const match = result.match(/```(?:\w+\n)?([\s\S]*?)```|```([\s\S]*?)```/);
if (!match) {
return result;
}
// Return whichever group matched (non-empty)
return match[1] ?? match[2] ?? result;
}
const extensionMap: { [key: string]: string } = {
// Web
'html': 'html',
@ -71,7 +87,7 @@ export const BlockCode = ({ text, buttonsOnHover, language }: { text: string, bu
{buttonsOnHover === null ? null : (
<div className="z-[1] absolute top-0 right-0 opacity-0 group-hover:opacity-100 duration-200">
<div className="flex space-x-2 p-2">{buttonsOnHover}</div>
<div className={`flex space-x-2 p-2 ${text.includes('\n') ? 'p-2' : ''}`}>{buttonsOnHover}</div>
</div>
)}
@ -79,18 +95,6 @@ export const BlockCode = ({ text, buttonsOnHover, language }: { text: string, bu
initValue={text}
language={language}
/>
{/* <div
className={`overflow-x-auto rounded-sm text-vscode-editor-fg bg-vscode-editor-bg`}
>
<SyntaxHighlighter
language={language ?? 'plaintext'} // TODO must auto detect language
style={customStyle}
className={"rounded-sm"}
>
{text}
</SyntaxHighlighter>
</div> */}
</div>
</>
)

View file

@ -40,13 +40,13 @@ const CodeButtonsOnHover = ({ diffRepr: text }: { diffRepr: string }) => {
return <>
<button
className="btn btn-secondary btn-sm border border-vscode-input-border rounded"
className="btn btn-secondary btn-sm border text-xs text-vscode-input-fg border-vscode-input-border rounded"
onClick={onCopy}
>
{copyButtonState}
</button>
<button
className="btn btn-secondary btn-sm border border-vscode-input-border rounded"
className="btn btn-secondary btn-sm border text-xs text-vscode-input-fg border-vscode-input-border rounded"
onClick={async () => {
inlineDiffService.startStreaming({ featureName: 'Ctrl+L' }, text)

View file

@ -23,7 +23,7 @@ export const Sidebar = ({ className }: { className: string }) => {
const isDark = useIsDark()
return <div className={`@@void-scope ${isDark ? 'dark' : ''}`} style={{ width: '100%', height: '100%' }}>
<div className={`flex flex-col px-2 py-2 w-full h-full`}>
<div className={`flex flex-col px-2 py-2 w-full h-full bg-vscode-sidebar-bg`}>
{/* <span onClick={() => {
const tabs = ['chat', 'settings', 'threadSelector']

View file

@ -18,7 +18,7 @@ import { ErrorDisplay } from './ErrorDisplay.js';
import { OnError, ServiceSendLLMMessageParams } from '../../../../../../../platform/void/common/llmMessageTypes.js';
import { getCmdKey } from '../../../helpers/getCmdKey.js'
import { HistoryInputBox, InputBox } from '../../../../../../../base/browser/ui/inputbox/inputBox.js';
import { VoidInputBox } from '../util/inputs.js';
import { VoidCodeEditor, VoidInputBox } from '../util/inputs.js';
import { ModelDropdown } from '../void-settings-tsx/ModelDropdown.js';
import { chat_systemMessage, chat_prompt } from '../../../prompt/prompts.js';
import { ISidebarStateService } from '../../../sidebarStateService.js';
@ -323,7 +323,7 @@ const ChatBubble = ({ chatMessage }: {
}
return <div className={`${role === 'user' ? 'text-right' : 'text-left'}`}>
<div className={`inline-block p-2 rounded-lg space-y-2 ${role === 'user' ? 'bg-vscode-input-bg text-vscode-input-fg' : ''} max-w-full overflow-auto`}>
<div className={`inline-block p-2 rounded-lg space-y-2 ${role === 'user' ? 'text-vscode-input-fg' : ''} max-w-full overflow-auto`}>
{chatbubbleContents}
</div>
</div>

View file

@ -407,11 +407,11 @@ export const Settings = () => {
<h2 className={`text-3xl mb-2`}>Providers</h2>
<ErrorBoundary>
<VoidProviderSettings />
<VoidFeatureFlagSettings />
</ErrorBoundary>
<h2 className={`text-3xl mb-2 mt-4`}>Models</h2>
<ErrorBoundary>
<VoidFeatureFlagSettings />
<RefreshableModels />
<ModelDump />
<AddModelMenuFull />