diff --git a/bower.json b/bower.json
index a105e493..11ed9f66 100644
--- a/bower.json
+++ b/bower.json
@@ -25,7 +25,10 @@
"jquery-fullscreen": "~1.1.4",
"cjs": "*",
"ace": "~1.2.2",
- "browserfs": "0.5.8"
+ "browserfs": "0.5.8",
+ "ace": "~1.2.2",
+ "bootstrap-contextmenu": "^0.3.4",
+ "bootbox.js": "^4.4.0"
},
"devDependencies": {},
"resolutions": {
diff --git a/gulp-tasks/build-js.js b/gulp-tasks/build-js.js
index fe3db887..a280ea04 100644
--- a/gulp-tasks/build-js.js
+++ b/gulp-tasks/build-js.js
@@ -53,6 +53,7 @@ const requireJsOptimizerFilesConfig = [
'components/vm-state-label/vm-state-label',
'components/compiler-state-label/compiler-state-label',
'components/not-found-page/not-found-page',
+ 'components/file-browser/file-browser',
'ace/mode/c_cpp',
'ace/theme/monokai',
'ace/theme/terminal',
diff --git a/src/app/require.config.js b/src/app/require.config.js
index 67d15f29..414b76e9 100644
--- a/src/app/require.config.js
+++ b/src/app/require.config.js
@@ -29,6 +29,9 @@ require.config({
"FileSaver": "bower_modules/FileSaver/FileSaver.min", // exports window global "saveAs"
"Blob": "bower_modules/Blob/Blob", // exports window global "Blob"
"browserfs": "bower_modules/browserfs/dist/browserfs.min",
+ "bootstrap-contextmenu":"bower_modules/bootstrap-contextmenu/bootstrap-contextmenu",
+ "bootbox": "bower_modules/bootbox.js/bootbox",
+
// Application-specific modules
"app/config": "app/config/config.dev" // overridden to 'config.dist' in build config
@@ -38,7 +41,9 @@ require.config({
"jquery-ui": { deps: ["jquery"] },
"jquery-ui-layout": { deps: ["jquery", "jquery-ui"] },
"jquery-fullscreen": { deps: ["jquery"] },
- "typeahead-jquery": { deps: ["jquery"] }
+ "typeahead-jquery": { deps: ["jquery"] },
+ "bootbox": { deps: ["jquery"] },
+ "bootstrap-contextmenu": { deps: ["bootstrap"] }
},
packages: [
{
diff --git a/src/app/startup.js b/src/app/startup.js
index 84faf2b5..e4db642a 100644
--- a/src/app/startup.js
+++ b/src/app/startup.js
@@ -38,6 +38,7 @@ ko.components.register('playground-footer', { require: 'components/playground-fo
ko.components.register('vm-state-label', { require: 'components/vm-state-label/vm-state-label' });
ko.components.register('compiler-state-label', { require: 'components/compiler-state-label/compiler-state-label' });
ko.components.register('not-found-page', { require: 'components/not-found-page/not-found-page' });
+ko.components.register('file-browser', { require: 'components/file-browser/file-browser' });
// [Scaffolded component registrations will be inserted here. To retain this feature, don't remove this comment.]
// Start the application
diff --git a/src/app/sys-global-observables.js b/src/app/sys-global-observables.js
index 659f284f..a4b154a4 100644
--- a/src/app/sys-global-observables.js
+++ b/src/app/sys-global-observables.js
@@ -15,4 +15,9 @@ export var gccErrorCount = ko.observable(0);
export var gccWarningCount = ko.observable(0);
export var editorAnnotations = ko.observableArray([]);
+export var currentFileName = ko.observable('untitled');
+export var currentFilePath = ko.observable('');
+
export var projectLicense = ko.observable('');
+
+export var Editor = {};
diff --git a/src/components/editor/editor.html b/src/components/editor/editor.html
index 4995d182..dd6a04ca 100644
--- a/src/components/editor/editor.html
+++ b/src/components/editor/editor.html
@@ -9,7 +9,11 @@
-
+
+
+