new file/snippet
This commit is contained in:
parent
a769385219
commit
691c9f378a
|
@ -17,6 +17,10 @@
|
||||||
:snippets="snippets"
|
:snippets="snippets"
|
||||||
:updateContent="updateContent"
|
:updateContent="updateContent"
|
||||||
:runScript="runScript"
|
:runScript="runScript"
|
||||||
|
:newFile="newFile"
|
||||||
|
:saveFile="saveFile"
|
||||||
|
:newSnippet="newSnippet"
|
||||||
|
:saveSnippet="saveSnippet"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -29,6 +33,21 @@
|
||||||
import { BDEdit } from 'bdedit';
|
import { BDEdit } from 'bdedit';
|
||||||
ace.acequire = ace.require;
|
ace.acequire = ace.require;
|
||||||
|
|
||||||
|
const modes = {
|
||||||
|
'css': 'css',
|
||||||
|
'scss': 'scss',
|
||||||
|
'js': 'js',
|
||||||
|
'txt': 'text',
|
||||||
|
'json': 'json'
|
||||||
|
};
|
||||||
|
|
||||||
|
function resolveMode(fileName) {
|
||||||
|
if (!fileName.includes('.')) return 'text';
|
||||||
|
const ext = fileName.substr(fileName.lastIndexOf('.') + 1);
|
||||||
|
if (modes.hasOwnProperty(ext)) return modes[ext];
|
||||||
|
return 'text';
|
||||||
|
}
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -59,6 +78,48 @@
|
||||||
return ClientIPC.send('editor-runScript', script);
|
return ClientIPC.send('editor-runScript', script);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
newFile(fileName) {
|
||||||
|
const prefix = fileName;
|
||||||
|
const mode = resolveMode(fileName);
|
||||||
|
|
||||||
|
let newName = prefix;
|
||||||
|
let iter = 0;
|
||||||
|
|
||||||
|
while (this.files.find(file => file.name === newName)) {
|
||||||
|
newName = `${prefix}_${iter}`;
|
||||||
|
iter++;
|
||||||
|
}
|
||||||
|
|
||||||
|
const newItem = { type: 'file', name: newName, content: '', mode, saved: false };
|
||||||
|
this.files.push(newItem);
|
||||||
|
return newItem;
|
||||||
|
},
|
||||||
|
|
||||||
|
newSnippet(snippetName) {
|
||||||
|
const prefix = snippetName;
|
||||||
|
const mode = resolveMode(snippetName);
|
||||||
|
|
||||||
|
let newName = prefix;
|
||||||
|
let iter = 0;
|
||||||
|
|
||||||
|
while (this.snippets.find(snippet => snippet.name === newName)) {
|
||||||
|
newName = `${prefix}_${iter}`;
|
||||||
|
iter++;
|
||||||
|
}
|
||||||
|
|
||||||
|
const newItem = { type: 'snippet', name: newName, content: '', mode, saved: false };
|
||||||
|
this.snippets.push(newItem);
|
||||||
|
return newItem;
|
||||||
|
},
|
||||||
|
|
||||||
|
saveFile(file) {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
saveSnippet(snippet) {
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
toggleaot() {
|
toggleaot() {
|
||||||
this.alwaysOnTop = !this.alwaysOnTop;
|
this.alwaysOnTop = !this.alwaysOnTop;
|
||||||
remote.getCurrentWindow().setAlwaysOnTop(this.alwaysOnTop);
|
remote.getCurrentWindow().setAlwaysOnTop(this.alwaysOnTop);
|
||||||
|
|
Loading…
Reference in New Issue