From 5cb5de0c1fccebec2378e6efe9dcabb4d02dd76f Mon Sep 17 00:00:00 2001 From: mrfrase3 Date: Sun, 20 Dec 2020 18:45:28 +0800 Subject: [PATCH 1/9] multi-file support and editor settings --- package.json | 1 + src/App.vue | 9 +- src/components/files/add-file.vue | 128 ++++++++++++++++++++++++++++ src/components/files/add-folder.vue | 118 +++++++++++++++++++++++++ src/components/files/editor.vue | 63 +++++++------- src/components/files/tree.vue | 12 ++- src/components/ide.vue | 60 +++++++++++++ src/components/settings/editor.vue | 95 +++++++++++++++++++-- src/store/tools.js | 3 + src/views/Code.vue | 50 ++++++++--- src/views/tools/Servers.vue | 4 +- vue.config.js | 5 ++ yarn.lock | 7 ++ 13 files changed, 500 insertions(+), 55 deletions(-) create mode 100644 src/components/files/add-file.vue create mode 100644 src/components/files/add-folder.vue create mode 100644 src/components/ide.vue diff --git a/package.json b/package.json index be14bae..a2aa192 100644 --- a/package.json +++ b/package.json @@ -20,6 +20,7 @@ "feathers-vuex": "^3.12.3", "intel-hex": "^0.1.2", "lodash": "^4.17.15", + "monaco-editor-webpack-plugin": "^2.0.0", "register-service-worker": "^1.7.1", "roboto-fontface": "*", "sass": "^1.26.7", diff --git a/src/App.vue b/src/App.vue index 626ef9e..c82fdcf 100644 --- a/src/App.vue +++ b/src/App.vue @@ -117,11 +117,16 @@ export default { else setTimeout(() => this.checkSerialReady(), 100); }, }, - mounted() { + async mounted() { this.checkSerialReady(); this.$FeathersVuex.api.File.find(); this.$FeathersVuex.api.Project.find(); - this.$FeathersVuex.api.Setting.find(); + await this.$FeathersVuex.api.Setting.find(); + const { Setting } = this.$FeathersVuex.api; + const { data } = Setting.findInStore({ query: { key: 'editor' } }); + // eslint-disable-next-line no-console + console.log(data[0]); + this.$vuetify.theme.dark = /(dark)|(black)/.test(data[0]?.value?.theme ?? ''); }, }; diff --git a/src/components/files/add-file.vue b/src/components/files/add-file.vue new file mode 100644 index 0000000..d4e4c5c --- /dev/null +++ b/src/components/files/add-file.vue @@ -0,0 +1,128 @@ + + + + + diff --git a/src/components/files/add-folder.vue b/src/components/files/add-folder.vue new file mode 100644 index 0000000..18bd415 --- /dev/null +++ b/src/components/files/add-folder.vue @@ -0,0 +1,118 @@ + + + + + diff --git a/src/components/files/editor.vue b/src/components/files/editor.vue index 9686d71..45377fb 100644 --- a/src/components/files/editor.vue +++ b/src/components/files/editor.vue @@ -1,38 +1,27 @@ diff --git a/src/store/tools.js b/src/store/tools.js index eaaa016..7003894 100644 --- a/src/store/tools.js +++ b/src/store/tools.js @@ -34,5 +34,8 @@ export const settingsDefaults = { editor: { autoSaveInterval: 10, theme: 'vs', + fontSize: 14, + wordWrap: 'off', + scrollBeyondLastLine: true, }, }; diff --git a/src/views/Code.vue b/src/views/Code.vue index a738fa0..3e768a1 100644 --- a/src/views/Code.vue +++ b/src/views/Code.vue @@ -2,13 +2,39 @@
-