Skip to content

Commit

Permalink
feat: support configure inline diff style (#122)
Browse files Browse the repository at this point in the history
  • Loading branch information
bytemain authored Aug 13, 2024
1 parent de0e1e6 commit bfcc8fb
Show file tree
Hide file tree
Showing 14 changed files with 513 additions and 448 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"description": "codeblitzjs",
"main": "index.js",
"engines": {
"opensumi": "3.2.2-next-1722848438.0"
"opensumi": "3.2.4-next-1723531705.0"
},
"scripts": {
"prepare": "husky install",
Expand Down
4 changes: 2 additions & 2 deletions packages/cli/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,13 @@
"opensumi codeblitzjs"
],
"engines": {
"opensumi": "3.2.2-next-1722848438.0",
"opensumi": "3.2.4-next-1723531705.0",
"node": ">=10.0.0"
},
"dependencies": {
"@codeblitzjs/ide-common": "workspace:*",
"@opensumi/extension-installer": "^0.0.1",
"@opensumi/ide-extension": "3.2.2-next-1722848438.0",
"@opensumi/ide-extension": "3.2.4-next-1723531705.0",
"commander": "^7.2.0",
"fs-extra": "^9.0.1",
"lodash.pick": "^4.4.0",
Expand Down
84 changes: 42 additions & 42 deletions packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,48 +33,48 @@
"@codeblitzjs/ide-plugin": "workspace:*",
"@codeblitzjs/ide-registry": "workspace:*",
"@codeblitzjs/ide-sumi-core": "workspace:*",
"@opensumi/ide-addons": "3.2.2-next-1722848438.0",
"@opensumi/ide-ai-native": "3.2.2-next-1722848438.0",
"@opensumi/ide-comments": "3.2.2-next-1722848438.0",
"@opensumi/ide-core-browser": "3.2.2-next-1722848438.0",
"@opensumi/ide-core-common": "3.2.2-next-1722848438.0",
"@opensumi/ide-debug": "3.2.2-next-1722848438.0",
"@opensumi/ide-decoration": "3.2.2-next-1722848438.0",
"@opensumi/ide-design": "3.2.2-next-1722848438.0",
"@opensumi/ide-editor": "3.2.2-next-1722848438.0",
"@opensumi/ide-explorer": "3.2.2-next-1722848438.0",
"@opensumi/ide-express-file-server": "3.2.2-next-1722848438.0",
"@opensumi/ide-extension": "3.2.2-next-1722848438.0",
"@opensumi/ide-extension-storage": "3.2.2-next-1722848438.0",
"@opensumi/ide-file-scheme": "3.2.2-next-1722848438.0",
"@opensumi/ide-file-service": "3.2.2-next-1722848438.0",
"@opensumi/ide-file-tree-next": "3.2.2-next-1722848438.0",
"@opensumi/ide-i18n": "3.2.2-next-1722848438.0",
"@opensumi/ide-keymaps": "3.2.2-next-1722848438.0",
"@opensumi/ide-logs": "3.2.2-next-1722848438.0",
"@opensumi/ide-main-layout": "3.2.2-next-1722848438.0",
"@opensumi/ide-markdown": "3.2.2-next-1722848438.0",
"@opensumi/ide-markers": "3.2.2-next-1722848438.0",
"@opensumi/ide-menu-bar": "3.2.2-next-1722848438.0",
"@opensumi/ide-monaco": "3.2.2-next-1722848438.0",
"@opensumi/ide-monaco-enhance": "3.2.2-next-1722848438.0",
"@opensumi/ide-opened-editor": "3.2.2-next-1722848438.0",
"@opensumi/ide-outline": "3.2.2-next-1722848438.0",
"@opensumi/ide-output": "3.2.2-next-1722848438.0",
"@opensumi/ide-overlay": "3.2.2-next-1722848438.0",
"@opensumi/ide-preferences": "3.2.2-next-1722848438.0",
"@opensumi/ide-quick-open": "3.2.2-next-1722848438.0",
"@opensumi/ide-scm": "3.2.2-next-1722848438.0",
"@opensumi/ide-search": "3.2.2-next-1722848438.0",
"@opensumi/ide-status-bar": "3.2.2-next-1722848438.0",
"@opensumi/ide-storage": "3.2.2-next-1722848438.0",
"@opensumi/ide-testing": "3.2.2-next-1722848438.0",
"@opensumi/ide-theme": "3.2.2-next-1722848438.0",
"@opensumi/ide-toolbar": "3.2.2-next-1722848438.0",
"@opensumi/ide-variable": "3.2.2-next-1722848438.0",
"@opensumi/ide-webview": "3.2.2-next-1722848438.0",
"@opensumi/ide-workspace": "3.2.2-next-1722848438.0",
"@opensumi/ide-workspace-edit": "3.2.2-next-1722848438.0",
"@opensumi/ide-addons": "3.2.4-next-1723531705.0",
"@opensumi/ide-ai-native": "3.2.4-next-1723531705.0",
"@opensumi/ide-comments": "3.2.4-next-1723531705.0",
"@opensumi/ide-core-browser": "3.2.4-next-1723531705.0",
"@opensumi/ide-core-common": "3.2.4-next-1723531705.0",
"@opensumi/ide-debug": "3.2.4-next-1723531705.0",
"@opensumi/ide-decoration": "3.2.4-next-1723531705.0",
"@opensumi/ide-design": "3.2.4-next-1723531705.0",
"@opensumi/ide-editor": "3.2.4-next-1723531705.0",
"@opensumi/ide-explorer": "3.2.4-next-1723531705.0",
"@opensumi/ide-express-file-server": "3.2.4-next-1723531705.0",
"@opensumi/ide-extension": "3.2.4-next-1723531705.0",
"@opensumi/ide-extension-storage": "3.2.4-next-1723531705.0",
"@opensumi/ide-file-scheme": "3.2.4-next-1723531705.0",
"@opensumi/ide-file-service": "3.2.4-next-1723531705.0",
"@opensumi/ide-file-tree-next": "3.2.4-next-1723531705.0",
"@opensumi/ide-i18n": "3.2.4-next-1723531705.0",
"@opensumi/ide-keymaps": "3.2.4-next-1723531705.0",
"@opensumi/ide-logs": "3.2.4-next-1723531705.0",
"@opensumi/ide-main-layout": "3.2.4-next-1723531705.0",
"@opensumi/ide-markdown": "3.2.4-next-1723531705.0",
"@opensumi/ide-markers": "3.2.4-next-1723531705.0",
"@opensumi/ide-menu-bar": "3.2.4-next-1723531705.0",
"@opensumi/ide-monaco": "3.2.4-next-1723531705.0",
"@opensumi/ide-monaco-enhance": "3.2.4-next-1723531705.0",
"@opensumi/ide-opened-editor": "3.2.4-next-1723531705.0",
"@opensumi/ide-outline": "3.2.4-next-1723531705.0",
"@opensumi/ide-output": "3.2.4-next-1723531705.0",
"@opensumi/ide-overlay": "3.2.4-next-1723531705.0",
"@opensumi/ide-preferences": "3.2.4-next-1723531705.0",
"@opensumi/ide-quick-open": "3.2.4-next-1723531705.0",
"@opensumi/ide-scm": "3.2.4-next-1723531705.0",
"@opensumi/ide-search": "3.2.4-next-1723531705.0",
"@opensumi/ide-status-bar": "3.2.4-next-1723531705.0",
"@opensumi/ide-storage": "3.2.4-next-1723531705.0",
"@opensumi/ide-testing": "3.2.4-next-1723531705.0",
"@opensumi/ide-theme": "3.2.4-next-1723531705.0",
"@opensumi/ide-toolbar": "3.2.4-next-1723531705.0",
"@opensumi/ide-variable": "3.2.4-next-1723531705.0",
"@opensumi/ide-webview": "3.2.4-next-1723531705.0",
"@opensumi/ide-workspace": "3.2.4-next-1723531705.0",
"@opensumi/ide-workspace-edit": "3.2.4-next-1723531705.0",
"@opensumi/textmate-languages": "^2.7.0",
"tslib": "^2.2.0"
},
Expand Down
17 changes: 15 additions & 2 deletions packages/core/src/api/opts.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,28 @@
import { AINativeServerModule, IAppOpts, RuntimeConfig } from '@codeblitzjs/ide-sumi-core';
import { AINativeModule } from '@opensumi/ide-ai-native/lib/browser';
import { DesignModule } from '@opensumi/ide-design/lib/browser';

export function interceptAppOpts(opts: IAppOpts, runtimeConfig: RuntimeConfig) {
const { modules } = opts;

const newModules = [...modules];

if (runtimeConfig.aiNative?.enable) {
if (modules.indexOf(AINativeModule) === -1) {
modules.push(AINativeModule);
modules.push(AINativeServerModule);
newModules.push(AINativeModule);
newModules.push(AINativeServerModule);
}
}

if (opts.useLegacyDesign) {
// remove design module
const index = newModules.indexOf(DesignModule);
if (index > -1) {
newModules.splice(index, 1);
}
}

opts.modules = newModules;

return opts;
}
1 change: 1 addition & 0 deletions packages/core/src/api/renderDiffViewer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ export const DiffViewerRenderer = (_props: IDiffViewerProps) => {
'general.theme': 'opensumi-light',
'editor.minimap': false,
'ai.native.inlineDiff.preview.mode': 'inlineLive',
"editor.showActionWhenGroupEmpty": true,
'editor.autoSave': 'afterDelay',
'application.confirmExit': 'never',
'editor.guides.bracketPairs': false,
Expand Down
4 changes: 4 additions & 0 deletions packages/core/src/modules/opensumi__common-di.ts
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
/**
* @deprecated `@opensumi/common-di` is renamed to `@opensumi/di`
*/

export * from '@opensumi/di';
1 change: 1 addition & 0 deletions packages/core/src/modules/opensumi__di.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export * from '@opensumi/di';
15 changes: 13 additions & 2 deletions packages/startup/src/diff-viewer/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,22 @@ const App = () => {
const memo = useMemo(() => (
<DiffViewerRenderer
tabBarRightExtraContent={{
component: () => <div>heelo</div>,
component: () => <div>hello</div>,
}}
appConfig={{
layoutViewSize: {
editorTabsHeight: 50
}
}}
onWillApplyTheme={() => {
return {
'editorGroupHeader.tabsBackground': '#fff',
'editorGroupHeader.tabsBackground': '#ECF1FE',
'editor.background': '#fff',
'aiNative.inlineDiffAddedRange': '#26bf6d1f',
'aiNative.inlineDiffRemovedRange': "#ff4d4f1e",
'aiNative.inlineDiffAcceptPartialEdit': '#26bf6d80',
'aiNative.inlineDiffDiscardPartialEdit': '#ff4d4f80',
'aiNative.inlineDiffAcceptPartialEdit.foreground': '#000',
};
}}
onRef={(handle) => {
Expand Down
17 changes: 16 additions & 1 deletion packages/startup/src/index.css
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,19 @@ html,
body {
color: var(--foreground);
background-color: var(--editor-background);
}
}

.kt-inline-diff-accept-partial-widget-container > div > span {
padding-left: 8px !important;
padding-right: 8px !important;
}

.kt-inline-diff-accept-partial-widget-container > div {
flex-direction: row-reverse !important;
background: #ffffff;
box-shadow: 0px 0px 4px 0px #0000000a;
}

.kt-navigation-container {
box-shadow: inset 0px -1px 0 0px #0000000f;
}
16 changes: 8 additions & 8 deletions packages/sumi-core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@
"@codeblitzjs/ide-common": "workspace:*",
"@codeblitzjs/ide-registry": "workspace:*",
"@opensumi/di": "^1.0.0",
"@opensumi/ide-ai-native": "3.2.2-next-1722848438.0",
"@opensumi/ide-core-browser": "3.2.2-next-1722848438.0",
"@opensumi/ide-core-common": "3.2.2-next-1722848438.0",
"@opensumi/ide-debug": "3.2.2-next-1722848438.0",
"@opensumi/ide-extension": "3.2.2-next-1722848438.0",
"@opensumi/ide-file-scheme": "3.2.2-next-1722848438.0",
"@opensumi/ide-file-service": "3.2.2-next-1722848438.0",
"@opensumi/ide-logs": "3.2.2-next-1722848438.0",
"@opensumi/ide-ai-native": "3.2.4-next-1723531705.0",
"@opensumi/ide-core-browser": "3.2.4-next-1723531705.0",
"@opensumi/ide-core-common": "3.2.4-next-1723531705.0",
"@opensumi/ide-debug": "3.2.4-next-1723531705.0",
"@opensumi/ide-extension": "3.2.4-next-1723531705.0",
"@opensumi/ide-file-scheme": "3.2.4-next-1723531705.0",
"@opensumi/ide-file-service": "3.2.4-next-1723531705.0",
"@opensumi/ide-logs": "3.2.4-next-1723531705.0",
"assert": "^2.0.0",
"fs-extra-factory": "^0.2.1",
"iconv-lite-umd": "^0.6.8",
Expand Down
10 changes: 9 additions & 1 deletion packages/sumi-core/src/client/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,15 @@ export class ClientModule extends BrowserModule {
};
}

export interface IAppOpts extends IClientAppOpts, IServerAppOpts {}
export interface IAppOpts extends IClientAppOpts, IServerAppOpts {
/**
* @default false
*
* CodeBlitz will use the OpenSumi Design layout by default.
* If you want to use the legacy design, set this to true.
*/
useLegacyDesign?: boolean;
}

export { IClientAppOpts };

Expand Down
4 changes: 2 additions & 2 deletions packages/toolkit/define.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"__OPENSUMI_VERSION__": "3.2.2-next-1722848438.0",
"__WORKER_HOST__": "https://gw.alipayobjects.com/os/cloud-ide/codeblitz/worker-host.b874db95.js",
"__OPENSUMI_VERSION__": "3.2.4-next-1723531705.0",
"__WORKER_HOST__": "https://gw.alipayobjects.com/os/cloud-ide/codeblitz/worker-host.f5e00765.js",
"__WEBVIEW_ENDPOINT__": "https://gw.alipayobjects.com/os/cloud-ide/codeblitz/webview.805ab470",
"__WEBVIEW_SCRIPT__": "https://gw.alipayobjects.com/os/cloud-ide/codeblitz/webview.66e57793.js"
}
22 changes: 17 additions & 5 deletions scripts/utils/generate-alias.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,22 +45,34 @@ exports.generateModules = async () => {
const targetDir = path.join(__dirname, '../../packages/core/modules');
await fse.remove(targetDir);
await fse.ensureDir(targetDir);


fse.readdirSync(modulesDir).forEach((mod) => {
const [scope, name] = path.basename(mod, '.ts').split('__');

if (name === 'common-di') {
writeModule(scope, 'di', 'common-di');
} else {
writeModule(scope, name, name);
}
});


function writeModule(scope, packageName, fileName) {
fse.writeFileSync(
path.join(targetDir, `${name}.js`),
path.join(targetDir, `${fileName}.js`),
`
const { requireModule } = ${lib};
module.exports = requireModule("@${scope}/${name}");
module.exports = requireModule("@${scope}/${packageName}");
`.trim() + '\n'
);
fse.writeFileSync(
path.join(targetDir, `${name}.d.ts`),
path.join(targetDir, `${fileName}.d.ts`),
`
export * from "../lib/modules/${scope}__${name}";
export * from "../lib/modules/${scope}__${packageName}";
`.trim() + '\n'
);
});
}
};

exports.generateShims = async () => {
Expand Down
Loading

0 comments on commit bfcc8fb

Please sign in to comment.