Skip to content

Commit 704701e

Browse files
committed
More improvements
1 parent b778a2d commit 704701e

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+416478
-167151
lines changed

packages/app/src/app/components/CodeEditor/VSCode/MonacoReactComponent.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,19 @@ class MonacoEditor extends React.PureComponent {
314314

315315
// After initializing monaco editor
316316
this.editorDidMount(editorApi, context.monaco);
317+
318+
// r(
319+
// [
320+
// 'vs/workbench/parts/snippets/electron-browser/snippets.contribution',
321+
// 'vs/workbench/parts/snippets/electron-browser/snippetsService',
322+
// 'vs/workbench/parts/snippets/electron-browser/insertSnippet',
323+
// 'vs/workbench/parts/snippets/electron-browser/configureSnippets',
324+
// 'vs/workbench/parts/snippets/electron-browser/tabCompletion',
325+
// ],
326+
// () => {
327+
// console.log('Loaded snippets');
328+
// }
329+
// );
317330
}
318331
);
319332

packages/app/src/app/components/CodeEditor/VSCode/index.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1119,6 +1119,10 @@ class MonacoEditor extends React.Component<Props, State> implements Editor {
11191119
}
11201120

11211121
lint = async (code: string, title: string, version: number) => {
1122+
if (!title) {
1123+
return;
1124+
}
1125+
11221126
const mode = await getMode(title, this.monaco);
11231127
if (this.settings.lintEnabled) {
11241128
if (mode === 'javascript' || mode === 'vue') {
@@ -1232,9 +1236,6 @@ class MonacoEditor extends React.Component<Props, State> implements Editor {
12321236
}
12331237
};
12341238

1235-
initializeModules = (modules: Array<Module>) =>
1236-
Promise.all(modules.map(module => this.createModel(module, modules)));
1237-
12381239
resizeEditor = () => {
12391240
this.resizeEditorInstantly();
12401241
};

packages/app/src/app/index.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,6 @@ function boot() {
142142
}
143143

144144
if (process.env.NODE_ENV === 'development' && process.env.VSCODE) {
145-
console.log('hmm');
146145
// Configures BrowserFS to use the LocalStorage file system.
147146
BrowserFS.configure(
148147
{
@@ -183,11 +182,9 @@ if (process.env.NODE_ENV === 'development' && process.env.VSCODE) {
183182
}
184183

185184
const fs = BrowserFS.BFSRequire('fs');
186-
console.log(fs);
187185
// Otherwise, BrowserFS is ready-to-use!
188186
/* eslint-disable global-require */
189187
require('./vscode/dev-bootstrap').default()(() => {
190-
console.log('hmm4');
191188
self.require(['vs/editor/editor.main'], () => {
192189
boot();
193190
});

packages/app/src/app/pages/Sandbox/Editor/Workspace/Files/DirectoryEntry/DirectoryChildren/ModuleEntry.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ class ModuleEntry extends React.Component {
2020
renameModule,
2121
deleteEntry,
2222
discardModuleChanges,
23+
getModulePath,
2324
} = this.props;
2425
const currentModuleShortid = store.editor.currentModuleShortid;
2526
const mainModuleId = store.editor.mainModule.id;
@@ -54,6 +55,7 @@ class ModuleEntry extends React.Component {
5455
moduleHasError={hasError}
5556
markTabsNotDirty={markTabsNotDirty}
5657
discardModuleChanges={discardModuleChanges}
58+
getModulePath={getModulePath}
5759
/>
5860
);
5961
}

packages/app/src/app/pages/Sandbox/Editor/Workspace/Files/DirectoryEntry/DirectoryChildren/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ class DirectoryChildren extends React.Component {
2222
markTabsNotDirty,
2323
store,
2424
discardModuleChanges,
25+
getModulePath,
2526
} = this.props;
2627

2728
const {
@@ -60,6 +61,7 @@ class DirectoryChildren extends React.Component {
6061
markTabsNotDirty={markTabsNotDirty}
6162
errors={errors}
6263
corrections={corrections}
64+
getModulePath={getModulePath}
6365
/>
6466
))}
6567
{sortBy(
@@ -75,6 +77,7 @@ class DirectoryChildren extends React.Component {
7577
renameModule={renameModule}
7678
deleteEntry={deleteEntry}
7779
discardModuleChanges={discardModuleChanges}
80+
getModulePath={getModulePath}
7881
/>
7982
))}
8083
</div>

packages/app/src/app/pages/Sandbox/Editor/Workspace/Files/DirectoryEntry/Entry/index.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -212,10 +212,14 @@ const entrySource = {
212212
canDrag: props => !!props.id && !props.isMainModule,
213213
beginDrag: props => {
214214
if (props.closeTree) props.closeTree();
215+
216+
const directory =
217+
props.type === 'directory' || props.type === 'directory-open';
215218
return {
216219
id: props.id,
217220
shortid: props.shortid,
218-
directory: props.type === 'directory' || props.type === 'directory-open',
221+
directory,
222+
path: !directory && props.getModulePath(props.id),
219223
};
220224
},
221225
};

packages/app/src/app/pages/Sandbox/Editor/Workspace/Files/DirectoryEntry/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,7 @@ class DirectoryEntry extends React.Component {
210210
depth = 0,
211211
root,
212212
store,
213+
getModulePath,
213214
} = this.props;
214215
const { creating, open } = this.state;
215216
const currentSandbox = store.editor.currentSandbox;
@@ -245,6 +246,7 @@ class DirectoryEntry extends React.Component {
245246
deleteEntry={!root && this.deleteDirectory}
246247
hasChildren={this.getChildren().length > 0}
247248
closeTree={this.closeTree}
249+
getModulePath={getModulePath}
248250
/>
249251
{this.state.showDeleteDirectoryModal && (
250252
<Modal
@@ -296,6 +298,7 @@ class DirectoryEntry extends React.Component {
296298
setCurrentModule={this.setCurrentModule}
297299
markTabsNotDirty={this.markTabsNotDirty}
298300
discardModuleChanges={this.discardChanges}
301+
getModulePath={getModulePath}
299302
/>
300303
{this.state.showDeleteModuleModal && (
301304
<Modal

packages/app/src/app/pages/Sandbox/Editor/Workspace/Files/index.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import DirectoryEntry from './DirectoryEntry/index';
55
import WorkspaceItem from '../WorkspaceItem';
66

77
import EditIcons from './DirectoryEntry/Entry/EditIcons';
8+
import { getModulePath } from 'common/sandbox/modules';
89

910
class Files extends React.Component {
1011
createModule = () => {
@@ -22,6 +23,15 @@ class Files extends React.Component {
2223
this.directory.onUploadFileClick();
2324
};
2425

26+
getModulePath = (moduleId: string) => {
27+
try {
28+
const sandbox = this.props.store.editor.currentSandbox;
29+
return getModulePath(sandbox.modules, sandbox.directories, moduleId);
30+
} catch (e) {
31+
return '';
32+
}
33+
};
34+
2535
render() {
2636
const store = this.props.store;
2737
const sandbox = store.editor.currentSandbox;
@@ -50,6 +60,7 @@ class Files extends React.Component {
5060
innerRef={el => {
5161
this.directory = el;
5262
}}
63+
getModulePath={this.getModulePath}
5364
title={sandbox.title || 'Project'}
5465
depth={-1}
5566
id={null}

packages/app/src/app/pages/common/HTML5BackendWithFolderSupport/index.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,20 @@ export default (manager: Object) => {
77

88
backend.handleTopDropCapture = e => {
99
orgTopDropCapture.call(backend, e);
10+
11+
const item = backend.monitor.getItem();
12+
if (item && item.path) {
13+
// Big hack we do to make VSCode operate happily with the dropped file.
14+
// We monkey patch the getData function to return the right URI, normally
15+
// we have to do this on the drag event with setData instead of the drop event, but we
16+
// don't have access to it so we monkey-patch.
17+
e.dataTransfer.getData = type => {
18+
if (type !== 'ResourceURLs') {
19+
return '';
20+
}
21+
return JSON.stringify([`file://${item.path}`]);
22+
};
23+
}
1024
if (backend.currentNativeSource) {
1125
backend.currentNativeSource.item.dirContent = getFilesFromDragEvent(e, {
1226
recursive: true,

packages/app/src/app/vscode/metadata.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ const METADATA = {
6363
thirdPartyNotices: 'node_modules/monaco-languages/ThirdPartyNotices.txt',
6464
paths: {
6565
src: '/monaco-languages/release/dev',
66-
'npm/dev': 'node_modules/monaco-languages/release/dev',
67-
'npm/min': 'node_modules/monaco-languages/release/min',
66+
'npm/dev': '../monaco-languages/release/dev',
67+
'npm/min': '../monaco-languages/release/min',
6868
esm: 'node_modules/monaco-languages/release/esm',
6969
},
7070
},

0 commit comments

Comments
 (0)