diff --git a/src/vs/workbench/contrib/void/browser/autocompleteService.ts b/src/vs/workbench/contrib/void/browser/autocompleteService.ts index 9d54fcb9..3bd4d955 100644 --- a/src/vs/workbench/contrib/void/browser/autocompleteService.ts +++ b/src/vs/workbench/contrib/void/browser/autocompleteService.ts @@ -17,6 +17,7 @@ import { IEditorService } from '../../../services/editor/common/editorService.js import { isCodeEditor } from '../../../../editor/browser/editorBrowser.js'; import { EditorResourceAccessor } from '../../../common/editor.js'; import { IModelService } from '../../../../editor/common/services/model.js'; +import { extractCodeFromResult } from './helpers/extractCodeFromResult.js'; // The extension this was called from is here - https://github.com/voideditor/void/blob/autocomplete/extensions/void/src/extension/extension.ts @@ -754,7 +755,5 @@ export class AutocompleteService extends Disposable implements IAutocompleteServ registerSingleton(IAutocompleteService, AutocompleteService, InstantiationType.Eager); -function extractCodeFromResult(fullText: string): string { - throw new Error('Function not implemented.'); -} + diff --git a/src/vs/workbench/contrib/void/browser/helpers/extractCodeFromResult.ts b/src/vs/workbench/contrib/void/browser/helpers/extractCodeFromResult.ts new file mode 100644 index 00000000..7df3041c --- /dev/null +++ b/src/vs/workbench/contrib/void/browser/helpers/extractCodeFromResult.ts @@ -0,0 +1,14 @@ + +export const extractCodeFromResult = (result: string) => { + // Match either: + // 1. ```language\n``` + // 2. `````` + 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; +} diff --git a/src/vs/workbench/contrib/void/browser/react/src/markdown/BlockCode.tsx b/src/vs/workbench/contrib/void/browser/react/src/markdown/BlockCode.tsx index 0a36b4c7..8ecc9e8f 100644 --- a/src/vs/workbench/contrib/void/browser/react/src/markdown/BlockCode.tsx +++ b/src/vs/workbench/contrib/void/browser/react/src/markdown/BlockCode.tsx @@ -3,25 +3,8 @@ * Void Editor additions licensed under the AGPL 3.0 License. *--------------------------------------------------------------------------------------------*/ -import React, { ReactNode } from "react" +import { ReactNode } from "react" import { VoidCodeEditor } from '../util/inputs.js'; -import { ILanguageService } from '../../../../../../../editor/common/languages/language.js'; - - -export const extractCodeFromResult = (result: string) => { - // Match either: - // 1. ```language\n``` - // 2. `````` - 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 } = { @@ -90,7 +73,7 @@ export const BlockCode = ({ text, buttonsOnHover, language }: { text: string, bu {buttonsOnHover === null ? null : (
-
{buttonsOnHover}
+
{buttonsOnHover}
)}