diff --git a/.voidrules b/.orciderules
similarity index 81%
rename from .voidrules
rename to .orciderules
index 19702f73..1a70ff18 100644
--- a/.voidrules
+++ b/.orciderules
@@ -1,6 +1,6 @@
This is the Orcide IDE repository, a fork of VSCode.
-Most code we care about lives in src/vs/workbench/contrib/void.
+Most code we care about lives in src/vs/workbench/contrib/orcide.
You may often need to explore the full repo to find relevant parts of code.
Look for services and built-in functions that you might need to use to solve the problem.
@@ -9,7 +9,7 @@ In typescript, do NOT cast to types if not neccessary. NEVER lazily cast to 'any
Do not add or remove semicolons to any of my files. Just go with convention and make the least number of changes.
-Never modify files outside src/vs/workbench/contrib/void without consulting with the user first.
+Never modify files outside src/vs/workbench/contrib/orcide without consulting with the user first.
All types that map from a value A to B should be called bOfA. For example, if you create a hashmap that goes from toolId to toolName, it should be called toolNameOfToolId, etc.
diff --git a/VOID_CODEBASE_GUIDE.md b/ORCIDE_CODEBASE_GUIDE.md
similarity index 97%
rename from VOID_CODEBASE_GUIDE.md
rename to ORCIDE_CODEBASE_GUIDE.md
index 1f17ef55..ba1704a6 100644
--- a/VOID_CODEBASE_GUIDE.md
+++ b/ORCIDE_CODEBASE_GUIDE.md
@@ -2,7 +2,7 @@
The Orcide codebase is not as intimidating as it seems!
-Most of Orcide's code lives in the folder `src/vs/workbench/contrib/void/`.
+Most of Orcide's code lives in the folder `src/vs/workbench/contrib/orcide/`.
The purpose of this document is to explain how Orcide's codebase works. If you want build instructions instead, see [Contributing](https://github.com/orcest-ai/Orcide/blob/main/HOW_TO_CONTRIBUTE.md).
@@ -97,10 +97,10 @@ How Apply works:
### Writing Files Inner Workings
-When Orcide wants to change your code, it just writes to a text model. This means all you need to know to write to a file is its URI - you don't have to load it, save it, etc. There are some annoying background URI/model things to think about to get this to work, but we handled them all in `voidModelService`.
+When Orcide wants to change your code, it just writes to a text model. This means all you need to know to write to a file is its URI - you don't have to load it, save it, etc. There are some annoying background URI/model things to think about to get this to work, but we handled them all in `orcideModelService`.
### Orcide Settings Inner Workings
-We have a service `voidSettingsService` that stores all your Orcide settings (providers, models, global Orcide settings, etc). Imagine this as an implicit dependency for any of the core Orcide services:
+We have a service `orcideSettingsService` that stores all your Orcide settings (providers, models, global Orcide settings, etc). Imagine this as an implicit dependency for any of the core Orcide services:
diff --git a/void_icons/code.ico b/orcide_icons/code.ico
similarity index 100%
rename from void_icons/code.ico
rename to orcide_icons/code.ico
diff --git a/void_icons/cubecircled.png b/orcide_icons/cubecircled.png
similarity index 100%
rename from void_icons/cubecircled.png
rename to orcide_icons/cubecircled.png
diff --git a/void_icons/logo_cube_noshadow.png b/orcide_icons/logo_cube_noshadow.png
similarity index 100%
rename from void_icons/logo_cube_noshadow.png
rename to orcide_icons/logo_cube_noshadow.png
diff --git a/void_icons/slice_of_void.png b/orcide_icons/slice_of_void.png
similarity index 100%
rename from void_icons/slice_of_void.png
rename to orcide_icons/slice_of_void.png
diff --git a/package.json b/package.json
index 862ffc2f..2fa4ba13 100644
--- a/package.json
+++ b/package.json
@@ -10,8 +10,8 @@
"type": "module",
"private": true,
"scripts": {
- "buildreact": "cd ./src/vs/workbench/contrib/void/browser/react/ && node build.js && cd ../../../../../../../",
- "watchreact": "cd ./src/vs/workbench/contrib/void/browser/react/ && node build.js --watch && cd ../../../../../../../",
+ "buildreact": "cd ./src/vs/workbench/contrib/orcide/browser/react/ && node build.js && cd ../../../../../../../",
+ "watchreact": "cd ./src/vs/workbench/contrib/orcide/browser/react/ && node build.js --watch && cd ../../../../../../../",
"watchreactd": "deemon npm run watchreact",
"test": "echo Please run any of the test scripts from the scripts folder.",
"test-browser": "npx playwright install && node test/unit/browser/index.js",
diff --git a/scripts/appimage/void-url-handler.desktop b/scripts/appimage/orcide-url-handler.desktop
similarity index 60%
rename from scripts/appimage/void-url-handler.desktop
rename to scripts/appimage/orcide-url-handler.desktop
index 948a823b..f694fced 100644
--- a/scripts/appimage/void-url-handler.desktop
+++ b/scripts/appimage/orcide-url-handler.desktop
@@ -1,12 +1,12 @@
[Desktop Entry]
-Name=Void - URL Handler
+Name=Orcide - URL Handler
Comment=Open source AI code editor.
GenericName=Text Editor
-Exec=void --open-url %U
-Icon=void
+Exec=orcide --open-url %U
+Icon=orcide
Type=Application
NoDisplay=true
StartupNotify=true
Categories=Utility;TextEditor;Development;IDE;
-MimeType=x-scheme-handler/void;
-Keywords=void;
+MimeType=x-scheme-handler/orcide;
+Keywords=orcide;
diff --git a/scripts/appimage/void.desktop b/scripts/appimage/orcide.desktop
similarity index 76%
rename from scripts/appimage/void.desktop
rename to scripts/appimage/orcide.desktop
index 0ccbce43..36bb77d2 100755
--- a/scripts/appimage/void.desktop
+++ b/scripts/appimage/orcide.desktop
@@ -1,15 +1,15 @@
[Desktop Entry]
-Name=Void
+Name=Orcide
Comment=Open source AI code editor.
GenericName=Text Editor
-Exec=void %F
-Icon=void
+Exec=orcide %F
+Icon=orcide
Type=Application
StartupNotify=false
-StartupWMClass=Void
+StartupWMClass=Orcide
Categories=TextEditor;Development;IDE;
-MimeType=application/x-void-workspace;
-Keywords=void;
+MimeType=application/x-orcide-workspace;
+Keywords=orcide;
Actions=new-empty-window;
[Desktop Action new-empty-window]
@@ -23,5 +23,5 @@ Name[ko]=새 빈 창
Name[ru]=Новое пустое окно
Name[zh_CN]=新建空窗口
Name[zh_TW]=開新空視窗
-Exec=void --new-window %F
-Icon=void
+Exec=orcide --new-window %F
+Icon=orcide
diff --git a/scripts/appimage/void.png b/scripts/appimage/orcide.png
similarity index 100%
rename from scripts/appimage/void.png
rename to scripts/appimage/orcide.png
diff --git a/scripts/appimage/readme.md b/scripts/appimage/readme.md
index f31301a6..fb19f3b8 100644
--- a/scripts/appimage/readme.md
+++ b/scripts/appimage/readme.md
@@ -7,13 +7,13 @@ This is a community-made AppImage creation script.
There are some reported bugs with it.
To generate an AppImage yourself, feel free to look at
-stable-linux.yml in the separate `void-builder/` repo,
+stable-linux.yml in the separate `orcide-builder/` repo,
which runs a GitHub Action that builds the AppImage you see on our website.
-# Void AppImage Creation Script
+# Orcide AppImage Creation Script
-This script automates the process of creating an AppImage for the Void Editor using Docker. It works on macOS and Linux platforms.
+This script automates the process of creating an AppImage for the Orcide Editor using Docker. It works on macOS and Linux platforms.
## Requirements
* **Docker:** The script relies on Docker to build the AppImage inside a container.
@@ -87,8 +87,8 @@ These dependencies are installed within the Docker container (Ubuntu 20.04 base)
Copy the following files to the directory where the app binary is being bundled (created during the build process):
* `create_appimage.sh`
- * `void.desktop`
- * `void.png`
+ * `orcide.desktop`
+ * `orcide.png`
4. **Run the Script:**
@@ -98,7 +98,7 @@ These dependencies are installed within the Docker container (Ubuntu 20.04 base)
5. **Result:**
- After the script completes, it will generate an AppImage named `Void-x86_64.AppImage` (or similar, depending on your architecture) in the current directory.
+ After the script completes, it will generate an AppImage named `Orcide-x86_64.AppImage` (or similar, depending on your architecture) in the current directory.
## Script Overview
@@ -109,9 +109,9 @@ These dependencies are installed within the Docker container (Ubuntu 20.04 base)
* **Dockerfile Creation:** Creates a temporary `Dockerfile.build` for the Ubuntu-based environment.
* **Docker Image Build:** Builds a Docker image and runs the build process.
* **AppImage Creation:**
- * Creates the `VoidApp.AppDir` structure.
+ * Creates the `OrcideApp.AppDir` structure.
* Copies binaries, resources, and the `.desktop` entry.
- * Copies `void.desktop` and `void.png`.
+ * Copies `orcide.desktop` and `orcide.png`.
* Strips unnecessary symbols from the binary.
* Runs `appimagetool` to generate the AppImage.
* **Cleanup:** Removes the temporary `Dockerfile.build`.
diff --git a/src/vs/code/electron-main/app.ts b/src/vs/code/electron-main/app.ts
index c3d2dfe5..cce97a14 100644
--- a/src/vs/code/electron-main/app.ts
+++ b/src/vs/code/electron-main/app.ts
@@ -125,14 +125,14 @@ import ErrorTelemetry from '../../platform/telemetry/electron-main/errorTelemetr
// in theory this is not allowed
// ignore the eslint errors below
-import { IMetricsService } from '../../workbench/contrib/void/common/metricsService.js';
-import { IVoidUpdateService } from '../../workbench/contrib/void/common/voidUpdateService.js';
-import { MetricsMainService } from '../../workbench/contrib/void/electron-main/metricsMainService.js';
-import { VoidMainUpdateService } from '../../workbench/contrib/void/electron-main/voidUpdateMainService.js';
-import { LLMMessageChannel } from '../../workbench/contrib/void/electron-main/sendLLMMessageChannel.js';
-import { VoidSCMService } from '../../workbench/contrib/void/electron-main/voidSCMMainService.js';
-import { IVoidSCMService } from '../../workbench/contrib/void/common/voidSCMTypes.js';
-import { MCPChannel } from '../../workbench/contrib/void/electron-main/mcpChannel.js';
+import { IMetricsService } from '../../workbench/contrib/orcide/common/metricsService.js';
+import { IOrcideUpdateService } from '../../workbench/contrib/orcide/common/voidUpdateService.js';
+import { MetricsMainService } from '../../workbench/contrib/orcide/electron-main/metricsMainService.js';
+import { VoidMainUpdateService } from '../../workbench/contrib/orcide/electron-main/voidUpdateMainService.js';
+import { LLMMessageChannel } from '../../workbench/contrib/orcide/electron-main/sendLLMMessageChannel.js';
+import { VoidSCMService } from '../../workbench/contrib/orcide/electron-main/voidSCMMainService.js';
+import { IOrcideSCMService } from '../../workbench/contrib/orcide/common/voidSCMTypes.js';
+import { MCPChannel } from '../../workbench/contrib/orcide/electron-main/mcpChannel.js';
/**
* The main VS Code application. There will only ever be one instance,
* even if the user starts many instances (e.g. from the command line).
@@ -1103,8 +1103,8 @@ export class CodeApplication extends Disposable {
// Void main process services (required for services with a channel for comm between browser and electron-main (node))
services.set(IMetricsService, new SyncDescriptor(MetricsMainService, undefined, false));
- services.set(IVoidUpdateService, new SyncDescriptor(VoidMainUpdateService, undefined, false));
- services.set(IVoidSCMService, new SyncDescriptor(VoidSCMService, undefined, false));
+ services.set(IOrcideUpdateService, new SyncDescriptor(VoidMainUpdateService, undefined, false));
+ services.set(IOrcideSCMService, new SyncDescriptor(VoidSCMService, undefined, false));
// Default Extensions Profile Init
services.set(IExtensionsProfileScannerService, new SyncDescriptor(ExtensionsProfileScannerService, undefined, true));
@@ -1238,21 +1238,21 @@ export class CodeApplication extends Disposable {
// Void - use loggerChannel as reference
const metricsChannel = ProxyChannel.fromService(accessor.get(IMetricsService), disposables);
- mainProcessElectronServer.registerChannel('void-channel-metrics', metricsChannel);
+ mainProcessElectronServer.registerChannel('orcide-channel-metrics', metricsChannel);
- const voidUpdatesChannel = ProxyChannel.fromService(accessor.get(IVoidUpdateService), disposables);
- mainProcessElectronServer.registerChannel('void-channel-update', voidUpdatesChannel);
+ const orcideUpdatesChannel = ProxyChannel.fromService(accessor.get(IOrcideUpdateService), disposables);
+ mainProcessElectronServer.registerChannel('orcide-channel-update', orcideUpdatesChannel);
const sendLLMMessageChannel = new LLMMessageChannel(accessor.get(IMetricsService));
- mainProcessElectronServer.registerChannel('void-channel-llmMessage', sendLLMMessageChannel);
+ mainProcessElectronServer.registerChannel('orcide-channel-llmMessage', sendLLMMessageChannel);
// Void added this
- const voidSCMChannel = ProxyChannel.fromService(accessor.get(IVoidSCMService), disposables);
- mainProcessElectronServer.registerChannel('void-channel-scm', voidSCMChannel);
+ const orcideSCMChannel = ProxyChannel.fromService(accessor.get(IOrcideSCMService), disposables);
+ mainProcessElectronServer.registerChannel('orcide-channel-scm', orcideSCMChannel);
// Void added this
const mcpChannel = new MCPChannel();
- mainProcessElectronServer.registerChannel('void-channel-mcp', mcpChannel);
+ mainProcessElectronServer.registerChannel('orcide-channel-mcp', mcpChannel);
// Extension Host Debug Broadcasting
const electronExtensionHostDebugBroadcastChannel = new ElectronExtensionHostDebugBroadcastChannel(accessor.get(IWindowsMainService));
diff --git a/src/vs/platform/keybinding/common/keybindingsRegistry.ts b/src/vs/platform/keybinding/common/keybindingsRegistry.ts
index e83230ae..825bdb4b 100644
--- a/src/vs/platform/keybinding/common/keybindingsRegistry.ts
+++ b/src/vs/platform/keybinding/common/keybindingsRegistry.ts
@@ -65,7 +65,7 @@ export const enum KeybindingWeight {
WorkbenchContrib = 200,
BuiltinExtension = 300,
ExternalExtension = 400,
- VoidExtension = 605, // Void - must trump any external extension
+ OrcideExtension = 605, // Orcide - must trump any external extension
}
export interface ICommandAndKeybindingRule extends IKeybindingRule {
diff --git a/src/vs/workbench/browser/parts/editor/editorGroupWatermark.ts b/src/vs/workbench/browser/parts/editor/editorGroupWatermark.ts
index 120223e4..7caf8f51 100644
--- a/src/vs/workbench/browser/parts/editor/editorGroupWatermark.ts
+++ b/src/vs/workbench/browser/parts/editor/editorGroupWatermark.ts
@@ -25,7 +25,7 @@ import { splitRecentLabel } from '../../../../base/common/labels.js';
import { IViewsService } from '../../../services/views/common/viewsService.js';
/* eslint-disable */ // Void
-import { VOID_CTRL_K_ACTION_ID, VOID_CTRL_L_ACTION_ID } from '../../../contrib/void/browser/actionIDs.js';
+import { VOID_CTRL_K_ACTION_ID, VOID_CTRL_L_ACTION_ID } from '../../../contrib/orcide/browser/actionIDs.js';
import { VIEWLET_ID as REMOTE_EXPLORER_VIEWLET_ID } from '../../../contrib/remote/browser/remoteExplorer.js';
/* eslint-enable */
diff --git a/src/vs/workbench/contrib/void/browser/_dummyContrib.ts b/src/vs/workbench/contrib/orcide/browser/_dummyContrib.ts
similarity index 87%
rename from src/vs/workbench/contrib/void/browser/_dummyContrib.ts
rename to src/vs/workbench/contrib/orcide/browser/_dummyContrib.ts
index 88dbc6c1..2fe59311 100644
--- a/src/vs/workbench/contrib/void/browser/_dummyContrib.ts
+++ b/src/vs/workbench/contrib/orcide/browser/_dummyContrib.ts
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';
@@ -29,11 +29,11 @@ registerAction2(class extends Action2 {
constructor() {
super({
f1: true,
- id: 'void.dummy',
+ id: 'orcide.dummy',
title: localize2('dummy', 'dummy: Init'),
keybinding: {
primary: KeyMod.CtrlCmd | KeyCode.Digit0,
- weight: KeybindingWeight.VoidExtension,
+ weight: KeybindingWeight.OrcideExtension,
}
});
}
@@ -45,7 +45,7 @@ registerAction2(class extends Action2 {
class DummyService extends Disposable implements IWorkbenchContribution, IDummyService {
- static readonly ID = 'workbench.contrib.void.dummy' // workbenchContributions need this, services do not
+ static readonly ID = 'workbench.contrib.orcide.dummy' // workbenchContributions need this, services do not
_serviceBrand: undefined;
constructor(
diff --git a/src/vs/workbench/contrib/void/browser/_markerCheckService.ts b/src/vs/workbench/contrib/orcide/browser/_markerCheckService.ts
similarity index 96%
rename from src/vs/workbench/contrib/void/browser/_markerCheckService.ts
rename to src/vs/workbench/contrib/orcide/browser/_markerCheckService.ts
index be1ca007..3b3571e9 100644
--- a/src/vs/workbench/contrib/void/browser/_markerCheckService.ts
+++ b/src/vs/workbench/contrib/orcide/browser/_markerCheckService.ts
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { Disposable } from '../../../../base/common/lifecycle.js';
diff --git a/src/vs/workbench/contrib/orcide/browser/actionIDs.ts b/src/vs/workbench/contrib/orcide/browser/actionIDs.ts
new file mode 100644
index 00000000..367d37aa
--- /dev/null
+++ b/src/vs/workbench/contrib/orcide/browser/actionIDs.ts
@@ -0,0 +1,26 @@
+// Normally you'd want to put these exports in the files that register them, but if you do that you'll get an import order error if you import them in certain cases.
+// (importing them runs the whole file to get the ID, causing an import error). I guess it's best practice to separate out IDs, pretty annoying...
+
+export const ORCIDE_CTRL_L_ACTION_ID = 'orcide.ctrlLAction'
+
+export const ORCIDE_CTRL_K_ACTION_ID = 'orcide.ctrlKAction'
+
+export const ORCIDE_ACCEPT_DIFF_ACTION_ID = 'orcide.acceptDiff'
+
+export const ORCIDE_REJECT_DIFF_ACTION_ID = 'orcide.rejectDiff'
+
+export const ORCIDE_GOTO_NEXT_DIFF_ACTION_ID = 'orcide.goToNextDiff'
+
+export const ORCIDE_GOTO_PREV_DIFF_ACTION_ID = 'orcide.goToPrevDiff'
+
+export const ORCIDE_GOTO_NEXT_URI_ACTION_ID = 'orcide.goToNextUri'
+
+export const ORCIDE_GOTO_PREV_URI_ACTION_ID = 'orcide.goToPrevUri'
+
+export const ORCIDE_ACCEPT_FILE_ACTION_ID = 'orcide.acceptFile'
+
+export const ORCIDE_REJECT_FILE_ACTION_ID = 'orcide.rejectFile'
+
+export const ORCIDE_ACCEPT_ALL_DIFFS_ACTION_ID = 'orcide.acceptAllDiffs'
+
+export const ORCIDE_REJECT_ALL_DIFFS_ACTION_ID = 'orcide.rejectAllDiffs'
diff --git a/src/vs/workbench/contrib/void/browser/aiRegexService.ts b/src/vs/workbench/contrib/orcide/browser/aiRegexService.ts
similarity index 94%
rename from src/vs/workbench/contrib/void/browser/aiRegexService.ts
rename to src/vs/workbench/contrib/orcide/browser/aiRegexService.ts
index b0d02024..0c686acf 100644
--- a/src/vs/workbench/contrib/void/browser/aiRegexService.ts
+++ b/src/vs/workbench/contrib/orcide/browser/aiRegexService.ts
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
// 1. search(ai)
diff --git a/src/vs/workbench/contrib/void/browser/autocompleteService.ts b/src/vs/workbench/contrib/orcide/browser/autocompleteService.ts
similarity index 98%
rename from src/vs/workbench/contrib/void/browser/autocompleteService.ts
rename to src/vs/workbench/contrib/orcide/browser/autocompleteService.ts
index 6db9e03d..c3862bd1 100644
--- a/src/vs/workbench/contrib/void/browser/autocompleteService.ts
+++ b/src/vs/workbench/contrib/orcide/browser/autocompleteService.ts
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { Disposable } from '../../../../base/common/lifecycle.js';
@@ -18,8 +18,8 @@ import { extractCodeFromRegular } from '../common/helpers/extractCodeFromResult.
import { registerWorkbenchContribution2, WorkbenchPhase } from '../../../common/contributions.js';
import { ILLMMessageService } from '../common/sendLLMMessageService.js';
import { isWindows } from '../../../../base/common/platform.js';
-import { IVoidSettingsService } from '../common/voidSettingsService.js';
-import { FeatureName } from '../common/voidSettingsTypes.js';
+import { IOrcideSettingsService } from '../common/orcideSettingsService.js';
+import { FeatureName } from '../common/orcideSettingsTypes.js';
import { IConvertToLLMMessageService } from './convertToLLMMessageService.js';
// import { IContextGatheringService } from './contextGatheringService.js';
@@ -617,7 +617,7 @@ export const IAutocompleteService = createDecorator('Autoc
export class AutocompleteService extends Disposable implements IAutocompleteService {
- static readonly ID = 'void.autocompleteService'
+ static readonly ID = 'orcide.autocompleteService'
_serviceBrand: undefined;
@@ -893,7 +893,7 @@ export class AutocompleteService extends Disposable implements IAutocompleteServ
@ILLMMessageService private readonly _llmMessageService: ILLMMessageService,
@IEditorService private readonly _editorService: IEditorService,
@IModelService private readonly _modelService: IModelService,
- @IVoidSettingsService private readonly _settingsService: IVoidSettingsService,
+ @IOrcideSettingsService private readonly _settingsService: IOrcideSettingsService,
@IConvertToLLMMessageService private readonly _convertToLLMMessageService: IConvertToLLMMessageService
// @IContextGatheringService private readonly _contextGatheringService: IContextGatheringService,
) {
diff --git a/src/vs/workbench/contrib/void/browser/chatThreadService.ts b/src/vs/workbench/contrib/orcide/browser/chatThreadService.ts
similarity index 95%
rename from src/vs/workbench/contrib/void/browser/chatThreadService.ts
rename to src/vs/workbench/contrib/orcide/browser/chatThreadService.ts
index 30f38f10..f637ce9c 100644
--- a/src/vs/workbench/contrib/void/browser/chatThreadService.ts
+++ b/src/vs/workbench/contrib/orcide/browser/chatThreadService.ts
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { Disposable } from '../../../../base/common/lifecycle.js';
@@ -14,8 +14,8 @@ import { ILLMMessageService } from '../common/sendLLMMessageService.js';
import { chat_userMessageContent, isABuiltinToolName } from '../common/prompt/prompts.js';
import { AnthropicReasoning, getErrorMessage, RawToolCallObj, RawToolParamsObj } from '../common/sendLLMMessageTypes.js';
import { generateUuid } from '../../../../base/common/uuid.js';
-import { FeatureName, ModelSelection, ModelSelectionOptions } from '../common/voidSettingsTypes.js';
-import { IVoidSettingsService } from '../common/voidSettingsService.js';
+import { FeatureName, ModelSelection, ModelSelectionOptions } from '../common/orcideSettingsTypes.js';
+import { IOrcideSettingsService } from '../common/orcideSettingsService.js';
import { approvalTypeOfBuiltinToolName, BuiltinToolCallParams, ToolCallParams, ToolName, ToolResult } from '../common/toolsServiceTypes.js';
import { IToolsService } from './toolsService.js';
import { CancellationToken } from '../../../../base/common/cancellation.js';
@@ -24,10 +24,10 @@ import { ChatMessage, CheckpointEntry, CodespanLocationLink, StagingSelectionIte
import { Position } from '../../../../editor/common/core/position.js';
import { IMetricsService } from '../common/metricsService.js';
import { shorten } from '../../../../base/common/labels.js';
-import { IVoidModelService } from '../common/voidModelService.js';
+import { IOrcideModelService } from '../common/orcideModelService.js';
import { findLast, findLastIdx } from '../../../../base/common/arraysFind.js';
import { IEditCodeService } from './editCodeServiceInterface.js';
-import { VoidFileSnapshot } from '../common/editCodeServiceTypes.js';
+import { OrcideFileSnapshot } from '../common/editCodeServiceTypes.js';
import { INotificationService, Severity } from '../../../../platform/notification/common/notification.js';
import { truncate } from '../../../../base/common/strings.js';
import { THREAD_STORAGE_KEY } from '../common/storageKeys.js';
@@ -314,10 +314,10 @@ class ChatThreadService extends Disposable implements IChatThreadService {
constructor(
@IStorageService private readonly _storageService: IStorageService,
- @IVoidModelService private readonly _voidModelService: IVoidModelService,
+ @IOrcideModelService private readonly _orcideModelService: IOrcideModelService,
@ILLMMessageService private readonly _llmMessageService: ILLMMessageService,
@IToolsService private readonly _toolsService: IToolsService,
- @IVoidSettingsService private readonly _settingsService: IVoidSettingsService,
+ @IOrcideSettingsService private readonly _settingsService: IOrcideSettingsService,
@ILanguageFeaturesService private readonly _languageFeaturesService: ILanguageFeaturesService,
@IMetricsService private readonly _metricsService: IMetricsService,
@IEditCodeService private readonly _editCodeService: IEditCodeService,
@@ -443,11 +443,11 @@ class ChatThreadService extends Disposable implements IChatThreadService {
// set streamState
const messages = newState.allThreads[threadId]?.messages
const lastMessage = messages && messages[messages.length - 1]
- // if awaiting user but stream state doesn't indicate it (happens if restart Void)
+ // if awaiting user but stream state doesn't indicate it (happens if restart Orcide)
if (lastMessage && lastMessage.role === 'tool' && lastMessage.type === 'tool_request')
this._setStreamState(threadId, { isRunning: 'awaiting_user', })
- // if running now but stream state doesn't indicate it (happens if restart Void), cancel that last tool
+ // if running now but stream state doesn't indicate it (happens if restart Orcide), cancel that last tool
if (lastMessage && lastMessage.role === 'tool' && lastMessage.type === 'running_now') {
this._updateLatestTool(threadId, { role: 'tool', type: 'rejected', content: lastMessage.content, id: lastMessage.id, rawParams: lastMessage.rawParams, result: null, name: lastMessage.name, params: lastMessage.params, mcpServerName: lastMessage.mcpServerName })
@@ -945,11 +945,11 @@ class ChatThreadService extends Disposable implements IChatThreadService {
private _getCheckpointInfo = (checkpointMessage: ChatMessage & { role: 'checkpoint' }, fsPath: string, opts: { includeUserModifiedChanges: boolean }) => {
- const voidFileSnapshot = checkpointMessage.voidFileSnapshotOfURI ? checkpointMessage.voidFileSnapshotOfURI[fsPath] ?? null : null
- if (!opts.includeUserModifiedChanges) { return { voidFileSnapshot, } }
+ const orcideFileSnapshot = checkpointMessage.orcideFileSnapshotOfURI ? checkpointMessage.orcideFileSnapshotOfURI[fsPath] ?? null : null
+ if (!opts.includeUserModifiedChanges) { return { orcideFileSnapshot, } }
- const userModifiedVoidFileSnapshot = fsPath in checkpointMessage.userModifications.voidFileSnapshotOfURI ? checkpointMessage.userModifications.voidFileSnapshotOfURI[fsPath] ?? null : null
- return { voidFileSnapshot: userModifiedVoidFileSnapshot ?? voidFileSnapshot, }
+ const userModifiedOrcideFileSnapshot = fsPath in checkpointMessage.userModifications.orcideFileSnapshotOfURI ? checkpointMessage.userModifications.orcideFileSnapshotOfURI[fsPath] ?? null : null
+ return { orcideFileSnapshot: userModifiedOrcideFileSnapshot ?? orcideFileSnapshot, }
}
private _computeNewCheckpointInfo({ threadId }: { threadId: string }) {
@@ -959,59 +959,59 @@ class ChatThreadService extends Disposable implements IChatThreadService {
const lastCheckpointIdx = findLastIdx(thread.messages, (m) => m.role === 'checkpoint') ?? -1
if (lastCheckpointIdx === -1) return
- const voidFileSnapshotOfURI: { [fsPath: string]: VoidFileSnapshot | undefined } = {}
+ const orcideFileSnapshotOfURI: { [fsPath: string]: OrcideFileSnapshot | undefined } = {}
// add a change for all the URIs in the checkpoint history
const { lastIdxOfURI } = this._getCheckpointsBetween({ threadId, loIdx: 0, hiIdx: lastCheckpointIdx, }) ?? {}
for (const fsPath in lastIdxOfURI ?? {}) {
- const { model } = this._voidModelService.getModelFromFsPath(fsPath)
+ const { model } = this._orcideModelService.getModelFromFsPath(fsPath)
if (!model) continue
const checkpoint2 = thread.messages[lastIdxOfURI[fsPath]] || null
if (!checkpoint2) continue
if (checkpoint2.role !== 'checkpoint') continue
const res = this._getCheckpointInfo(checkpoint2, fsPath, { includeUserModifiedChanges: false })
if (!res) continue
- const { voidFileSnapshot: oldVoidFileSnapshot } = res
+ const { orcideFileSnapshot: oldOrcideFileSnapshot } = res
// if there was any change to the str or diffAreaSnapshot, update. rough approximation of equality, oldDiffAreasSnapshot === diffAreasSnapshot is not perfect
- const voidFileSnapshot = this._editCodeService.getVoidFileSnapshot(URI.file(fsPath))
- if (oldVoidFileSnapshot === voidFileSnapshot) continue
- voidFileSnapshotOfURI[fsPath] = voidFileSnapshot
+ const orcideFileSnapshot = this._editCodeService.getOrcideFileSnapshot(URI.file(fsPath))
+ if (oldOrcideFileSnapshot === orcideFileSnapshot) continue
+ orcideFileSnapshotOfURI[fsPath] = orcideFileSnapshot
}
// // add a change for all user-edited files (that aren't in the history)
// for (const fsPath of this._userModifiedFilesToCheckInCheckpoints.keys()) {
// if (fsPath in lastIdxOfURI) continue // if already visisted, don't visit again
- // const { model } = this._voidModelService.getModelFromFsPath(fsPath)
+ // const { model } = this._orcideModelService.getModelFromFsPath(fsPath)
// if (!model) continue
// currStrOfFsPath[fsPath] = model.getValue(EndOfLinePreference.LF)
// }
- return { voidFileSnapshotOfURI }
+ return { orcideFileSnapshotOfURI }
}
private _addUserCheckpoint({ threadId }: { threadId: string }) {
- const { voidFileSnapshotOfURI } = this._computeNewCheckpointInfo({ threadId }) ?? {}
+ const { orcideFileSnapshotOfURI } = this._computeNewCheckpointInfo({ threadId }) ?? {}
this._addCheckpoint(threadId, {
role: 'checkpoint',
type: 'user_edit',
- voidFileSnapshotOfURI: voidFileSnapshotOfURI ?? {},
- userModifications: { voidFileSnapshotOfURI: {}, },
+ orcideFileSnapshotOfURI: orcideFileSnapshotOfURI ?? {},
+ userModifications: { orcideFileSnapshotOfURI: {}, },
})
}
// call this right after LLM edits a file
private _addToolEditCheckpoint({ threadId, uri, }: { threadId: string, uri: URI }) {
const thread = this.state.allThreads[threadId]
if (!thread) return
- const { model } = this._voidModelService.getModel(uri)
+ const { model } = this._orcideModelService.getModel(uri)
if (!model) return // should never happen
- const diffAreasSnapshot = this._editCodeService.getVoidFileSnapshot(uri)
+ const diffAreasSnapshot = this._editCodeService.getOrcideFileSnapshot(uri)
this._addCheckpoint(threadId, {
role: 'checkpoint',
type: 'tool_edit',
- voidFileSnapshotOfURI: { [uri.fsPath]: diffAreasSnapshot },
- userModifications: { voidFileSnapshotOfURI: {} },
+ orcideFileSnapshotOfURI: { [uri.fsPath]: diffAreasSnapshot },
+ userModifications: { orcideFileSnapshotOfURI: {} },
})
}
@@ -1035,7 +1035,7 @@ class ChatThreadService extends Disposable implements IChatThreadService {
for (let i = loIdx; i <= hiIdx; i += 1) {
const message = thread.messages[i]
if (message?.role !== 'checkpoint') continue
- for (const fsPath in message.voidFileSnapshotOfURI) { // do not include userModified.beforeStrOfURI here, jumping should not include those changes
+ for (const fsPath in message.orcideFileSnapshotOfURI) { // do not include userModified.beforeStrOfURI here, jumping should not include those changes
lastIdxOfURI[fsPath] = i
}
}
@@ -1055,13 +1055,13 @@ class ChatThreadService extends Disposable implements IChatThreadService {
return [checkpoint, currCheckpointIdx]
}
private _addUserModificationsToCurrCheckpoint({ threadId }: { threadId: string }) {
- const { voidFileSnapshotOfURI } = this._computeNewCheckpointInfo({ threadId }) ?? {}
+ const { orcideFileSnapshotOfURI } = this._computeNewCheckpointInfo({ threadId }) ?? {}
const res = this._readCurrentCheckpoint(threadId)
if (!res) return
const [checkpoint, checkpointIdx] = res
this._editMessageInThread(threadId, checkpointIdx, {
...checkpoint,
- userModifications: { voidFileSnapshotOfURI: voidFileSnapshotOfURI ?? {}, },
+ userModifications: { orcideFileSnapshotOfURI: orcideFileSnapshotOfURI ?? {}, },
})
}
@@ -1139,9 +1139,9 @@ We only need to do it for files that were edited since `to`, ie files between to
if (message.role !== 'checkpoint') continue
const res = this._getCheckpointInfo(message, fsPath, { includeUserModifiedChanges: jumpToUserModified })
if (!res) continue
- const { voidFileSnapshot } = res
- if (!voidFileSnapshot) continue
- this._editCodeService.restoreVoidFileSnapshot(URI.file(fsPath), voidFileSnapshot)
+ const { orcideFileSnapshot } = res
+ if (!orcideFileSnapshot) continue
+ this._editCodeService.restoreOrcideFileSnapshot(URI.file(fsPath), orcideFileSnapshot)
break
}
}
@@ -1173,9 +1173,9 @@ We only need to do it for files that were edited since `from`, ie files between
if (message.role !== 'checkpoint') continue
const res = this._getCheckpointInfo(message, fsPath, { includeUserModifiedChanges: jumpToUserModified })
if (!res) continue
- const { voidFileSnapshot } = res
- if (!voidFileSnapshot) continue
- this._editCodeService.restoreVoidFileSnapshot(URI.file(fsPath), voidFileSnapshot)
+ const { orcideFileSnapshot } = res
+ if (!orcideFileSnapshot) continue
+ this._editCodeService.restoreOrcideFileSnapshot(URI.file(fsPath), orcideFileSnapshot)
break
}
}
@@ -1201,7 +1201,7 @@ We only need to do it for files that were edited since `from`, ie files between
sticky: true,
actions: {
primary: [{
- id: 'void.goToChat',
+ id: 'orcide.goToChat',
enabled: true,
label: `Jump to Chat`,
tooltip: '',
@@ -1463,7 +1463,7 @@ We only need to do it for files that were edited since `from`, ie files between
// check all prevUris for the target
for (const uri of prevUris) {
- const modelRef = await this._voidModelService.getModelSafe(uri)
+ const modelRef = await this._orcideModelService.getModelSafe(uri)
const { model } = modelRef
if (!model) continue
diff --git a/src/vs/workbench/contrib/void/browser/contextGatheringService.ts b/src/vs/workbench/contrib/orcide/browser/contextGatheringService.ts
similarity index 100%
rename from src/vs/workbench/contrib/void/browser/contextGatheringService.ts
rename to src/vs/workbench/contrib/orcide/browser/contextGatheringService.ts
diff --git a/src/vs/workbench/contrib/void/browser/convertToLLMMessageService.ts b/src/vs/workbench/contrib/orcide/browser/convertToLLMMessageService.ts
similarity index 94%
rename from src/vs/workbench/contrib/void/browser/convertToLLMMessageService.ts
rename to src/vs/workbench/contrib/orcide/browser/convertToLLMMessageService.ts
index 94545c0d..817a76bf 100644
--- a/src/vs/workbench/contrib/void/browser/convertToLLMMessageService.ts
+++ b/src/vs/workbench/contrib/orcide/browser/convertToLLMMessageService.ts
@@ -9,11 +9,11 @@ import { ChatMessage } from '../common/chatThreadServiceTypes.js';
import { getIsReasoningEnabledState, getReservedOutputTokenSpace, getModelCapabilities } from '../common/modelCapabilities.js';
import { reParsedToolXMLString, chat_systemMessage } from '../common/prompt/prompts.js';
import { AnthropicLLMChatMessage, AnthropicReasoning, GeminiLLMChatMessage, LLMChatMessage, LLMFIMMessage, OpenAILLMChatMessage, RawToolParamsObj } from '../common/sendLLMMessageTypes.js';
-import { IVoidSettingsService } from '../common/voidSettingsService.js';
-import { ChatMode, FeatureName, ModelSelection, ProviderName } from '../common/voidSettingsTypes.js';
+import { IOrcideSettingsService } from '../common/orcideSettingsService.js';
+import { ChatMode, FeatureName, ModelSelection, ProviderName } from '../common/orcideSettingsTypes.js';
import { IDirectoryStrService } from '../common/directoryStrService.js';
import { ITerminalToolService } from './terminalToolService.js';
-import { IVoidModelService } from '../common/voidModelService.js';
+import { IOrcideModelService } from '../common/orcideModelService.js';
import { URI } from '../../../../base/common/uri.js';
import { EndOfLinePreference } from '../../../../editor/common/model.js';
import { ToolName } from '../common/toolsServiceTypes.js';
@@ -538,25 +538,25 @@ class ConvertToLLMMessageService extends Disposable implements IConvertToLLMMess
@IEditorService private readonly editorService: IEditorService,
@IDirectoryStrService private readonly directoryStrService: IDirectoryStrService,
@ITerminalToolService private readonly terminalToolService: ITerminalToolService,
- @IVoidSettingsService private readonly voidSettingsService: IVoidSettingsService,
- @IVoidModelService private readonly voidModelService: IVoidModelService,
+ @IOrcideSettingsService private readonly orcideSettingsService: IOrcideSettingsService,
+ @IOrcideModelService private readonly orcideModelService: IOrcideModelService,
@IMCPService private readonly mcpService: IMCPService,
) {
super()
}
// Read .voidrules files from workspace folders
- private _getVoidRulesFileContents(): string {
+ private _getOrcideRulesFileContents(): string {
try {
const workspaceFolders = this.workspaceContextService.getWorkspace().folders;
- let voidRules = '';
+ let orcideRules = '';
for (const folder of workspaceFolders) {
- const uri = URI.joinPath(folder.uri, '.voidrules')
- const { model } = this.voidModelService.getModel(uri)
+ const uri = URI.joinPath(folder.uri, '.orciderules')
+ const { model } = this.orcideModelService.getModel(uri)
if (!model) continue
- voidRules += model.getValue(EndOfLinePreference.LF) + '\n\n';
+ orcideRules += model.getValue(EndOfLinePreference.LF) + '\n\n';
}
- return voidRules.trim();
+ return orcideRules.trim();
}
catch (e) {
return ''
@@ -565,12 +565,12 @@ class ConvertToLLMMessageService extends Disposable implements IConvertToLLMMess
// Get combined AI instructions from settings and .voidrules files
private _getCombinedAIInstructions(): string {
- const globalAIInstructions = this.voidSettingsService.state.globalSettings.aiInstructions;
- const voidRulesFileContent = this._getVoidRulesFileContents();
+ const globalAIInstructions = this.orcideSettingsService.state.globalSettings.aiInstructions;
+ const orcideRulesFileContent = this._getOrcideRulesFileContents();
const ans: string[] = []
if (globalAIInstructions) ans.push(globalAIInstructions)
- if (voidRulesFileContent) ans.push(voidRulesFileContent)
+ if (orcideRulesFileContent) ans.push(orcideRulesFileContent)
return ans.join('\n\n')
}
@@ -637,7 +637,7 @@ class ConvertToLLMMessageService extends Disposable implements IConvertToLLMMess
prepareLLMSimpleMessages: IConvertToLLMMessageService['prepareLLMSimpleMessages'] = ({ simpleMessages, systemMessage, modelSelection, featureName }) => {
if (modelSelection === null) return { messages: [], separateSystemMessage: undefined }
- const { overridesOfModel } = this.voidSettingsService.state
+ const { overridesOfModel } = this.orcideSettingsService.state
const { providerName, modelName } = modelSelection
const {
@@ -646,7 +646,7 @@ class ConvertToLLMMessageService extends Disposable implements IConvertToLLMMess
supportsSystemMessage,
} = getModelCapabilities(providerName, modelName, overridesOfModel)
- const modelSelectionOptions = this.voidSettingsService.state.optionsOfModelSelection[featureName][modelSelection.providerName]?.[modelSelection.modelName]
+ const modelSelectionOptions = this.orcideSettingsService.state.optionsOfModelSelection[featureName][modelSelection.providerName]?.[modelSelection.modelName]
// Get combined AI instructions
const aiInstructions = this._getCombinedAIInstructions();
@@ -670,7 +670,7 @@ class ConvertToLLMMessageService extends Disposable implements IConvertToLLMMess
prepareLLMChatMessages: IConvertToLLMMessageService['prepareLLMChatMessages'] = async ({ chatMessages, chatMode, modelSelection }) => {
if (modelSelection === null) return { messages: [], separateSystemMessage: undefined }
- const { overridesOfModel } = this.voidSettingsService.state
+ const { overridesOfModel } = this.orcideSettingsService.state
const { providerName, modelName } = modelSelection
const {
@@ -679,11 +679,11 @@ class ConvertToLLMMessageService extends Disposable implements IConvertToLLMMess
supportsSystemMessage,
} = getModelCapabilities(providerName, modelName, overridesOfModel)
- const { disableSystemMessage } = this.voidSettingsService.state.globalSettings;
+ const { disableSystemMessage } = this.orcideSettingsService.state.globalSettings;
const fullSystemMessage = await this._generateChatMessagesSystemMessage(chatMode, specialToolFormat)
const systemMessage = disableSystemMessage ? '' : fullSystemMessage;
- const modelSelectionOptions = this.voidSettingsService.state.optionsOfModelSelection['Chat'][modelSelection.providerName]?.[modelSelection.modelName]
+ const modelSelectionOptions = this.orcideSettingsService.state.optionsOfModelSelection['Chat'][modelSelection.providerName]?.[modelSelection.modelName]
// Get combined AI instructions
const aiInstructions = this._getCombinedAIInstructions();
diff --git a/src/vs/workbench/contrib/void/browser/convertToLLMMessageWorkbenchContrib.ts b/src/vs/workbench/contrib/orcide/browser/convertToLLMMessageWorkbenchContrib.ts
similarity index 72%
rename from src/vs/workbench/contrib/void/browser/convertToLLMMessageWorkbenchContrib.ts
rename to src/vs/workbench/contrib/orcide/browser/convertToLLMMessageWorkbenchContrib.ts
index f77dde38..86ca5ff0 100644
--- a/src/vs/workbench/contrib/void/browser/convertToLLMMessageWorkbenchContrib.ts
+++ b/src/vs/workbench/contrib/orcide/browser/convertToLLMMessageWorkbenchContrib.ts
@@ -1,28 +1,28 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { Disposable } from '../../../../base/common/lifecycle.js';
import { URI } from '../../../../base/common/uri.js';
import { IWorkspaceContextService } from '../../../../platform/workspace/common/workspace.js';
import { IWorkbenchContribution, registerWorkbenchContribution2, WorkbenchPhase } from '../../../common/contributions.js';
-import { IVoidModelService } from '../common/voidModelService.js';
+import { IOrcideModelService } from '../common/orcideModelService.js';
class ConvertContribWorkbenchContribution extends Disposable implements IWorkbenchContribution {
- static readonly ID = 'workbench.contrib.void.convertcontrib'
+ static readonly ID = 'workbench.contrib.orcide.convertcontrib'
_serviceBrand: undefined;
constructor(
- @IVoidModelService private readonly voidModelService: IVoidModelService,
+ @IOrcideModelService private readonly orcideModelService: IOrcideModelService,
@IWorkspaceContextService private readonly workspaceContext: IWorkspaceContextService,
) {
super()
const initializeURI = (uri: URI) => {
this.workspaceContext.getWorkspace()
- const voidRulesURI = URI.joinPath(uri, '.voidrules')
- this.voidModelService.initializeModel(voidRulesURI)
+ const orcideRulesURI = URI.joinPath(uri, '.orciderules')
+ this.orcideModelService.initializeModel(orcideRulesURI)
}
// call
diff --git a/src/vs/workbench/contrib/void/browser/editCodeService.ts b/src/vs/workbench/contrib/orcide/browser/editCodeService.ts
similarity index 95%
rename from src/vs/workbench/contrib/void/browser/editCodeService.ts
rename to src/vs/workbench/contrib/orcide/browser/editCodeService.ts
index 0fd54e65..78726753 100644
--- a/src/vs/workbench/contrib/void/browser/editCodeService.ts
+++ b/src/vs/workbench/contrib/orcide/browser/editCodeService.ts
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { Disposable } from '../../../../base/common/lifecycle.js';
@@ -24,9 +24,9 @@ import { Widget } from '../../../../base/browser/ui/widget.js';
import { URI } from '../../../../base/common/uri.js';
import { IConsistentEditorItemService, IConsistentItemService } from './helperServices/consistentItemService.js';
import { voidPrefixAndSuffix, ctrlKStream_userMessage, ctrlKStream_systemMessage, defaultQuickEditFimTags, rewriteCode_systemMessage, rewriteCode_userMessage, searchReplaceGivenDescription_systemMessage, searchReplaceGivenDescription_userMessage, tripleTick, } from '../common/prompt/prompts.js';
-import { IVoidCommandBarService } from './voidCommandBarService.js';
+import { IOrcideCommandBarService } from './orcideCommandBarService.js';
import { IKeybindingService } from '../../../../platform/keybinding/common/keybinding.js';
-import { VOID_ACCEPT_DIFF_ACTION_ID, VOID_REJECT_DIFF_ACTION_ID } from './actionIDs.js';
+import { ORCIDE_ACCEPT_DIFF_ACTION_ID, ORCIDE_REJECT_DIFF_ACTION_ID } from './actionIDs.js';
import { mountCtrlK } from './react/out/quick-edit-tsx/index.js'
import { QuickEditPropsType } from './quickEditActions.js';
@@ -39,15 +39,15 @@ import { ILLMMessageService } from '../common/sendLLMMessageService.js';
import { LLMChatMessage } from '../common/sendLLMMessageTypes.js';
import { IMetricsService } from '../common/metricsService.js';
import { IEditCodeService, AddCtrlKOpts, StartApplyingOpts, CallBeforeStartApplyingOpts, } from './editCodeServiceInterface.js';
-import { IVoidSettingsService } from '../common/voidSettingsService.js';
-import { FeatureName } from '../common/voidSettingsTypes.js';
-import { IVoidModelService } from '../common/voidModelService.js';
+import { IOrcideSettingsService } from '../common/orcideSettingsService.js';
+import { FeatureName } from '../common/orcideSettingsTypes.js';
+import { IOrcideModelService } from '../common/orcideModelService.js';
import { deepClone } from '../../../../base/common/objects.js';
import { acceptBg, acceptBorder, buttonFontSize, buttonTextColor, rejectBg, rejectBorder } from '../common/helpers/colors.js';
-import { DiffArea, Diff, CtrlKZone, VoidFileSnapshot, DiffAreaSnapshotEntry, diffAreaSnapshotKeys, DiffZone, TrackingZone, ComputedDiff } from '../common/editCodeServiceTypes.js';
+import { DiffArea, Diff, CtrlKZone, OrcideFileSnapshot, DiffAreaSnapshotEntry, diffAreaSnapshotKeys, DiffZone, TrackingZone, ComputedDiff } from '../common/editCodeServiceTypes.js';
import { IConvertToLLMMessageService } from './convertToLLMMessageService.js';
// import { isMacintosh } from '../../../../base/common/platform.js';
-// import { VOID_OPEN_SETTINGS_ACTION_ID } from './voidSettingsPane.js';
+// import { ORCIDE_OPEN_SETTINGS_ACTION_ID } from './orcideSettingsPane.js';
const numLinesOfStr = (str: string) => str.split('\n').length
@@ -192,9 +192,9 @@ class EditCodeService extends Disposable implements IEditCodeService {
@IMetricsService private readonly _metricsService: IMetricsService,
@INotificationService private readonly _notificationService: INotificationService,
// @ICommandService private readonly _commandService: ICommandService,
- @IVoidSettingsService private readonly _settingsService: IVoidSettingsService,
+ @IOrcideSettingsService private readonly _settingsService: IOrcideSettingsService,
// @IFileService private readonly _fileService: IFileService,
- @IVoidModelService private readonly _voidModelService: IVoidModelService,
+ @IOrcideModelService private readonly _orcideModelService: IOrcideModelService,
@IConvertToLLMMessageService private readonly _convertToLLMMessageService: IConvertToLLMMessageService,
) {
super();
@@ -203,7 +203,7 @@ class EditCodeService extends Disposable implements IEditCodeService {
const registeredModelURIs = new Set()
const initializeModel = async (model: ITextModel) => {
- await this._voidModelService.initializeModel(model.uri)
+ await this._orcideModelService.initializeModel(model.uri)
// do not add listeners to the same model twice - important, or will see duplicates
if (registeredModelURIs.has(model.uri.fsPath)) return
@@ -279,15 +279,15 @@ class EditCodeService extends Disposable implements IEditCodeService {
// const details = errorDetails(e.fullError)
// this._notificationService.notify({
// severity: Severity.Warning,
- // message: `Void Error: ${e.message}`,
+ // message: `Orcide Error: ${e.message}`,
// actions: {
// secondary: [{
// id: 'void.onerror.opensettings',
// enabled: true,
- // label: `Open Void's settings`,
+ // label: `Open Orcide's settings`,
// tooltip: '',
// class: undefined,
- // run: () => { this._commandService.executeCommand(VOID_OPEN_SETTINGS_ACTION_ID) }
+ // run: () => { this._commandService.executeCommand(ORCIDE_OPEN_SETTINGS_ACTION_ID) }
// }]
// },
// source: details ? `(Hold ${isMacintosh ? 'Option' : 'Alt'} to hover) - ${details}\n\nIf this persists, feel free to [report](https://github.com/orcest-ai/Orcide/issues/new) it.` : undefined
@@ -315,7 +315,7 @@ class EditCodeService extends Disposable implements IEditCodeService {
private _addDiffAreaStylesToURI = (uri: URI) => {
- const { model } = this._voidModelService.getModel(uri)
+ const { model } = this._orcideModelService.getModel(uri)
for (const diffareaid of this.diffAreasOfURI[uri.fsPath] || []) {
const diffArea = this.diffAreaOfId[diffareaid]
@@ -324,10 +324,10 @@ class EditCodeService extends Disposable implements IEditCodeService {
// add sweep styles to the diffZone
if (diffArea._streamState.isStreaming) {
// sweepLine ... sweepLine
- const fn1 = this._addLineDecoration(model, diffArea._streamState.line, diffArea._streamState.line, 'void-sweepIdxBG')
+ const fn1 = this._addLineDecoration(model, diffArea._streamState.line, diffArea._streamState.line, 'orcide.sweepIdxBG')
// sweepLine+1 ... endLine
const fn2 = diffArea._streamState.line + 1 <= diffArea.endLine ?
- this._addLineDecoration(model, diffArea._streamState.line + 1, diffArea.endLine, 'void-sweepBG')
+ this._addLineDecoration(model, diffArea._streamState.line + 1, diffArea.endLine, 'orcide.sweepBG')
: null
diffArea._removeStylesFns.add(() => { fn1?.(); fn2?.(); })
@@ -336,7 +336,7 @@ class EditCodeService extends Disposable implements IEditCodeService {
else if (diffArea.type === 'CtrlKZone' && diffArea._linkedStreamingDiffZone === null) {
// highlight zone's text
- const fn = this._addLineDecoration(model, diffArea.startLine, diffArea.endLine, 'void-highlightBG')
+ const fn = this._addLineDecoration(model, diffArea.startLine, diffArea.endLine, 'orcide.highlightBG')
diffArea._removeStylesFns.add(() => fn?.());
}
}
@@ -344,7 +344,7 @@ class EditCodeService extends Disposable implements IEditCodeService {
private _computeDiffsAndAddStylesToURI = (uri: URI) => {
- const { model } = this._voidModelService.getModel(uri)
+ const { model } = this._orcideModelService.getModel(uri)
if (model === null) return
const fullFileText = model.getValue(EndOfLinePreference.LF)
@@ -477,11 +477,11 @@ class EditCodeService extends Disposable implements IEditCodeService {
const disposeInThisEditorFns: (() => void)[] = []
- const { model } = this._voidModelService.getModel(uri)
+ const { model } = this._orcideModelService.getModel(uri)
// green decoration and minimap decoration
if (type !== 'deletion') {
- const fn = this._addLineDecoration(model, diff.startLine, diff.endLine, 'void-greenBG', {
+ const fn = this._addLineDecoration(model, diff.startLine, diff.endLine, 'orcide.greenBG', {
minimap: { color: { id: 'minimapGutter.addedBackground' }, position: 2 },
overviewRuler: { color: { id: 'editorOverviewRuler.addedForeground' }, position: 7 }
})
@@ -496,7 +496,7 @@ class EditCodeService extends Disposable implements IEditCodeService {
fn: (editor) => {
const domNode = document.createElement('div');
- domNode.className = 'void-redBG'
+ domNode.className = 'orcide.redBG'
const renderOptions = RenderOptions.fromEditor(editor)
@@ -585,7 +585,7 @@ class EditCodeService extends Disposable implements IEditCodeService {
offsetLines = 1
}
}
- else { throw new Error('Void 1') }
+ else { throw new Error('Orcide 1') }
const buttonsWidget = this._instantiationService.createInstance(AcceptRejectInlineWidget, {
editor,
@@ -625,7 +625,7 @@ class EditCodeService extends Disposable implements IEditCodeService {
weAreWriting = false
private _writeURIText(uri: URI, text: string, range_: IRange | 'wholeFileRange', { shouldRealignDiffAreas, }: { shouldRealignDiffAreas: boolean, }) {
- const { model } = this._voidModelService.getModel(uri)
+ const { model } = this._orcideModelService.getModel(uri)
if (!model) {
this._refreshStylesAndDiffsInURI(uri) // at the end of a write, we still expect to refresh all styles. e.g. sometimes we expect to restore all the decorations even if no edits were made when _writeText is used
return
@@ -663,8 +663,8 @@ class EditCodeService extends Disposable implements IEditCodeService {
- private _getCurrentVoidFileSnapshot = (uri: URI): VoidFileSnapshot => {
- const { model } = this._voidModelService.getModel(uri)
+ private _getCurrentOrcideFileSnapshot = (uri: URI): OrcideFileSnapshot => {
+ const { model } = this._orcideModelService.getModel(uri)
const snapshottedDiffAreaOfId: Record = {}
for (const diffareaid in this.diffAreaOfId) {
@@ -687,7 +687,7 @@ class EditCodeService extends Disposable implements IEditCodeService {
}
- private _restoreVoidFileSnapshot = async (uri: URI, snapshot: VoidFileSnapshot) => {
+ private _restoreOrcideFileSnapshot = async (uri: URI, snapshot: OrcideFileSnapshot) => {
// for each diffarea in this uri, stop streaming if currently streaming
for (const diffareaid in this.diffAreaOfId) {
const diffArea = this.diffAreaOfId[diffareaid]
@@ -737,34 +737,34 @@ class EditCodeService extends Disposable implements IEditCodeService {
}
private _addToHistory(uri: URI, opts?: { onWillUndo?: () => void }) {
- const beforeSnapshot: VoidFileSnapshot = this._getCurrentVoidFileSnapshot(uri)
- let afterSnapshot: VoidFileSnapshot | null = null
+ const beforeSnapshot: OrcideFileSnapshot = this._getCurrentOrcideFileSnapshot(uri)
+ let afterSnapshot: OrcideFileSnapshot | null = null
const elt: IUndoRedoElement = {
type: UndoRedoElementType.Resource,
resource: uri,
- label: 'Void Agent',
+ label: 'Orcide Agent',
code: 'undoredo.editCode',
- undo: async () => { opts?.onWillUndo?.(); await this._restoreVoidFileSnapshot(uri, beforeSnapshot) },
- redo: async () => { if (afterSnapshot) await this._restoreVoidFileSnapshot(uri, afterSnapshot) }
+ undo: async () => { opts?.onWillUndo?.(); await this._restoreOrcideFileSnapshot(uri, beforeSnapshot) },
+ redo: async () => { if (afterSnapshot) await this._restoreOrcideFileSnapshot(uri, afterSnapshot) }
}
this._undoRedoService.pushElement(elt)
const onFinishEdit = async () => {
- afterSnapshot = this._getCurrentVoidFileSnapshot(uri)
- await this._voidModelService.saveModel(uri)
+ afterSnapshot = this._getCurrentOrcideFileSnapshot(uri)
+ await this._orcideModelService.saveModel(uri)
}
return { onFinishEdit }
}
- public getVoidFileSnapshot(uri: URI) {
- return this._getCurrentVoidFileSnapshot(uri)
+ public getOrcideFileSnapshot(uri: URI) {
+ return this._getCurrentOrcideFileSnapshot(uri)
}
- public restoreVoidFileSnapshot(uri: URI, snapshot: VoidFileSnapshot): void {
- this._restoreVoidFileSnapshot(uri, snapshot)
+ public restoreOrcideFileSnapshot(uri: URI, snapshot: OrcideFileSnapshot): void {
+ this._restoreOrcideFileSnapshot(uri, snapshot)
}
@@ -997,7 +997,7 @@ class EditCodeService extends Disposable implements IEditCodeService {
else if (lastDiff.type === 'deletion')
endLineInLlmTextSoFar = lastDiff.startLine
else
- throw new Error(`Void: diff.type not recognized on: ${lastDiff}`)
+ throw new Error(`Orcide: diff.type not recognized on: ${lastDiff}`)
}
// at the start, add a newline between the stream and originalCode to make reasoning easier
@@ -1127,8 +1127,8 @@ class EditCodeService extends Disposable implements IEditCodeService {
public async callBeforeApplyOrEdit(givenURI: URI | 'current') {
const uri = this._uriOfGivenURI(givenURI)
if (!uri) return
- await this._voidModelService.initializeModel(uri)
- await this._voidModelService.saveModel(uri) // save the URI
+ await this._orcideModelService.initializeModel(uri)
+ await this._orcideModelService.saveModel(uri) // save the URI
}
@@ -1269,7 +1269,7 @@ class EditCodeService extends Disposable implements IEditCodeService {
linkedCtrlKZone: CtrlKZone | null,
onWillUndo: () => void,
}) {
- const { model } = this._voidModelService.getModel(uri)
+ const { model } = this._orcideModelService.getModel(uri)
if (!model) return
// treat like full file, unless linkedCtrlKZone was provided in which case use its diff's range
@@ -1376,10 +1376,10 @@ class EditCodeService extends Disposable implements IEditCodeService {
startRange = [startLine_, endLine_]
}
else {
- throw new Error(`Void: diff.type not recognized on: ${from}`)
+ throw new Error(`Orcide: diff.type not recognized on: ${from}`)
}
- const { model } = this._voidModelService.getModel(uri)
+ const { model } = this._orcideModelService.getModel(uri)
if (!model) return
let streamRequestIdRef: { current: string | null } = { current: null } // can use this as a proxy to set the diffArea's stream state requestId
@@ -1480,7 +1480,7 @@ class EditCodeService extends Disposable implements IEditCodeService {
else if (from === 'ClickApply') {
return extractCodeFromRegular({ text: fullText, recentlyAddedTextLen })
}
- throw new Error('Void 1')
+ throw new Error('Orcide 1')
}
// refresh now in case onText takes a while to get 1st message
@@ -1578,7 +1578,7 @@ class EditCodeService extends Disposable implements IEditCodeService {
_fileLengthOfGivenURI(givenURI: URI | 'current') {
const uri = this._uriOfGivenURI(givenURI)
if (!uri) return null
- const { model } = this._voidModelService.getModel(uri)
+ const { model } = this._orcideModelService.getModel(uri)
if (!model) return null
const numCharsInFile = model.getValueLength(EndOfLinePreference.LF)
return numCharsInFile
@@ -1617,7 +1617,7 @@ class EditCodeService extends Disposable implements IEditCodeService {
const blocks = extractSearchReplaceBlocks(blocksStr)
if (blocks.length === 0) throw new Error(`No Search/Replace blocks were received!`)
- const { model } = this._voidModelService.getModel(uri)
+ const { model } = this._orcideModelService.getModel(uri)
if (!model) throw new Error(`Error applying Search/Replace blocks: File does not exist.`)
const modelStr = model.getValue(EndOfLinePreference.LF)
// .split('\n').map(l => '\t' + l).join('\n') // for testing purposes only, remember to remove this
@@ -1678,7 +1678,7 @@ class EditCodeService extends Disposable implements IEditCodeService {
const uri = this._getURIBeforeStartApplying(opts)
if (!uri) return
- const { model } = this._voidModelService.getModel(uri)
+ const { model } = this._orcideModelService.getModel(uri)
if (!model) return
let streamRequestIdRef: { current: string | null } = { current: null } // can use this as a proxy to set the diffArea's stream state requestId
@@ -1968,7 +1968,7 @@ class EditCodeService extends Disposable implements IEditCodeService {
const blocks = extractSearchReplaceBlocks(fullText)
if (blocks.length === 0) {
- this._notificationService.info(`Void: We ran Fast Apply, but the LLM didn't output any changes.`)
+ this._notificationService.info(`Orcide: We ran Fast Apply, but the LLM didn't output any changes.`)
}
this._writeURIText(uri, originalFileCode, 'wholeFileRange', { shouldRealignDiffAreas: true })
@@ -2158,7 +2158,7 @@ class EditCodeService extends Disposable implements IEditCodeService {
].join('\n')
}
else {
- throw new Error(`Void error: ${diff}.type not recognized`)
+ throw new Error(`Orcide error: ${diff}.type not recognized`)
}
// console.log('DIFF', diff)
@@ -2250,7 +2250,7 @@ class EditCodeService extends Disposable implements IEditCodeService {
toRange = { startLineNumber: diff.startLine, startColumn: 1, endLineNumber: diff.endLine, endColumn: Number.MAX_SAFE_INTEGER } // 1-indexed
}
else {
- throw new Error(`Void error: ${diff}.type not recognized`)
+ throw new Error(`Orcide error: ${diff}.type not recognized`)
}
// update the file
@@ -2305,7 +2305,7 @@ class AcceptRejectInlineWidget extends Widget implements IOverlayWidget {
startLine: number,
offsetLines: number
},
- @IVoidCommandBarService private readonly _voidCommandBarService: IVoidCommandBarService,
+ @IOrcideCommandBarService private readonly _orcideCommandBarService: IOrcideCommandBarService,
@IKeybindingService private readonly _keybindingService: IKeybindingService,
@IEditCodeService private readonly _editCodeService: IEditCodeService,
) {
@@ -2328,15 +2328,15 @@ class AcceptRejectInlineWidget extends Widget implements IOverlayWidget {
const lineHeight = editor.getOption(EditorOption.lineHeight);
const getAcceptRejectText = () => {
- const acceptKeybinding = this._keybindingService.lookupKeybinding(VOID_ACCEPT_DIFF_ACTION_ID);
- const rejectKeybinding = this._keybindingService.lookupKeybinding(VOID_REJECT_DIFF_ACTION_ID);
+ const acceptKeybinding = this._keybindingService.lookupKeybinding(ORCIDE_ACCEPT_DIFF_ACTION_ID);
+ const rejectKeybinding = this._keybindingService.lookupKeybinding(ORCIDE_REJECT_DIFF_ACTION_ID);
// Use the standalone function directly since we're in a nested class that
// can't access EditCodeService's methods
const acceptKeybindLabel = this._editCodeService.processRawKeybindingText(acceptKeybinding && acceptKeybinding.getLabel() || '');
const rejectKeybindLabel = this._editCodeService.processRawKeybindingText(rejectKeybinding && rejectKeybinding.getLabel() || '');
- const commandBarStateAtUri = this._voidCommandBarService.stateOfURI[uri.fsPath];
+ const commandBarStateAtUri = this._orcideCommandBarService.stateOfURI[uri.fsPath];
const selectedDiffIdx = commandBarStateAtUri?.diffIdx ?? 0; // 0th item is selected by default
const thisDiffIdx = commandBarStateAtUri?.sortedDiffIds.indexOf(diffid) ?? null;
@@ -2435,7 +2435,7 @@ class AcceptRejectInlineWidget extends Widget implements IOverlayWidget {
// Listen for state changes in the command bar service
- this._register(this._voidCommandBarService.onDidChangeState(e => {
+ this._register(this._orcideCommandBarService.onDidChangeState(e => {
if (uri && e.uri.fsPath === uri.fsPath) {
const { acceptText, rejectText } = getAcceptRejectText()
diff --git a/src/vs/workbench/contrib/void/browser/editCodeServiceInterface.ts b/src/vs/workbench/contrib/orcide/browser/editCodeServiceInterface.ts
similarity index 88%
rename from src/vs/workbench/contrib/void/browser/editCodeServiceInterface.ts
rename to src/vs/workbench/contrib/orcide/browser/editCodeServiceInterface.ts
index 9e33fbd2..77f736b4 100644
--- a/src/vs/workbench/contrib/void/browser/editCodeServiceInterface.ts
+++ b/src/vs/workbench/contrib/orcide/browser/editCodeServiceInterface.ts
@@ -1,13 +1,13 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { Event } from '../../../../base/common/event.js';
import { URI } from '../../../../base/common/uri.js';
import { ICodeEditor } from '../../../../editor/browser/editorBrowser.js';
import { createDecorator } from '../../../../platform/instantiation/common/instantiation.js';
-import { Diff, DiffArea, VoidFileSnapshot } from '../common/editCodeServiceTypes.js';
+import { Diff, DiffArea, OrcideFileSnapshot } from '../common/editCodeServiceTypes.js';
export type StartBehavior = 'accept-conflicts' | 'reject-conflicts' | 'keep-conflicts'
@@ -73,6 +73,6 @@ export interface IEditCodeService {
interruptURIStreaming(opts: { uri: URI }): void;
// testDiffs(): void;
- getVoidFileSnapshot(uri: URI): VoidFileSnapshot;
- restoreVoidFileSnapshot(uri: URI, snapshot: VoidFileSnapshot): void;
+ getOrcideFileSnapshot(uri: URI): OrcideFileSnapshot;
+ restoreOrcideFileSnapshot(uri: URI, snapshot: OrcideFileSnapshot): void;
}
diff --git a/src/vs/workbench/contrib/void/browser/extensionTransferService.ts b/src/vs/workbench/contrib/orcide/browser/extensionTransferService.ts
similarity index 98%
rename from src/vs/workbench/contrib/void/browser/extensionTransferService.ts
rename to src/vs/workbench/contrib/orcide/browser/extensionTransferService.ts
index 13656cb5..26fbbc23 100644
--- a/src/vs/workbench/contrib/void/browser/extensionTransferService.ts
+++ b/src/vs/workbench/contrib/orcide/browser/extensionTransferService.ts
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { VSBuffer } from '../../../../base/common/buffer.js';
@@ -31,7 +31,7 @@ const extensionBlacklist = [
// ignore extensions
'ms-vscode-remote.remote', // ms-vscode-remote.remote-ssh, ms-vscode-remote.remote-wsl
'ms-vscode.remote', // ms-vscode.remote-explorer
- // ignore other AI copilots that could conflict with Void keybindings
+ // ignore other AI copilots that could conflict with Orcide keybindings
'sourcegraph.cody-ai',
'continue.continue',
'codeium.codeium',
diff --git a/src/vs/workbench/contrib/void/browser/extensionTransferTypes.ts b/src/vs/workbench/contrib/orcide/browser/extensionTransferTypes.ts
similarity index 79%
rename from src/vs/workbench/contrib/void/browser/extensionTransferTypes.ts
rename to src/vs/workbench/contrib/orcide/browser/extensionTransferTypes.ts
index 4e10707c..d5d45d08 100644
--- a/src/vs/workbench/contrib/void/browser/extensionTransferTypes.ts
+++ b/src/vs/workbench/contrib/orcide/browser/extensionTransferTypes.ts
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { URI } from '../../../../base/common/uri.js'
diff --git a/src/vs/workbench/contrib/void/browser/fileService.ts b/src/vs/workbench/contrib/orcide/browser/fileService.ts
similarity index 80%
rename from src/vs/workbench/contrib/void/browser/fileService.ts
rename to src/vs/workbench/contrib/orcide/browser/fileService.ts
index 7e456802..e857cc1a 100644
--- a/src/vs/workbench/contrib/void/browser/fileService.ts
+++ b/src/vs/workbench/contrib/orcide/browser/fileService.ts
@@ -7,20 +7,20 @@ import { IFileService } from '../../../../platform/files/common/files.js';
import { IClipboardService } from '../../../../platform/clipboard/common/clipboardService.js';
import { IDirectoryStrService } from '../common/directoryStrService.js';
import { messageOfSelection } from '../common/prompt/prompts.js';
-import { IVoidModelService } from '../common/voidModelService.js';
+import { IOrcideModelService } from '../common/orcideModelService.js';
class FilePromptActionService extends Action2 {
- private static readonly VOID_COPY_FILE_PROMPT_ID = 'void.copyfileprompt'
+ private static readonly ORCIDE_COPY_FILE_PROMPT_ID = 'orcide.copyfileprompt'
constructor() {
super({
- id: FilePromptActionService.VOID_COPY_FILE_PROMPT_ID,
- title: localize2('voidCopyPrompt', 'Orcide: Copy Prompt'),
+ id: FilePromptActionService.ORCIDE_COPY_FILE_PROMPT_ID,
+ title: localize2('orcideCopyPrompt', 'Orcide: Copy Prompt'),
menu: [{
id: MenuId.ExplorerContext,
- group: '8_void',
+ group: '8_orcide',
order: 1,
}]
});
@@ -31,7 +31,7 @@ class FilePromptActionService extends Action2 {
const fileService = accessor.get(IFileService);
const clipboardService = accessor.get(IClipboardService)
const directoryStrService = accessor.get(IDirectoryStrService)
- const voidModelService = accessor.get(IVoidModelService)
+ const orcideModelService = accessor.get(IOrcideModelService)
const stat = await fileService.stat(uri)
@@ -45,7 +45,7 @@ class FilePromptActionService extends Action2 {
m = await messageOfSelection({
type: 'File',
uri,
- language: (await voidModelService.getModelSafe(uri)).model?.getLanguageId() || '',
+ language: (await orcideModelService.getModelSafe(uri)).model?.getLanguageId() || '',
state: { wasAddedAsCurrentFile: false, },
}, {
folderOpts,
diff --git a/src/vs/workbench/contrib/void/browser/helperServices/consistentItemService.ts b/src/vs/workbench/contrib/orcide/browser/helperServices/consistentItemService.ts
similarity index 98%
rename from src/vs/workbench/contrib/void/browser/helperServices/consistentItemService.ts
rename to src/vs/workbench/contrib/orcide/browser/helperServices/consistentItemService.ts
index ba906ff5..6aea76c5 100644
--- a/src/vs/workbench/contrib/void/browser/helperServices/consistentItemService.ts
+++ b/src/vs/workbench/contrib/orcide/browser/helperServices/consistentItemService.ts
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { Disposable } from '../../../../../base/common/lifecycle.js';
diff --git a/src/vs/workbench/contrib/void/browser/helpers/findDiffs.ts b/src/vs/workbench/contrib/orcide/browser/helpers/findDiffs.ts
similarity index 94%
rename from src/vs/workbench/contrib/void/browser/helpers/findDiffs.ts
rename to src/vs/workbench/contrib/orcide/browser/helpers/findDiffs.ts
index 703b2775..d092de5c 100644
--- a/src/vs/workbench/contrib/void/browser/helpers/findDiffs.ts
+++ b/src/vs/workbench/contrib/orcide/browser/helpers/findDiffs.ts
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { ComputedDiff } from '../../common/editCodeServiceTypes.js';
@@ -130,7 +130,7 @@ export function findDiffs(oldStr: string, newStr: string) {
// let keys = new Set([...Object.keys(a), ...Object.keys(b)])
// for (let k of keys) {
// if (a[k] !== b[k]) {
-// console.error('Void Test Error:', name_, '\n', `${k}=`, `${JSON.stringify(a[k])}, ${JSON.stringify(b[k])}`)
+// console.error('Orcide Test Error:', name_, '\n', `${k}=`, `${JSON.stringify(a[k])}, ${JSON.stringify(b[k])}`)
// // console.error(JSON.stringify(a, null, 4))
// // console.error(JSON.stringify(b, null, 4))
// testsFailed += 1
@@ -244,8 +244,8 @@ export function findDiffs(oldStr: string, newStr: string) {
// if (testsFailed === 0) {
-// console.log('✅ Void - All tests passed')
+// console.log('✅ Orcide - All tests passed')
// }
// else {
-// console.log('❌ Void - At least one test failed')
+// console.log('❌ Orcide - At least one test failed')
// }
diff --git a/src/vs/workbench/contrib/orcide/browser/media/orcide.css b/src/vs/workbench/contrib/orcide/browser/media/orcide.css
new file mode 100644
index 00000000..9fa9f293
--- /dev/null
+++ b/src/vs/workbench/contrib/orcide/browser/media/orcide.css
@@ -0,0 +1,204 @@
+/*--------------------------------------------------------------------------------------
+ * Copyright 2025 Glass Devtools, Inc. All rights reserved.
+ * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ *--------------------------------------------------------------------------------------*/
+
+.monaco-editor .orcide-sweepIdxBG {
+ background-color: var(--vscode-orcide-sweepIdxBG);
+}
+
+.orcide-sweepBG {
+ background-color: var(--vscode-orcide-sweepBG);
+}
+
+.orcide-highlightBG {
+ background-color: var(--vscode-orcide-highlightBG);
+}
+
+.orcide-greenBG {
+ background-color: var(--vscode-orcide-greenBG);
+}
+
+.orcide-redBG {
+ background-color: var(--vscode-orcide-redBG);
+}
+
+
+/* Renamed from void-watermark-button to orcide-openfolder-button */
+.orcide-openfolder-button {
+ padding: 8px 20px;
+ background-color: #306dce;
+ color: white;
+ border: none;
+ border-radius: 4px;
+ outline: none !important;
+ box-shadow: none !important;
+ cursor: pointer;
+ transition: background-color 0.2s ease;
+}
+.orcide-openfolder-button:hover {
+ background-color: #2563eb;
+}
+.orcide-openfolder-button:active {
+ background-color: #2563eb;
+}
+
+/* Added for Open SSH button with slightly darker color */
+.orcide-openssh-button {
+ padding: 8px 20px;
+ background-color: #656565; /* Slightly darker than the #5a5a5a in the TS file */
+ color: white;
+ border: none;
+ border-radius: 4px;
+ outline: none !important;
+ box-shadow: none !important;
+ cursor: pointer;
+ transition: background-color 0.2s ease;
+}
+.orcide-openssh-button:hover {
+ background-color: #474747; /* Darker on hover */
+}
+.orcide-openssh-button:active {
+ background-color: #474747;
+}
+
+
+.orcide-settings-watermark-button {
+ margin: 8px 0;
+ padding: 8px 20px;
+ background-color: var(--vscode-input-background);
+ color: var(--vscode-input-foreground);
+ border: none;
+ border-radius: 4px;
+ outline: none !important;
+ box-shadow: none !important;
+ cursor: pointer;
+ transition: all 0.2s ease;
+}
+
+.orcide-settings-watermark-button:hover {
+ filter: brightness(1.1);
+}
+
+.orcide-settings-watermark-button:active {
+ filter: brightness(1.1);
+}
+
+.orcide-link {
+ color: #3b82f6;
+ cursor: pointer;
+ transition: all 0.2s ease;
+}
+
+.orcide-link:hover {
+ opacity: 80%;
+}
+
+/* styles for all containers used by orcide */
+.orcide-scope {
+ --scrollbar-vertical-width: 8px;
+ --scrollbar-horizontal-height: 6px;
+}
+
+/* Target both orcide-scope and all its descendants with scrollbars */
+.orcide-scope,
+.orcide-scope * {
+ scrollbar-width: thin !important;
+ scrollbar-color: var(--orcide-bg-1) var(--orcide-bg-3) !important;
+ /* For Firefox */
+}
+
+.orcide-scope::-webkit-scrollbar,
+.orcide-scope *::-webkit-scrollbar {
+ width: var(--scrollbar-vertical-width) !important;
+ height: var(--scrollbar-horizontal-height) !important;
+ background-color: var(--orcide-bg-3) !important;
+}
+
+.orcide-scope::-webkit-scrollbar-thumb,
+.orcide-scope *::-webkit-scrollbar-thumb {
+ background-color: var(--orcide-bg-1) !important;
+ border-radius: 4px !important;
+ border: none !important;
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+}
+
+.orcide-scope::-webkit-scrollbar-thumb:hover,
+.orcide-scope *::-webkit-scrollbar-thumb:hover {
+ background-color: var(--orcide-bg-1) !important;
+ filter: brightness(1.1) !important;
+}
+
+.orcide-scope::-webkit-scrollbar-thumb:active,
+.orcide-scope *::-webkit-scrollbar-thumb:active {
+ background-color: var(--orcide-bg-1) !important;
+ filter: brightness(1.2) !important;
+}
+
+.orcide-scope::-webkit-scrollbar-track,
+.orcide-scope *::-webkit-scrollbar-track {
+ background-color: var(--orcide-bg-3) !important;
+ border: none !important;
+}
+
+.orcide-scope::-webkit-scrollbar-corner,
+.orcide-scope *::-webkit-scrollbar-corner {
+ background-color: var(--orcide-bg-3) !important;
+}
+
+/* Add orcide-scrollable-element styles to match */
+.orcide-scrollable-element {
+ background-color: var(--vscode-editor-background);
+ --scrollbar-vertical-width: 14px;
+ --scrollbar-horizontal-height: 6px;
+ overflow: auto;
+ /* Ensure scrollbars are shown when needed */
+}
+
+.orcide-scrollable-element,
+.orcide-scrollable-element * {
+ scrollbar-width: thin !important;
+ /* For Firefox */
+ scrollbar-color: var(--orcide-bg-1) var(--orcide-bg-3) !important;
+ /* For Firefox */
+}
+
+.orcide-scrollable-element::-webkit-scrollbar,
+.orcide-scrollable-element *::-webkit-scrollbar {
+ width: var(--scrollbar-vertical-width) !important;
+ height: var(--scrollbar-horizontal-height) !important;
+ background-color: var(--orcide-bg-3) !important;
+}
+
+.orcide-scrollable-element::-webkit-scrollbar-thumb,
+.orcide-scrollable-element *::-webkit-scrollbar-thumb {
+ background-color: var(--orcide-bg-1) !important;
+ border-radius: 4px !important;
+ border: none !important;
+ -webkit-box-shadow: none !important;
+ box-shadow: none !important;
+}
+
+.orcide-scrollable-element::-webkit-scrollbar-thumb:hover,
+.orcide-scrollable-element *::-webkit-scrollbar-thumb:hover {
+ background-color: var(--orcide-bg-1) !important;
+ filter: brightness(1.1) !important;
+}
+
+.orcide-scrollable-element::-webkit-scrollbar-thumb:active,
+.orcide-scrollable-element *::-webkit-scrollbar-thumb:active {
+ background-color: var(--orcide-bg-1) !important;
+ filter: brightness(1.2) !important;
+}
+
+.orcide-scrollable-element::-webkit-scrollbar-track,
+.orcide-scrollable-element *::-webkit-scrollbar-track {
+ background-color: var(--orcide-bg-3) !important;
+ border: none !important;
+}
+
+.orcide-scrollable-element::-webkit-scrollbar-corner,
+.orcide-scrollable-element *::-webkit-scrollbar-corner {
+ background-color: var(--orcide-bg-3) !important;
+}
diff --git a/src/vs/workbench/contrib/void/browser/metricsPollService.ts b/src/vs/workbench/contrib/orcide/browser/metricsPollService.ts
similarity index 91%
rename from src/vs/workbench/contrib/void/browser/metricsPollService.ts
rename to src/vs/workbench/contrib/orcide/browser/metricsPollService.ts
index 493c7eda..f9ab5ab2 100644
--- a/src/vs/workbench/contrib/void/browser/metricsPollService.ts
+++ b/src/vs/workbench/contrib/orcide/browser/metricsPollService.ts
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { Disposable } from '../../../../base/common/lifecycle.js';
diff --git a/src/vs/workbench/contrib/void/browser/miscWokrbenchContrib.ts b/src/vs/workbench/contrib/orcide/browser/miscWokrbenchContrib.ts
similarity index 90%
rename from src/vs/workbench/contrib/void/browser/miscWokrbenchContrib.ts
rename to src/vs/workbench/contrib/orcide/browser/miscWokrbenchContrib.ts
index 83b3ed7b..3b116b9d 100644
--- a/src/vs/workbench/contrib/void/browser/miscWokrbenchContrib.ts
+++ b/src/vs/workbench/contrib/orcide/browser/miscWokrbenchContrib.ts
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { Disposable } from '../../../../base/common/lifecycle.js';
@@ -26,7 +26,7 @@ export class MiscWorkbenchContribs extends Disposable implements IWorkbenchContr
private initialize(): void {
// delete blacklisted extensions once (this is for people who already installed them)
- const deleteExtensionsStorageId = 'void-deleted-blacklist-2'
+ const deleteExtensionsStorageId = 'orcide-deleted-blacklist-2'
const alreadyDeleted = this.storageService.get(deleteExtensionsStorageId, StorageScope.APPLICATION)
if (!alreadyDeleted) {
this.storageService.store(deleteExtensionsStorageId, 'true', StorageScope.APPLICATION, StorageTarget.MACHINE)
diff --git a/src/vs/workbench/contrib/void/browser/void.contribution.ts b/src/vs/workbench/contrib/orcide/browser/orcide.contribution.ts
similarity index 75%
rename from src/vs/workbench/contrib/void/browser/void.contribution.ts
rename to src/vs/workbench/contrib/orcide/browser/orcide.contribution.ts
index c3e7a951..4d4b6508 100644
--- a/src/vs/workbench/contrib/void/browser/void.contribution.ts
+++ b/src/vs/workbench/contrib/orcide/browser/orcide.contribution.ts
@@ -23,13 +23,13 @@ import './autocompleteService.js'
// import './contextUserChangesService.js'
// settings pane
-import './voidSettingsPane.js'
+import './orcideSettingsPane.js'
// register css
-import './media/void.css'
+import './media/orcide.css'
// update (frontend part, also see platform/)
-import './voidUpdateActions.js'
+import './orcideUpdateActions.js'
import './convertToLLMMessageWorkbenchContrib.js'
@@ -47,13 +47,13 @@ import './metricsPollService.js'
import './helperServices/consistentItemService.js'
// register selection helper
-import './voidSelectionHelperWidget.js'
+import './orcideSelectionHelperWidget.js'
// register tooltip service
import './tooltipService.js'
// register onboarding service
-import './voidOnboardingService.js'
+import './orcideOnboardingService.js'
// register misc service
import './miscWokrbenchContrib.js'
@@ -62,7 +62,7 @@ import './miscWokrbenchContrib.js'
import './fileService.js'
// register source control management
-import './voidSCMService.js'
+import './orcideSCMService.js'
// ---------- Orcide SSO & Profile services ----------
@@ -74,8 +74,8 @@ import './orcideSSOBrowserService.js'
// llmMessage
import '../common/sendLLMMessageService.js'
-// orcideSettings (previously voidSettings)
-import '../common/voidSettingsService.js'
+// orcideSettings (previously orcideSettings)
+import '../common/orcideSettingsService.js'
// refreshModel
import '../common/refreshModelService.js'
@@ -84,10 +84,10 @@ import '../common/refreshModelService.js'
import '../common/metricsService.js'
// updates
-import '../common/voidUpdateService.js'
+import '../common/orcideUpdateService.js'
// model service
-import '../common/voidModelService.js'
+import '../common/orcideModelService.js'
// Orcide SSO service
import '../common/orcideSSOService.js'
@@ -97,3 +97,12 @@ import '../common/orcideUserProfileService.js'
// Orcide collaboration service
import '../common/orcideCollaborationService.js'
+
+// Orcide LangChain integration service
+import '../common/orcideLangChainService.js'
+
+// Orcide Git PR generation & deployment service
+import '../common/orcideGitService.js'
+
+// Orcide Enterprise & Cursor Ultra features service
+import '../common/orcideEnterpriseService.js'
diff --git a/src/vs/workbench/contrib/void/browser/void.web.services.ts b/src/vs/workbench/contrib/orcide/browser/orcide.web.services.ts
similarity index 90%
rename from src/vs/workbench/contrib/void/browser/void.web.services.ts
rename to src/vs/workbench/contrib/orcide/browser/orcide.web.services.ts
index e647112c..662a6a79 100644
--- a/src/vs/workbench/contrib/void/browser/void.web.services.ts
+++ b/src/vs/workbench/contrib/orcide/browser/orcide.web.services.ts
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { Disposable } from '../../../../base/common/lifecycle.js';
@@ -10,14 +10,14 @@ import { generateUuid } from '../../../../base/common/uuid.js';
import { ILLMMessageService } from '../common/sendLLMMessageService.js';
import { ServiceSendLLMMessageParams, ServiceModelListParams, OllamaModelResponse, OpenaiCompatibleModelResponse } from '../common/sendLLMMessageTypes.js';
-import { IVoidSettingsService } from '../common/voidSettingsService.js';
+import { IOrcideSettingsService } from '../common/orcideSettingsService.js';
import { IMCPService } from '../common/mcpService.js';
import { MCPToolCallParams, RawMCPToolCall } from '../common/mcpServiceTypes.js';
import { InternalToolInfo } from '../common/prompt/prompts.js';
import { IMetricsService } from '../common/metricsService.js';
-import { IVoidUpdateService } from '../common/voidUpdateService.js';
-import { IGenerateCommitMessageService } from './voidSCMService.js';
-import { ProviderName } from '../common/voidSettingsTypes.js';
+import { IOrcideUpdateService } from '../common/orcideUpdateService.js';
+import { IGenerateCommitMessageService } from './orcideSCMService.js';
+import { ProviderName } from '../common/orcideSettingsTypes.js';
const OPENAI_COMPAT_BASE_URLS: Partial> = {
@@ -34,7 +34,7 @@ class LLMMessageServiceWeb extends Disposable implements ILLMMessageService {
private readonly _abortControllers = new Map();
constructor(
- @IVoidSettingsService private readonly voidSettingsService: IVoidSettingsService,
+ @IOrcideSettingsService private readonly orcideSettingsService: IOrcideSettingsService,
) {
super();
}
@@ -43,7 +43,7 @@ class LLMMessageServiceWeb extends Disposable implements ILLMMessageService {
const { onError, modelSelection } = params;
if (modelSelection === null) {
- onError({ message: 'Please add a provider in Void\'s Settings.', fullError: null });
+ onError({ message: 'Please add a provider in Orcide\'s Settings.', fullError: null });
return null;
}
@@ -76,13 +76,13 @@ class LLMMessageServiceWeb extends Disposable implements ILLMMessageService {
if (params.messagesType !== 'chatMessages' || !modelSelection) return;
try {
- const { settingsOfProvider } = this.voidSettingsService.state;
+ const { settingsOfProvider } = this.orcideSettingsService.state;
const providerSettings = settingsOfProvider[modelSelection.providerName];
const apiKey = (providerSettings as Record).apiKey as string | undefined;
if (!apiKey) {
onError({
- message: `API key not set for ${modelSelection.providerName}. Please configure it in Void Settings.`,
+ message: `API key not set for ${modelSelection.providerName}. Please configure it in Orcide Settings.`,
fullError: null
});
return;
@@ -274,9 +274,9 @@ class MetricsServiceWeb implements IMetricsService {
}
-class VoidUpdateServiceWeb implements IVoidUpdateService {
+class OrcideUpdateServiceWeb implements IOrcideUpdateService {
readonly _serviceBrand: undefined;
- check: IVoidUpdateService['check'] = async () => null;
+ check: IOrcideUpdateService['check'] = async () => null;
}
@@ -290,5 +290,5 @@ class GenerateCommitMessageServiceWeb implements IGenerateCommitMessageService {
registerSingleton(ILLMMessageService, LLMMessageServiceWeb, InstantiationType.Eager);
registerSingleton(IMCPService, MCPServiceWeb, InstantiationType.Eager);
registerSingleton(IMetricsService, MetricsServiceWeb, InstantiationType.Eager);
-registerSingleton(IVoidUpdateService, VoidUpdateServiceWeb, InstantiationType.Eager);
+registerSingleton(IOrcideUpdateService, OrcideUpdateServiceWeb, InstantiationType.Eager);
registerSingleton(IGenerateCommitMessageService, GenerateCommitMessageServiceWeb, InstantiationType.Delayed);
diff --git a/src/vs/workbench/contrib/void/browser/voidCommandBarService.ts b/src/vs/workbench/contrib/orcide/browser/orcideCommandBarService.ts
similarity index 86%
rename from src/vs/workbench/contrib/void/browser/voidCommandBarService.ts
rename to src/vs/workbench/contrib/orcide/browser/orcideCommandBarService.ts
index 6c0c17a9..bc2d3c17 100644
--- a/src/vs/workbench/contrib/void/browser/voidCommandBarService.ts
+++ b/src/vs/workbench/contrib/orcide/browser/orcideCommandBarService.ts
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { Disposable, IDisposable, toDisposable } from '../../../../base/common/lifecycle.js';
@@ -11,7 +11,7 @@ import { Widget } from '../../../../base/browser/ui/widget.js';
import { IOverlayWidget, ICodeEditor, OverlayWidgetPositionPreference } from '../../../../editor/browser/editorBrowser.js';
import { Emitter, Event } from '../../../../base/common/event.js';
import { ICodeEditorService } from '../../../../editor/browser/services/codeEditorService.js';
-import { mountVoidCommandBar } from './react/out/void-editor-widgets-tsx/index.js'
+import { mountOrcideCommandBar } from './react/out/orcide-editor-widgets-tsx/index.js'
import { deepClone } from '../../../../base/common/objects.js';
import { InstantiationType, registerSingleton } from '../../../../platform/instantiation/common/extensions.js';
import { IEditCodeService } from './editCodeServiceInterface.js';
@@ -19,7 +19,7 @@ import { ITextModel } from '../../../../editor/common/model.js';
import { IModelService } from '../../../../editor/common/services/model.js';
import { generateUuid } from '../../../../base/common/uuid.js';
import { Action2, registerAction2 } from '../../../../platform/actions/common/actions.js';
-import { VOID_ACCEPT_DIFF_ACTION_ID, VOID_REJECT_DIFF_ACTION_ID, VOID_GOTO_NEXT_DIFF_ACTION_ID, VOID_GOTO_PREV_DIFF_ACTION_ID, VOID_GOTO_NEXT_URI_ACTION_ID, VOID_GOTO_PREV_URI_ACTION_ID, VOID_ACCEPT_FILE_ACTION_ID, VOID_REJECT_FILE_ACTION_ID, VOID_ACCEPT_ALL_DIFFS_ACTION_ID, VOID_REJECT_ALL_DIFFS_ACTION_ID } from './actionIDs.js';
+import { ORCIDE_ACCEPT_DIFF_ACTION_ID, ORCIDE_REJECT_DIFF_ACTION_ID, ORCIDE_GOTO_NEXT_DIFF_ACTION_ID, ORCIDE_GOTO_PREV_DIFF_ACTION_ID, ORCIDE_GOTO_NEXT_URI_ACTION_ID, ORCIDE_GOTO_PREV_URI_ACTION_ID, ORCIDE_ACCEPT_FILE_ACTION_ID, ORCIDE_REJECT_FILE_ACTION_ID, ORCIDE_ACCEPT_ALL_DIFFS_ACTION_ID, ORCIDE_REJECT_ALL_DIFFS_ACTION_ID } from './actionIDs.js';
import { localize2 } from '../../../../nls.js';
import { KeybindingWeight } from '../../../../platform/keybinding/common/keybindingsRegistry.js';
import { ServicesAccessor } from '../../../../editor/browser/editorExtensions.js';
@@ -27,11 +27,11 @@ import { IMetricsService } from '../common/metricsService.js';
import { KeyMod } from '../../../../editor/common/services/editorBaseApi.js';
import { KeyCode } from '../../../../base/common/keyCodes.js';
import { ScrollType } from '../../../../editor/common/editorCommon.js';
-import { IVoidModelService } from '../common/voidModelService.js';
+import { IOrcideModelService } from '../common/orcideModelService.js';
-export interface IVoidCommandBarService {
+export interface IOrcideCommandBarService {
readonly _serviceBrand: undefined;
stateOfURI: { [uri: string]: CommandBarStateType };
sortedURIs: URI[];
@@ -54,7 +54,7 @@ export interface IVoidCommandBarService {
}
-export const IVoidCommandBarService = createDecorator('VoidCommandBarService');
+export const IOrcideCommandBarService = createDecorator('OrcideCommandBarService');
export type CommandBarStateType = undefined | {
@@ -75,10 +75,10 @@ const defaultState: NonNullable = {
}
-export class VoidCommandBarService extends Disposable implements IVoidCommandBarService {
+export class OrcideCommandBarService extends Disposable implements IOrcideCommandBarService {
_serviceBrand: undefined;
- static readonly ID: 'void.VoidCommandBarService'
+ static readonly ID: 'orcide.OrcideCommandBarService'
// depends on uri -> diffZone -> {streaming, diffs}
public stateOfURI: { [uri: string]: CommandBarStateType } = {}
@@ -100,7 +100,7 @@ export class VoidCommandBarService extends Disposable implements IVoidCommandBar
@ICodeEditorService private readonly _codeEditorService: ICodeEditorService,
@IModelService private readonly _modelService: IModelService,
@IEditCodeService private readonly _editCodeService: IEditCodeService,
- @IVoidModelService private readonly _voidModelService: IVoidModelService,
+ @IOrcideModelService private readonly _orcideModelService: IOrcideModelService,
) {
super();
@@ -460,7 +460,7 @@ export class VoidCommandBarService extends Disposable implements IVoidCommandBar
if (!nextURI) return;
// Get the model for this URI
- const { model } = await this._voidModelService.getModelSafe(nextURI);
+ const { model } = await this._orcideModelService.getModelSafe(nextURI);
if (!model) return;
// Find an editor to use
@@ -488,10 +488,10 @@ export class VoidCommandBarService extends Disposable implements IVoidCommandBar
}
-registerSingleton(IVoidCommandBarService, VoidCommandBarService, InstantiationType.Delayed); // delayed is needed here :(
+registerSingleton(IOrcideCommandBarService, OrcideCommandBarService, InstantiationType.Delayed); // delayed is needed here :(
-export type VoidCommandBarProps = {
+export type OrcideCommandBarProps = {
uri: URI | null;
editor: ICodeEditor;
}
@@ -535,12 +535,12 @@ class AcceptRejectAllFloatingWidget extends Widget implements IOverlayWidget {
this.instantiationService.invokeFunction(accessor => {
const uri = editor.getModel()?.uri || null
- const res = mountVoidCommandBar(root, accessor, { uri, editor } satisfies VoidCommandBarProps)
+ const res = mountOrcideCommandBar(root, accessor, { uri, editor } satisfies OrcideCommandBarProps)
if (!res) return
this._register(toDisposable(() => res.dispose?.()))
this._register(editor.onWillChangeModel((model) => {
const uri = model.newModelUrl
- res.rerender({ uri, editor } satisfies VoidCommandBarProps)
+ res.rerender({ uri, editor } satisfies OrcideCommandBarProps)
}))
})
}
@@ -570,20 +570,20 @@ class AcceptRejectAllFloatingWidget extends Widget implements IOverlayWidget {
registerAction2(class extends Action2 {
constructor() {
super({
- id: VOID_ACCEPT_DIFF_ACTION_ID,
+ id: ORCIDE_ACCEPT_DIFF_ACTION_ID,
f1: true,
- title: localize2('voidAcceptDiffAction', 'Void: Accept Diff'),
+ title: localize2('orcideAcceptDiffAction', 'Orcide: Accept Diff'),
keybinding: {
primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyMod.Shift | KeyCode.Enter,
mac: { primary: KeyMod.WinCtrl | KeyMod.Alt | KeyCode.Enter },
- weight: KeybindingWeight.VoidExtension,
+ weight: KeybindingWeight.OrcideExtension,
}
});
}
async run(accessor: ServicesAccessor): Promise {
const editCodeService = accessor.get(IEditCodeService);
- const commandBarService = accessor.get(IVoidCommandBarService);
+ const commandBarService = accessor.get(IOrcideCommandBarService);
const metricsService = accessor.get(IMetricsService);
@@ -613,20 +613,20 @@ registerAction2(class extends Action2 {
registerAction2(class extends Action2 {
constructor() {
super({
- id: VOID_REJECT_DIFF_ACTION_ID,
+ id: ORCIDE_REJECT_DIFF_ACTION_ID,
f1: true,
- title: localize2('voidRejectDiffAction', 'Void: Reject Diff'),
+ title: localize2('orcideRejectDiffAction', 'Orcide: Reject Diff'),
keybinding: {
primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyMod.Shift | KeyCode.Backspace,
mac: { primary: KeyMod.WinCtrl | KeyMod.Alt | KeyCode.Backspace },
- weight: KeybindingWeight.VoidExtension,
+ weight: KeybindingWeight.OrcideExtension,
}
});
}
async run(accessor: ServicesAccessor): Promise {
const editCodeService = accessor.get(IEditCodeService);
- const commandBarService = accessor.get(IVoidCommandBarService);
+ const commandBarService = accessor.get(IOrcideCommandBarService);
const metricsService = accessor.get(IMetricsService);
const activeURI = commandBarService.activeURI;
@@ -654,19 +654,19 @@ registerAction2(class extends Action2 {
registerAction2(class extends Action2 {
constructor() {
super({
- id: VOID_GOTO_NEXT_DIFF_ACTION_ID,
+ id: ORCIDE_GOTO_NEXT_DIFF_ACTION_ID,
f1: true,
- title: localize2('voidGoToNextDiffAction', 'Void: Go to Next Diff'),
+ title: localize2('orcideGoToNextDiffAction', 'Orcide: Go to Next Diff'),
keybinding: {
primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyMod.Shift | KeyCode.DownArrow,
mac: { primary: KeyMod.WinCtrl | KeyMod.Alt | KeyCode.DownArrow },
- weight: KeybindingWeight.VoidExtension,
+ weight: KeybindingWeight.OrcideExtension,
}
});
}
async run(accessor: ServicesAccessor): Promise {
- const commandBarService = accessor.get(IVoidCommandBarService);
+ const commandBarService = accessor.get(IOrcideCommandBarService);
const metricsService = accessor.get(IMetricsService);
const nextDiffIdx = commandBarService.getNextDiffIdx(1);
@@ -681,19 +681,19 @@ registerAction2(class extends Action2 {
registerAction2(class extends Action2 {
constructor() {
super({
- id: VOID_GOTO_PREV_DIFF_ACTION_ID,
+ id: ORCIDE_GOTO_PREV_DIFF_ACTION_ID,
f1: true,
- title: localize2('voidGoToPrevDiffAction', 'Void: Go to Previous Diff'),
+ title: localize2('orcideGoToPrevDiffAction', 'Orcide: Go to Previous Diff'),
keybinding: {
primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyMod.Shift | KeyCode.UpArrow,
mac: { primary: KeyMod.WinCtrl | KeyMod.Alt | KeyCode.UpArrow },
- weight: KeybindingWeight.VoidExtension,
+ weight: KeybindingWeight.OrcideExtension,
}
});
}
async run(accessor: ServicesAccessor): Promise {
- const commandBarService = accessor.get(IVoidCommandBarService);
+ const commandBarService = accessor.get(IOrcideCommandBarService);
const metricsService = accessor.get(IMetricsService);
const prevDiffIdx = commandBarService.getNextDiffIdx(-1);
@@ -708,19 +708,19 @@ registerAction2(class extends Action2 {
registerAction2(class extends Action2 {
constructor() {
super({
- id: VOID_GOTO_NEXT_URI_ACTION_ID,
+ id: ORCIDE_GOTO_NEXT_URI_ACTION_ID,
f1: true,
- title: localize2('voidGoToNextUriAction', 'Void: Go to Next File with Diffs'),
+ title: localize2('orcideGoToNextUriAction', 'Orcide: Go to Next File with Diffs'),
keybinding: {
primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyMod.Shift | KeyCode.RightArrow,
mac: { primary: KeyMod.WinCtrl | KeyMod.Alt | KeyCode.RightArrow },
- weight: KeybindingWeight.VoidExtension,
+ weight: KeybindingWeight.OrcideExtension,
}
});
}
async run(accessor: ServicesAccessor): Promise {
- const commandBarService = accessor.get(IVoidCommandBarService);
+ const commandBarService = accessor.get(IOrcideCommandBarService);
const metricsService = accessor.get(IMetricsService);
const nextUriIdx = commandBarService.getNextUriIdx(1);
@@ -735,19 +735,19 @@ registerAction2(class extends Action2 {
registerAction2(class extends Action2 {
constructor() {
super({
- id: VOID_GOTO_PREV_URI_ACTION_ID,
+ id: ORCIDE_GOTO_PREV_URI_ACTION_ID,
f1: true,
- title: localize2('voidGoToPrevUriAction', 'Void: Go to Previous File with Diffs'),
+ title: localize2('orcideGoToPrevUriAction', 'Orcide: Go to Previous File with Diffs'),
keybinding: {
primary: KeyMod.CtrlCmd | KeyMod.Alt | KeyMod.Shift | KeyCode.LeftArrow,
mac: { primary: KeyMod.WinCtrl | KeyMod.Alt | KeyCode.LeftArrow },
- weight: KeybindingWeight.VoidExtension,
+ weight: KeybindingWeight.OrcideExtension,
}
});
}
async run(accessor: ServicesAccessor): Promise {
- const commandBarService = accessor.get(IVoidCommandBarService);
+ const commandBarService = accessor.get(IOrcideCommandBarService);
const metricsService = accessor.get(IMetricsService);
const prevUriIdx = commandBarService.getNextUriIdx(-1);
@@ -762,18 +762,18 @@ registerAction2(class extends Action2 {
registerAction2(class extends Action2 {
constructor() {
super({
- id: VOID_ACCEPT_FILE_ACTION_ID,
+ id: ORCIDE_ACCEPT_FILE_ACTION_ID,
f1: true,
- title: localize2('voidAcceptFileAction', 'Void: Accept All Diffs in Current File'),
+ title: localize2('orcideAcceptFileAction', 'Orcide: Accept All Diffs in Current File'),
keybinding: {
primary: KeyMod.Alt | KeyMod.Shift | KeyCode.Enter,
- weight: KeybindingWeight.VoidExtension,
+ weight: KeybindingWeight.OrcideExtension,
}
});
}
async run(accessor: ServicesAccessor): Promise {
- const commandBarService = accessor.get(IVoidCommandBarService);
+ const commandBarService = accessor.get(IOrcideCommandBarService);
const editCodeService = accessor.get(IEditCodeService);
const metricsService = accessor.get(IMetricsService);
@@ -793,18 +793,18 @@ registerAction2(class extends Action2 {
registerAction2(class extends Action2 {
constructor() {
super({
- id: VOID_REJECT_FILE_ACTION_ID,
+ id: ORCIDE_REJECT_FILE_ACTION_ID,
f1: true,
- title: localize2('voidRejectFileAction', 'Void: Reject All Diffs in Current File'),
+ title: localize2('orcideRejectFileAction', 'Orcide: Reject All Diffs in Current File'),
keybinding: {
primary: KeyMod.Alt | KeyMod.Shift | KeyCode.Backspace,
- weight: KeybindingWeight.VoidExtension,
+ weight: KeybindingWeight.OrcideExtension,
}
});
}
async run(accessor: ServicesAccessor): Promise {
- const commandBarService = accessor.get(IVoidCommandBarService);
+ const commandBarService = accessor.get(IOrcideCommandBarService);
const editCodeService = accessor.get(IEditCodeService);
const metricsService = accessor.get(IMetricsService);
@@ -824,18 +824,18 @@ registerAction2(class extends Action2 {
registerAction2(class extends Action2 {
constructor() {
super({
- id: VOID_ACCEPT_ALL_DIFFS_ACTION_ID,
+ id: ORCIDE_ACCEPT_ALL_DIFFS_ACTION_ID,
f1: true,
- title: localize2('voidAcceptAllDiffsAction', 'Void: Accept All Diffs in All Files'),
+ title: localize2('orcideAcceptAllDiffsAction', 'Orcide: Accept All Diffs in All Files'),
keybinding: {
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Enter,
- weight: KeybindingWeight.VoidExtension,
+ weight: KeybindingWeight.OrcideExtension,
}
});
}
async run(accessor: ServicesAccessor): Promise {
- const commandBarService = accessor.get(IVoidCommandBarService);
+ const commandBarService = accessor.get(IOrcideCommandBarService);
const metricsService = accessor.get(IMetricsService);
if (commandBarService.anyFileIsStreaming()) return;
@@ -849,18 +849,18 @@ registerAction2(class extends Action2 {
registerAction2(class extends Action2 {
constructor() {
super({
- id: VOID_REJECT_ALL_DIFFS_ACTION_ID,
+ id: ORCIDE_REJECT_ALL_DIFFS_ACTION_ID,
f1: true,
- title: localize2('voidRejectAllDiffsAction', 'Void: Reject All Diffs in All Files'),
+ title: localize2('orcideRejectAllDiffsAction', 'Orcide: Reject All Diffs in All Files'),
keybinding: {
primary: KeyMod.CtrlCmd | KeyMod.Shift | KeyCode.Backspace,
- weight: KeybindingWeight.VoidExtension,
+ weight: KeybindingWeight.OrcideExtension,
}
});
}
async run(accessor: ServicesAccessor): Promise {
- const commandBarService = accessor.get(IVoidCommandBarService);
+ const commandBarService = accessor.get(IOrcideCommandBarService);
const metricsService = accessor.get(IMetricsService);
if (commandBarService.anyFileIsStreaming()) return;
diff --git a/src/vs/workbench/contrib/void/browser/voidOnboardingService.ts b/src/vs/workbench/contrib/orcide/browser/orcideOnboardingService.ts
similarity index 84%
rename from src/vs/workbench/contrib/void/browser/voidOnboardingService.ts
rename to src/vs/workbench/contrib/orcide/browser/orcideOnboardingService.ts
index 097fac76..fb66bace 100644
--- a/src/vs/workbench/contrib/void/browser/voidOnboardingService.ts
+++ b/src/vs/workbench/contrib/orcide/browser/orcideOnboardingService.ts
@@ -1,13 +1,13 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { Disposable, toDisposable } from '../../../../base/common/lifecycle.js';
import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
import { IWorkbenchContribution, registerWorkbenchContribution2, WorkbenchPhase } from '../../../common/contributions.js';
import { ServicesAccessor } from '../../../../editor/browser/editorExtensions.js';
-import { mountVoidOnboarding } from './react/out/void-onboarding/index.js'
+import { mountOrcideOnboarding } from './react/out/orcide-onboarding/index.js'
import { h, getActiveWindow } from '../../../../base/browser/dom.js';
// Onboarding contribution that mounts the component at startup
@@ -30,10 +30,10 @@ export class OnboardingContribution extends Disposable implements IWorkbenchCont
if (workbench) {
- const onboardingContainer = h('div.void-onboarding-container').root;
+ const onboardingContainer = h('div.orcide-onboarding-container').root;
workbench.appendChild(onboardingContainer);
this.instantiationService.invokeFunction((accessor: ServicesAccessor) => {
- const result = mountVoidOnboarding(onboardingContainer, accessor);
+ const result = mountOrcideOnboarding(onboardingContainer, accessor);
if (result && typeof result.dispose === 'function') {
this._register(toDisposable(result.dispose));
}
diff --git a/src/vs/workbench/contrib/void/browser/voidSCMService.ts b/src/vs/workbench/contrib/orcide/browser/orcideSCMService.ts
similarity index 84%
rename from src/vs/workbench/contrib/void/browser/voidSCMService.ts
rename to src/vs/workbench/contrib/orcide/browser/orcideSCMService.ts
index c06ec149..150ddc52 100644
--- a/src/vs/workbench/contrib/void/browser/voidSCMService.ts
+++ b/src/vs/workbench/contrib/orcide/browser/orcideSCMService.ts
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { ThemeIcon } from '../../../../base/common/themables.js'
@@ -9,12 +9,12 @@ import { Action2, MenuId, registerAction2 } from '../../../../platform/actions/c
import { ContextKeyExpr, IContextKey, IContextKeyService } from '../../../../platform/contextkey/common/contextkey.js'
import { ISCMService } from '../../scm/common/scm.js'
import { ProxyChannel } from '../../../../base/parts/ipc/common/ipc.js'
-import { IVoidSCMService } from '../common/voidSCMTypes.js'
+import { IOrcideSCMService } from '../common/orcideSCMTypes.js'
import { IMainProcessService } from '../../../../platform/ipc/common/mainProcessService.js'
-import { IVoidSettingsService } from '../common/voidSettingsService.js'
+import { IOrcideSettingsService } from '../common/orcideSettingsService.js'
import { IConvertToLLMMessageService } from './convertToLLMMessageService.js'
import { ILLMMessageService } from '../common/sendLLMMessageService.js'
-import { ModelSelection, OverridesOfModel, ModelSelectionOptions } from '../common/voidSettingsTypes.js'
+import { ModelSelection, OverridesOfModel, ModelSelectionOptions } from '../common/orcideSettingsTypes.js'
import { gitCommitMessage_systemMessage, gitCommitMessage_userMessage } from '../common/prompt/prompts.js'
import { LLMChatMessage } from '../common/sendLLMMessageTypes.js'
import { generateUuid } from '../../../../base/common/uuid.js'
@@ -47,13 +47,13 @@ class GenerateCommitMessageService extends Disposable implements IGenerateCommit
private readonly execute = new ThrottledDelayer(300)
private llmRequestId: string | null = null
private currentRequestId: string | null = null
- private voidSCM: IVoidSCMService
+ private voidSCM: IOrcideSCMService
private loadingContextKey: IContextKey
constructor(
@ISCMService private readonly scmService: ISCMService,
@IMainProcessService mainProcessService: IMainProcessService,
- @IVoidSettingsService private readonly voidSettingsService: IVoidSettingsService,
+ @IOrcideSettingsService private readonly orcideSettingsService: IOrcideSettingsService,
@IConvertToLLMMessageService private readonly convertToLLMMessageService: IConvertToLLMMessageService,
@ILLMMessageService private readonly llmMessageService: ILLMMessageService,
@IContextKeyService private readonly contextKeyService: IContextKeyService,
@@ -61,7 +61,7 @@ class GenerateCommitMessageService extends Disposable implements IGenerateCommit
) {
super()
this.loadingContextKey = this.contextKeyService.createKey(loadingContextKey, false)
- this.voidSCM = ProxyChannel.toService(mainProcessService.getChannel('void-channel-scm'))
+ this.voidSCM = ProxyChannel.toService(mainProcessService.getChannel('orcide-channel-scm'))
}
override dispose() {
@@ -87,9 +87,9 @@ class GenerateCommitMessageService extends Disposable implements IGenerateCommit
if (!this.isCurrentRequest(requestId)) { throw new CancellationError() }
- const modelSelection = this.voidSettingsService.state.modelSelectionOfFeature['SCM'] ?? null
- const modelSelectionOptions = modelSelection ? this.voidSettingsService.state.optionsOfModelSelection['SCM'][modelSelection?.providerName]?.[modelSelection.modelName] : undefined
- const overridesOfModel = this.voidSettingsService.state.overridesOfModel
+ const modelSelection = this.orcideSettingsService.state.modelSelectionOfFeature['SCM'] ?? null
+ const modelSelectionOptions = modelSelection ? this.orcideSettingsService.state.optionsOfModelSelection['SCM'][modelSelection?.providerName]?.[modelSelection.modelName] : undefined
+ const overridesOfModel = this.orcideSettingsService.state.overridesOfModel
const modelOptions: ModelOptions = { modelSelection, modelSelectionOptions, overridesOfModel }
@@ -160,7 +160,7 @@ class GenerateCommitMessageService extends Disposable implements IGenerateCommit
onAbort: () => {
reject(new CancellationError())
},
- logging: { loggingName: 'VoidSCM - Commit Message' },
+ logging: { loggingName: 'OrcideSCM - Commit Message' },
})
})
}
@@ -186,10 +186,10 @@ class GenerateCommitMessageService extends Disposable implements IGenerateCommit
class GenerateCommitMessageAction extends Action2 {
constructor() {
super({
- id: 'void.generateCommitMessageAction',
- title: localize2('voidCommitMessagePrompt', 'Void: Generate Commit Message'),
+ id: 'orcide.generateCommitMessageAction',
+ title: localize2('orcideCommitMessagePrompt', 'Orcide: Generate Commit Message'),
icon: ThemeIcon.fromId('sparkle'),
- tooltip: localize2('voidCommitMessagePromptTooltip', 'Void: Generate Commit Message'),
+ tooltip: localize2('orcideCommitMessagePromptTooltip', 'Orcide: Generate Commit Message'),
f1: true,
menu: [{
id: MenuId.SCMInputBox,
@@ -208,10 +208,10 @@ class GenerateCommitMessageAction extends Action2 {
class LoadingGenerateCommitMessageAction extends Action2 {
constructor() {
super({
- id: 'void.loadingGenerateCommitMessageAction',
- title: localize2('voidCommitMessagePromptCancel', 'Void: Cancel Commit Message Generation'),
+ id: 'orcide.loadingGenerateCommitMessageAction',
+ title: localize2('orcideCommitMessagePromptCancel', 'Orcide: Cancel Commit Message Generation'),
icon: ThemeIcon.fromId('stop-circle'),
- tooltip: localize2('voidCommitMessagePromptCancelTooltip', 'Void: Cancel Commit Message Generation'),
+ tooltip: localize2('orcideCommitMessagePromptCancelTooltip', 'Orcide: Cancel Commit Message Generation'),
f1: false, //Having a cancel command in the command palette is more confusing than useful.
menu: [{
id: MenuId.SCMInputBox,
diff --git a/src/vs/workbench/contrib/void/browser/orcideSSOBrowserService.ts b/src/vs/workbench/contrib/orcide/browser/orcideSSOBrowserService.ts
similarity index 99%
rename from src/vs/workbench/contrib/void/browser/orcideSSOBrowserService.ts
rename to src/vs/workbench/contrib/orcide/browser/orcideSSOBrowserService.ts
index 1bdb4450..42621c59 100644
--- a/src/vs/workbench/contrib/void/browser/orcideSSOBrowserService.ts
+++ b/src/vs/workbench/contrib/orcide/browser/orcideSSOBrowserService.ts
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
* Copyright 2025 Orcest. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { Disposable } from '../../../../base/common/lifecycle.js';
diff --git a/src/vs/workbench/contrib/void/browser/voidSelectionHelperWidget.ts b/src/vs/workbench/contrib/orcide/browser/orcideSelectionHelperWidget.ts
similarity index 94%
rename from src/vs/workbench/contrib/void/browser/voidSelectionHelperWidget.ts
rename to src/vs/workbench/contrib/orcide/browser/orcideSelectionHelperWidget.ts
index cb26f9b7..9e14ea01 100644
--- a/src/vs/workbench/contrib/void/browser/voidSelectionHelperWidget.ts
+++ b/src/vs/workbench/contrib/orcide/browser/orcideSelectionHelperWidget.ts
@@ -11,9 +11,9 @@ import { IEditorContribution } from '../../../../editor/common/editorCommon.js';
import { Selection } from '../../../../editor/common/core/selection.js';
import { RunOnceScheduler } from '../../../../base/common/async.js';
import * as dom from '../../../../base/browser/dom.js';
-import { mountVoidSelectionHelper } from './react/out/void-editor-widgets-tsx/index.js';
+import { mountOrcideSelectionHelper } from './react/out/orcide-editor-widgets-tsx/index.js';
import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
-import { IVoidSettingsService } from '../common/voidSettingsService.js';
+import { IOrcideSettingsService } from '../common/orcideSettingsService.js';
import { EditorOption } from '../../../../editor/common/config/editorOptions.js';
import { getLengthOfTextPx } from './editCodeService.js';
@@ -22,7 +22,7 @@ const minDistanceFromRightPx = 400;
const minLeftPx = 60;
-export type VoidSelectionHelperProps = {
+export type OrcideSelectionHelperProps = {
rerenderKey: number // alternates between 0 and 1
}
@@ -43,7 +43,7 @@ export class SelectionHelperContribution extends Disposable implements IEditorCo
constructor(
private readonly _editor: ICodeEditor,
@IInstantiationService private readonly _instantiationService: IInstantiationService,
- @IVoidSettingsService private readonly _voidSettingsService: IVoidSettingsService
+ @IOrcideSettingsService private readonly _orcideSettingsService: IOrcideSettingsService
) {
super();
@@ -63,7 +63,7 @@ export class SelectionHelperContribution extends Disposable implements IEditorCo
if (this._reactComponentDisposable) {
this._reactComponentDisposable.dispose();
}
- const res = mountVoidSelectionHelper(content, accessor);
+ const res = mountOrcideSelectionHelper(content, accessor);
if (!res) return;
this._reactComponentDisposable = res;
@@ -242,11 +242,11 @@ export class SelectionHelperContribution extends Disposable implements IEditorCo
this._isVisible = true;
// rerender
- const enabled = this._voidSettingsService.state.globalSettings.showInlineSuggestions
+ const enabled = this._orcideSettingsService.state.globalSettings.showInlineSuggestions
&& this._editor.hasTextFocus() // needed since VS Code counts unfocused selections as selections, which causes this to rerender when it shouldnt (bad ux)
if (enabled) {
- this._rerender({ rerenderKey: this._rerenderKey } satisfies VoidSelectionHelperProps)
+ this._rerender({ rerenderKey: this._rerenderKey } satisfies OrcideSelectionHelperProps)
this._rerenderKey = (this._rerenderKey + 1) % 2;
// this._reactComponentRerender();
}
diff --git a/src/vs/workbench/contrib/void/browser/voidSettingsPane.ts b/src/vs/workbench/contrib/orcide/browser/orcideSettingsPane.ts
similarity index 75%
rename from src/vs/workbench/contrib/void/browser/voidSettingsPane.ts
rename to src/vs/workbench/contrib/orcide/browser/orcideSettingsPane.ts
index a87c9972..492a7206 100644
--- a/src/vs/workbench/contrib/void/browser/voidSettingsPane.ts
+++ b/src/vs/workbench/contrib/orcide/browser/orcideSettingsPane.ts
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { IInstantiationService } from '../../../../platform/instantiation/common/instantiation.js';
@@ -23,33 +23,33 @@ import { URI } from '../../../../base/common/uri.js';
import { ContextKeyExpr } from '../../../../platform/contextkey/common/contextkey.js';
-import { mountVoidSettings } from './react/out/void-settings-tsx/index.js'
+import { mountOrcideSettings } from './react/out/orcide-settings-tsx/index.js'
import { Codicon } from '../../../../base/common/codicons.js';
import { toDisposable } from '../../../../base/common/lifecycle.js';
// refer to preferences.contribution.ts keybindings editor
-class VoidSettingsInput extends EditorInput {
+class OrcideSettingsInput extends EditorInput {
- static readonly ID: string = 'workbench.input.void.settings';
+ static readonly ID: string = 'workbench.input.orcide.settings';
static readonly RESOURCE = URI.from({ // I think this scheme is invalid, it just shuts up TS
- scheme: 'void', // Custom scheme for our editor (try Schemas.https)
+ scheme: 'orcide', // Custom scheme for our editor (try Schemas.https)
path: 'settings'
})
- readonly resource = VoidSettingsInput.RESOURCE;
+ readonly resource = OrcideSettingsInput.RESOURCE;
constructor() {
super();
}
override get typeId(): string {
- return VoidSettingsInput.ID;
+ return OrcideSettingsInput.ID;
}
override getName(): string {
- return nls.localize('voidSettingsInputsName', 'Orcide Settings');
+ return nls.localize('orcideSettingsInputsName', 'Orcide Settings');
}
override getIcon() {
@@ -59,7 +59,7 @@ class VoidSettingsInput extends EditorInput {
}
-class VoidSettingsPane extends EditorPane {
+class OrcideSettingsPane extends EditorPane {
static readonly ID = 'workbench.test.myCustomPane';
// private _scrollbar: DomScrollableElement | undefined;
@@ -71,7 +71,7 @@ class VoidSettingsPane extends EditorPane {
@IStorageService storageService: IStorageService,
@IInstantiationService private readonly instantiationService: IInstantiationService
) {
- super(VoidSettingsPane.ID, group, telemetryService, themeService, storageService);
+ super(OrcideSettingsPane.ID, group, telemetryService, themeService, storageService);
}
protected createEditor(parent: HTMLElement): void {
@@ -90,7 +90,7 @@ class VoidSettingsPane extends EditorPane {
// Mount React into the scrollable content
this.instantiationService.invokeFunction(accessor => {
- const disposeFn = mountVoidSettings(settingsElt, accessor)?.dispose;
+ const disposeFn = mountOrcideSettings(settingsElt, accessor)?.dispose;
this._register(toDisposable(() => disposeFn?.()))
// setTimeout(() => { // this is a complete hack and I don't really understand how scrollbar works here
@@ -112,18 +112,18 @@ class VoidSettingsPane extends EditorPane {
// register Settings pane
Registry.as(EditorExtensions.EditorPane).registerEditorPane(
- EditorPaneDescriptor.create(VoidSettingsPane, VoidSettingsPane.ID, nls.localize('VoidSettingsPane', "Orcide Settings Pane")),
- [new SyncDescriptor(VoidSettingsInput)]
+ EditorPaneDescriptor.create(OrcideSettingsPane, OrcideSettingsPane.ID, nls.localize('OrcideSettingsPane', "Orcide Settings Pane")),
+ [new SyncDescriptor(OrcideSettingsInput)]
);
// register the gear on the top right
-export const VOID_TOGGLE_SETTINGS_ACTION_ID = 'workbench.action.toggleVoidSettings'
+export const ORCIDE_TOGGLE_SETTINGS_ACTION_ID = 'workbench.action.toggleOrcideSettings'
registerAction2(class extends Action2 {
constructor() {
super({
- id: VOID_TOGGLE_SETTINGS_ACTION_ID,
- title: nls.localize2('voidSettings', "Orcide: Toggle Settings"),
+ id: ORCIDE_TOGGLE_SETTINGS_ACTION_ID,
+ title: nls.localize2('orcideSettings', "Orcide: Toggle Settings"),
icon: Codicon.settingsGear,
menu: [
{
@@ -146,7 +146,7 @@ registerAction2(class extends Action2 {
const instantiationService = accessor.get(IInstantiationService);
// if is open, close it
- const openEditors = editorService.findEditors(VoidSettingsInput.RESOURCE); // should only have 0 or 1 elements...
+ const openEditors = editorService.findEditors(OrcideSettingsInput.RESOURCE); // should only have 0 or 1 elements...
if (openEditors.length !== 0) {
const openEditor = openEditors[0].editor
const isCurrentlyOpen = editorService.activeEditor?.resource?.fsPath === openEditor.resource?.fsPath
@@ -159,7 +159,7 @@ registerAction2(class extends Action2 {
// else open it
- const input = instantiationService.createInstance(VoidSettingsInput);
+ const input = instantiationService.createInstance(OrcideSettingsInput);
await editorGroupService.activeGroup.openEditor(input);
}
@@ -167,12 +167,12 @@ registerAction2(class extends Action2 {
-export const VOID_OPEN_SETTINGS_ACTION_ID = 'workbench.action.openVoidSettings'
+export const ORCIDE_OPEN_SETTINGS_ACTION_ID = 'workbench.action.openOrcideSettings'
registerAction2(class extends Action2 {
constructor() {
super({
- id: VOID_OPEN_SETTINGS_ACTION_ID,
- title: nls.localize2('voidSettingsAction2', "Orcide: Open Settings"),
+ id: ORCIDE_OPEN_SETTINGS_ACTION_ID,
+ title: nls.localize2('orcideSettingsAction2', "Orcide: Open Settings"),
f1: true,
icon: Codicon.settingsGear,
});
@@ -182,13 +182,13 @@ registerAction2(class extends Action2 {
const instantiationService = accessor.get(IInstantiationService);
// close all instances if found
- const openEditors = editorService.findEditors(VoidSettingsInput.RESOURCE);
+ const openEditors = editorService.findEditors(OrcideSettingsInput.RESOURCE);
if (openEditors.length > 0) {
await editorService.closeEditors(openEditors);
}
// then, open one single editor
- const input = instantiationService.createInstance(VoidSettingsInput);
+ const input = instantiationService.createInstance(OrcideSettingsInput);
await editorService.openEditor(input);
}
})
@@ -201,8 +201,8 @@ registerAction2(class extends Action2 {
MenuRegistry.appendMenuItem(MenuId.GlobalActivity, {
group: '0_command',
command: {
- id: VOID_TOGGLE_SETTINGS_ACTION_ID,
- title: nls.localize('voidSettingsActionGear', "Orcide Settings")
+ id: ORCIDE_TOGGLE_SETTINGS_ACTION_ID,
+ title: nls.localize('orcideSettingsActionGear', "Orcide Settings")
},
order: 1
});
diff --git a/src/vs/workbench/contrib/void/browser/voidUpdateActions.ts b/src/vs/workbench/contrib/orcide/browser/orcideUpdateActions.ts
similarity index 77%
rename from src/vs/workbench/contrib/void/browser/voidUpdateActions.ts
rename to src/vs/workbench/contrib/orcide/browser/orcideUpdateActions.ts
index 232a33ff..ade2755b 100644
--- a/src/vs/workbench/contrib/void/browser/voidUpdateActions.ts
+++ b/src/vs/workbench/contrib/orcide/browser/orcideUpdateActions.ts
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { Disposable } from '../../../../base/common/lifecycle.js';
@@ -10,17 +10,17 @@ import { localize2 } from '../../../../nls.js';
import { Action2, registerAction2 } from '../../../../platform/actions/common/actions.js';
import { INotificationActions, INotificationHandle, INotificationService } from '../../../../platform/notification/common/notification.js';
import { IMetricsService } from '../common/metricsService.js';
-import { IVoidUpdateService } from '../common/voidUpdateService.js';
+import { IOrcideUpdateService } from '../common/orcideUpdateService.js';
import { IWorkbenchContribution, registerWorkbenchContribution2, WorkbenchPhase } from '../../../common/contributions.js';
import * as dom from '../../../../base/browser/dom.js';
import { IUpdateService } from '../../../../platform/update/common/update.js';
-import { VoidCheckUpdateRespose } from '../common/voidUpdateServiceTypes.js';
+import { OrcideCheckUpdateResponse } from '../common/orcideUpdateServiceTypes.js';
import { IAction } from '../../../../base/common/actions.js';
-const notifyUpdate = (res: VoidCheckUpdateRespose & { message: string }, notifService: INotificationService, updateService: IUpdateService): INotificationHandle => {
+const notifyUpdate = (res: OrcideCheckUpdateResponse & { message: string }, notifService: INotificationService, updateService: IUpdateService): INotificationHandle => {
const message = res?.message || 'This is a very old version of Orcide. Please download the latest version! [Orcide](https://orcest.ai/download-beta)!'
let actions: INotificationActions | undefined
@@ -31,7 +31,7 @@ const notifyUpdate = (res: VoidCheckUpdateRespose & { message: string }, notifSe
if (res.action === 'reinstall') {
primary.push({
label: `Reinstall`,
- id: 'void.updater.reinstall',
+ id: 'orcide.updater.reinstall',
enabled: true,
tooltip: '',
class: undefined,
@@ -45,7 +45,7 @@ const notifyUpdate = (res: VoidCheckUpdateRespose & { message: string }, notifSe
if (res.action === 'download') {
primary.push({
label: `Download`,
- id: 'void.updater.download',
+ id: 'orcide.updater.download',
enabled: true,
tooltip: '',
class: undefined,
@@ -59,7 +59,7 @@ const notifyUpdate = (res: VoidCheckUpdateRespose & { message: string }, notifSe
if (res.action === 'apply') {
primary.push({
label: `Apply`,
- id: 'void.updater.apply',
+ id: 'orcide.updater.apply',
enabled: true,
tooltip: '',
class: undefined,
@@ -72,7 +72,7 @@ const notifyUpdate = (res: VoidCheckUpdateRespose & { message: string }, notifSe
if (res.action === 'restart') {
primary.push({
label: `Restart`,
- id: 'void.updater.restart',
+ id: 'orcide.updater.restart',
enabled: true,
tooltip: '',
class: undefined,
@@ -83,7 +83,7 @@ const notifyUpdate = (res: VoidCheckUpdateRespose & { message: string }, notifSe
}
primary.push({
- id: 'void.updater.site',
+ id: 'orcide.updater.site',
enabled: true,
label: `Orcide Site`,
tooltip: '',
@@ -97,7 +97,7 @@ const notifyUpdate = (res: VoidCheckUpdateRespose & { message: string }, notifSe
actions = {
primary: primary,
secondary: [{
- id: 'void.updater.close',
+ id: 'orcide.updater.close',
enabled: true,
label: `Keep current version`,
tooltip: '',
@@ -137,10 +137,10 @@ const notifyErrChecking = (notifService: INotificationService): INotificationHan
}
-const performVoidCheck = async (
+const performOrcideCheck = async (
explicit: boolean,
notifService: INotificationService,
- voidUpdateService: IVoidUpdateService,
+ orcideUpdateService: IOrcideUpdateService,
metricsService: IMetricsService,
updateService: IUpdateService,
): Promise => {
@@ -148,7 +148,7 @@ const performVoidCheck = async (
const metricsTag = explicit ? 'Manual' : 'Auto'
metricsService.capture(`Orcide Update ${metricsTag}: Checking...`, {})
- const res = await voidUpdateService.check(explicit)
+ const res = await orcideUpdateService.check(explicit)
if (!res) {
const notifController = notifyErrChecking(notifService);
metricsService.capture(`Orcide Update ${metricsTag}: Error`, { res })
@@ -176,19 +176,19 @@ registerAction2(class extends Action2 {
constructor() {
super({
f1: true,
- id: 'void.voidCheckUpdate',
- title: localize2('voidCheckUpdate', 'Orcide: Check for Updates'),
+ id: 'orcide.checkUpdate',
+ title: localize2('orcideCheckUpdate', 'Orcide: Check for Updates'),
});
}
async run(accessor: ServicesAccessor): Promise {
- const voidUpdateService = accessor.get(IVoidUpdateService)
+ const orcideUpdateService = accessor.get(IOrcideUpdateService)
const notifService = accessor.get(INotificationService)
const metricsService = accessor.get(IMetricsService)
const updateService = accessor.get(IUpdateService)
const currNotifController = lastNotifController
- const newController = await performVoidCheck(true, notifService, voidUpdateService, metricsService, updateService)
+ const newController = await performOrcideCheck(true, notifService, orcideUpdateService, metricsService, updateService)
if (newController) {
currNotifController?.close()
@@ -198,10 +198,10 @@ registerAction2(class extends Action2 {
})
// on mount
-class VoidUpdateWorkbenchContribution extends Disposable implements IWorkbenchContribution {
- static readonly ID = 'workbench.contrib.void.voidUpdate'
+class OrcideUpdateWorkbenchContribution extends Disposable implements IWorkbenchContribution {
+ static readonly ID = 'workbench.contrib.orcide.orcideUpdate'
constructor(
- @IVoidUpdateService voidUpdateService: IVoidUpdateService,
+ @IOrcideUpdateService orcideUpdateService: IOrcideUpdateService,
@IMetricsService metricsService: IMetricsService,
@INotificationService notifService: INotificationService,
@IUpdateService updateService: IUpdateService,
@@ -209,7 +209,7 @@ class VoidUpdateWorkbenchContribution extends Disposable implements IWorkbenchCo
super()
const autoCheck = () => {
- performVoidCheck(false, notifService, voidUpdateService, metricsService, updateService)
+ performOrcideCheck(false, notifService, orcideUpdateService, metricsService, updateService)
}
// check once 5 seconds after mount
@@ -225,4 +225,4 @@ class VoidUpdateWorkbenchContribution extends Disposable implements IWorkbenchCo
}
}
-registerWorkbenchContribution2(VoidUpdateWorkbenchContribution.ID, VoidUpdateWorkbenchContribution, WorkbenchPhase.BlockRestore);
+registerWorkbenchContribution2(OrcideUpdateWorkbenchContribution.ID, OrcideUpdateWorkbenchContribution, WorkbenchPhase.BlockRestore);
diff --git a/src/vs/workbench/contrib/void/browser/quickEditActions.ts b/src/vs/workbench/contrib/orcide/browser/quickEditActions.ts
similarity index 86%
rename from src/vs/workbench/contrib/void/browser/quickEditActions.ts
rename to src/vs/workbench/contrib/orcide/browser/quickEditActions.ts
index 63deba31..a9038b08 100644
--- a/src/vs/workbench/contrib/void/browser/quickEditActions.ts
+++ b/src/vs/workbench/contrib/orcide/browser/quickEditActions.ts
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { KeyCode, KeyMod } from '../../../../base/common/keyCodes.js';
@@ -10,7 +10,7 @@ import { KeybindingWeight } from '../../../../platform/keybinding/common/keybind
import { ICodeEditorService } from '../../../../editor/browser/services/codeEditorService.js';
import { IEditCodeService } from './editCodeServiceInterface.js';
import { roundRangeToLines } from './sidebarActions.js';
-import { VOID_CTRL_K_ACTION_ID } from './actionIDs.js';
+import { ORCIDE_CTRL_K_ACTION_ID } from './actionIDs.js';
import { localize2 } from '../../../../nls.js';
import { IMetricsService } from '../common/metricsService.js';
import { ContextKeyExpr } from '../../../../platform/contextkey/common/contextkey.js';
@@ -36,12 +36,12 @@ registerAction2(class extends Action2 {
constructor(
) {
super({
- id: VOID_CTRL_K_ACTION_ID,
+ id: ORCIDE_CTRL_K_ACTION_ID,
f1: true,
- title: localize2('voidQuickEditAction', 'Void: Quick Edit'),
+ title: localize2('voidQuickEditAction', 'Orcide: Quick Edit'),
keybinding: {
primary: KeyMod.CtrlCmd | KeyCode.KeyK,
- weight: KeybindingWeight.VoidExtension,
+ weight: KeybindingWeight.OrcideExtension,
when: ContextKeyExpr.deserialize('editorFocus && !terminalFocus'),
}
});
diff --git a/src/vs/workbench/contrib/void/browser/react/.gitignore b/src/vs/workbench/contrib/orcide/browser/react/.gitignore
similarity index 100%
rename from src/vs/workbench/contrib/void/browser/react/.gitignore
rename to src/vs/workbench/contrib/orcide/browser/react/.gitignore
diff --git a/src/vs/workbench/contrib/void/browser/react/README.md b/src/vs/workbench/contrib/orcide/browser/react/README.md
similarity index 100%
rename from src/vs/workbench/contrib/void/browser/react/README.md
rename to src/vs/workbench/contrib/orcide/browser/react/README.md
diff --git a/src/vs/workbench/contrib/void/browser/react/build.js b/src/vs/workbench/contrib/orcide/browser/react/build.js
similarity index 88%
rename from src/vs/workbench/contrib/void/browser/react/build.js
rename to src/vs/workbench/contrib/orcide/browser/react/build.js
index 9507aa59..4cc39288 100755
--- a/src/vs/workbench/contrib/void/browser/react/build.js
+++ b/src/vs/workbench/contrib/orcide/browser/react/build.js
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { execSync } from 'child_process';
@@ -33,7 +33,7 @@ This function finds `globalDesiredPath` given `localDesiredPath` and `currentPat
Diagram:
...basePath/
-└── void/
+└── orcide/
├── ...currentPath/ (defined globally)
└── ...localDesiredPath/ (defined locally)
@@ -60,7 +60,7 @@ function findDesiredPathFromLocalPath(localDesiredPath, currentPath) {
function saveStylesFile() {
setTimeout(() => {
try {
- const pathToCssFile = findDesiredPathFromLocalPath('./src/vs/workbench/contrib/void/browser/react/src2/styles.css', __dirname);
+ const pathToCssFile = findDesiredPathFromLocalPath('./src/vs/workbench/contrib/orcide/browser/react/src2/styles.css', __dirname);
if (pathToCssFile === undefined) {
console.error('[scope-tailwind] Error finding styles.css');
@@ -87,7 +87,7 @@ if (isWatch) {
try {
console.log('🔨 Running initial scope-tailwind build to create src2 folder...');
execSync(
- 'npx scope-tailwind ./src -o src2/ -s void-scope -c styles.css -p "void-"',
+ 'npx scope-tailwind ./src -o src2/ -s orcide-scope -c styles.css -p "orcide-"',
{ stdio: 'inherit' }
);
console.log('✅ src2/ created successfully.');
@@ -103,7 +103,7 @@ if (isWatch) {
'--watch', 'src',
'--ext', 'ts,tsx,css',
'--exec',
- 'npx scope-tailwind ./src -o src2/ -s void-scope -c styles.css -p "void-"'
+ 'npx scope-tailwind ./src -o src2/ -s orcide-scope -c styles.css -p "orcide-"'
]);
const tsupWatcher = spawn('npx', [
@@ -145,7 +145,7 @@ if (isWatch) {
console.log('📦 Building...');
// Run scope-tailwind once
- execSync('npx scope-tailwind ./src -o src2/ -s void-scope -c styles.css -p "void-"', { stdio: 'inherit' });
+ execSync('npx scope-tailwind ./src -o src2/ -s orcide-scope -c styles.css -p "orcide-"', { stdio: 'inherit' });
// Run tsup once
execSync('npx tsup', { stdio: 'inherit' });
diff --git a/src/vs/workbench/contrib/void/browser/react/src/diff/index.tsx b/src/vs/workbench/contrib/orcide/browser/react/src/diff/index.tsx
similarity index 62%
rename from src/vs/workbench/contrib/void/browser/react/src/diff/index.tsx
rename to src/vs/workbench/contrib/orcide/browser/react/src/diff/index.tsx
index 31fee155..af44882d 100644
--- a/src/vs/workbench/contrib/void/browser/react/src/diff/index.tsx
+++ b/src/vs/workbench/contrib/orcide/browser/react/src/diff/index.tsx
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { diffLines, Change } from 'diff';
diff --git a/src/vs/workbench/contrib/void/browser/react/src/markdown/ApplyBlockHoverButtons.tsx b/src/vs/workbench/contrib/orcide/browser/react/src/markdown/ApplyBlockHoverButtons.tsx
similarity index 88%
rename from src/vs/workbench/contrib/void/browser/react/src/markdown/ApplyBlockHoverButtons.tsx
rename to src/vs/workbench/contrib/orcide/browser/react/src/markdown/ApplyBlockHoverButtons.tsx
index 93e26b0d..f970f9db 100644
--- a/src/vs/workbench/contrib/void/browser/react/src/markdown/ApplyBlockHoverButtons.tsx
+++ b/src/vs/workbench/contrib/orcide/browser/react/src/markdown/ApplyBlockHoverButtons.tsx
@@ -1,16 +1,16 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import { useState, useEffect, useCallback, useRef, Fragment } from 'react'
import { useAccessor, useChatThreadsState, useChatThreadsStreamState, useCommandBarState, useCommandBarURIListener, useSettingsState } from '../util/services.js'
import { usePromise, useRefState } from '../util/helpers.js'
-import { isFeatureNameDisabled } from '../../../../common/voidSettingsTypes.js'
+import { isFeatureNameDisabled } from '../../../../common/orcideSettingsTypes.js'
import { URI } from '../../../../../../../base/common/uri.js'
import { FileSymlink, LucideIcon, RotateCw, Terminal } from 'lucide-react'
import { Check, X, Square, Copy, Play, } from 'lucide-react'
-import { getBasename, ListableToolItem, voidOpenFileFn, ToolChildrenWrapper } from '../sidebar-tsx/SidebarChat.js'
+import { getBasename, ListableToolItem, orcideOpenFileFn, ToolChildrenWrapper } from '../sidebar-tsx/SidebarChat.js'
import { PlacesType, VariantType } from 'react-tooltip'
enum CopyButtonText {
@@ -33,12 +33,12 @@ export const IconShell1 = ({ onClick, Icon, disabled, className, ...props }: Ico
e.stopPropagation();
onClick?.(e);
}}
- // border border-void-border-1 rounded
+ // border border-orcide-border-1 rounded
className={`
size-[18px]
p-[2px]
flex items-center justify-center
- text-sm text-void-fg-3
+ text-sm text-orcide-fg-3
hover:brightness-110
disabled:opacity-50 disabled:cursor-not-allowed
${className}
@@ -109,7 +109,7 @@ export const JumpToFileButton = ({ uri, ...props }: { uri: URI | 'current' } & R
{
- voidOpenFileFn(uri, accessor)
+ orcideOpenFileFn(uri, accessor)
}}
{...tooltipPropsForApplyBlock({ tooltipName: 'Go to file' })}
{...props}
@@ -141,13 +141,13 @@ const getUriBeingApplied = (applyBoxId: string) => {
export const useApplyStreamState = ({ applyBoxId }: { applyBoxId: string }) => {
const accessor = useAccessor()
- const voidCommandBarService = accessor.get('IVoidCommandBarService')
+ const orcideCommandBarService = accessor.get('IOrcideCommandBarService')
const getStreamState = useCallback(() => {
const uri = getUriBeingApplied(applyBoxId)
if (!uri) return 'idle-no-changes'
- return voidCommandBarService.getStreamState(uri)
- }, [voidCommandBarService, applyBoxId])
+ return orcideCommandBarService.getStreamState(uri)
+ }, [orcideCommandBarService, applyBoxId])
const [currStreamStateRef, setStreamState] = useRefState(getStreamState())
@@ -173,15 +173,15 @@ export const useApplyStreamState = ({ applyBoxId }: { applyBoxId: string }) => {
type IndicatorColor = 'green' | 'orange' | 'dark' | 'yellow' | null
export const StatusIndicator = ({ indicatorColor, title, className, ...props }: { indicatorColor: IndicatorColor, title?: React.ReactNode, className?: string } & React.HTMLAttributes) => {
return (
-
+
{title && {title}}
@@ -190,7 +190,7 @@ export const StatusIndicator = ({ indicatorColor, title, className, ...props }:
};
const tooltipPropsForApplyBlock = ({ tooltipName, color = undefined, position = 'top', offset = undefined }: { tooltipName: string, color?: IndicatorColor, position?: PlacesType, offset?: number }) => ({
- 'data-tooltip-id': color === 'orange' ? `void-tooltip-orange` : color === 'green' ? 'void-tooltip-green' : 'void-tooltip',
+ 'data-tooltip-id': color === 'orange' ? `orcide-tooltip-orange` : color === 'green' ? 'orcide-tooltip-green' : 'orcide-tooltip',
'data-tooltip-place': position as PlacesType,
'data-tooltip-content': `${tooltipName}`,
'data-tooltip-offset': offset,
@@ -198,13 +198,13 @@ const tooltipPropsForApplyBlock = ({ tooltipName, color = undefined, position =
export const useEditToolStreamState = ({ applyBoxId, uri }: { applyBoxId: string, uri: URI }) => {
const accessor = useAccessor()
- const voidCommandBarService = accessor.get('IVoidCommandBarService')
- const [streamState, setStreamState] = useState(voidCommandBarService.getStreamState(uri))
+ const orcideCommandBarService = accessor.get('IOrcideCommandBarService')
+ const [streamState, setStreamState] = useState(orcideCommandBarService.getStreamState(uri))
// listen for stream updates on this box
useCommandBarURIListener(useCallback((uri_) => {
const shouldUpdate = uri.fsPath === uri_.fsPath
- if (shouldUpdate) { setStreamState(voidCommandBarService.getStreamState(uri)) }
- }, [voidCommandBarService, applyBoxId, uri]))
+ if (shouldUpdate) { setStreamState(orcideCommandBarService.getStreamState(uri)) }
+ }, [orcideCommandBarService, applyBoxId, uri]))
return { streamState, }
}
@@ -351,14 +351,14 @@ const ApplyButtonsForEdit = ({
setApplying(newApplyingUri)
if (!applyDonePromise) {
- notificationService.info(`Void Error: We couldn't run Apply here. ${uri === 'current' ? 'This Apply block wants to run on the current file, but you might not have a file open.' : `This Apply block wants to run on ${uri.fsPath}, but it might not exist.`}`)
+ notificationService.info(`Orcide Error: We couldn't run Apply here. ${uri === 'current' ? 'This Apply block wants to run on the current file, but you might not have a file open.' : `This Apply block wants to run on ${uri.fsPath}, but it might not exist.`}`)
}
// catch any errors by interrupting the stream
applyDonePromise?.catch(e => {
const uri = getUriBeingApplied(applyBoxId)
if (uri) editCodeService.interruptURIStreaming({ uri: uri })
- notificationService.info(`Void Error: There was a problem running Apply: ${e}.`)
+ notificationService.info(`Orcide Error: There was a problem running Apply: ${e}.`)
})
metricsService.capture('Apply Code', { length: codeStr.length }) // capture the length only
@@ -530,17 +530,17 @@ export const BlockCodeApplyWrapper = ({
name={{getBasename(uri.fsPath)}}
isSmall={true}
showDot={false}
- onClick={() => { voidOpenFileFn(uri, accessor) }}
+ onClick={() => { orcideOpenFileFn(uri, accessor) }}
/>
: {language}
- return
+ return
{/* header */}
-
+
-
+
{name}
diff --git a/src/vs/workbench/contrib/void/browser/react/src/markdown/ChatMarkdownRender.tsx b/src/vs/workbench/contrib/orcide/browser/react/src/markdown/ChatMarkdownRender.tsx
similarity index 94%
rename from src/vs/workbench/contrib/void/browser/react/src/markdown/ChatMarkdownRender.tsx
rename to src/vs/workbench/contrib/orcide/browser/react/src/markdown/ChatMarkdownRender.tsx
index 97214330..983383f6 100644
--- a/src/vs/workbench/contrib/void/browser/react/src/markdown/ChatMarkdownRender.tsx
+++ b/src/vs/workbench/contrib/orcide/browser/react/src/markdown/ChatMarkdownRender.tsx
@@ -1,6 +1,6 @@
/*--------------------------------------------------------------------------------------
- * Copyright 2025 Glass Devtools, Inc. All rights reserved.
- * Licensed under the Apache License, Version 2.0. See LICENSE.txt for more information.
+ * Copyright 2025 Orcest AI. All rights reserved.
+ * Licensed under the MIT License. See LICENSE.txt for more information.
*--------------------------------------------------------------------------------------*/
import React, { JSX, useMemo, useState } from 'react'
@@ -14,7 +14,7 @@ import { isAbsolute } from '../../../../../../../base/common/path.js'
import { separateOutFirstLine } from '../../../../common/helpers/util.js'
import { BlockCode } from '../util/inputs.js'
import { CodespanLocationLink } from '../../../../common/chatThreadServiceTypes.js'
-import { getBasename, getRelative, voidOpenFileFn } from '../sidebar-tsx/SidebarChat.js'
+import { getBasename, getRelative, orcideOpenFileFn } from '../sidebar-tsx/SidebarChat.js'
export type ChatMessageLocation = {
@@ -94,10 +94,10 @@ const Codespan = ({ text, className, onClick, tooltip }: { text: string, classNa
// TODO compute this once for efficiency. we should use `labels.ts/shorten` to display duplicates properly
return {
if (!link) return;
- // Use the updated voidOpenFileFn to open the file and handle selection
+ // Use the updated orcideOpenFileFn to open the file and handle selection
if (link.selection)
- voidOpenFileFn(link.uri, accessor, [link.selection.startLineNumber, link.selection.endLineNumber]);
+ orcideOpenFileFn(link.uri, accessor, [link.selection.startLineNumber, link.selection.endLineNumber]);
else
- voidOpenFileFn(link.uri, accessor);
+ orcideOpenFileFn(link.uri, accessor);
}
return
- //
- {type === 'default' ? `${modelName} comes packaged with Void, so you shouldn't need to change these settings.`
+
+ {type === 'default' ? `${modelName} comes packaged with Orcide, so you shouldn't need to change these settings.`
: isUnrecognizedModel
- ? `Model not recognized by Void.`
- : `Void recognizes ${modelName} ("${recognizedModelName}").`}
+ ? `Model not recognized by Orcide.`
+ : `Orcide recognizes ${modelName} ("${recognizedModelName}").`}
{/* override toggle */}
-
- Override model defaults
+
+ Override model defaults
Very basic anonymous usage tracking helps us keep Void running smoothly. You may opt out below. Regardless of this setting, Void never sees your code, messages, or API keys.
+
Very basic anonymous usage tracking helps us keep Orcide running smoothly. You may opt out below. Regardless of this setting, Orcide never sees your code, messages, or API keys.
{/* Disable All Metrics Switch */}
- {
@@ -1484,7 +1484,7 @@ export const Settings = () => {
metricsService.capture(`Set metrics opt-out to ${newVal}`, {}) // this only fires if it's enabled, so it's fine to have here
}}
/>
- {'Opt-out (requires restart)'}
+ {'Opt-out (requires restart)'}