Snippet save/load

This commit is contained in:
Jiiks 2019-02-27 20:34:11 +02:00
parent d8f977b57a
commit ac9e16632d
2 changed files with 21 additions and 10 deletions

View File

@ -71,7 +71,17 @@ export default class Editor extends Module {
BDIpc.on('editor-getSnippets', async (event) => {
try {
const snippets = await FileUtils.readJsonFromFile(this.bd.config.getPath('snippets'));
event.reply(snippets);
event.reply(snippets.map(snippet => {
return {
type: 'snippet',
name: snippet.name,
mode: this.resolveMode(snippet.name),
content: snippet.content,
savedContent: snippet.content,
read: true,
saved: true
}
}));
} catch (err) {
console.log(err);
event.reply([]);
@ -113,18 +123,12 @@ export default class Editor extends Module {
style = await Promise.all(style.split('\n').map(async(line) => {
if (!line.startsWith('@import')) return line;
const filename = line.split(' ')[1].replace(/'|"|;/g, '');
let filePath = path.resolve(this.bd.config.getPath('userfiles'), filename).replace(/\\/g, '/');
const filePath = path.resolve(this.bd.config.getPath('userfiles'), filename).replace(/\\/g, '/');
try {
await FileUtils.fileExists(filePath);
} catch (err) {
filePath = path.resolve(this.bd.config.getPath('snippets'), filename).replace(/\\/g, '/');
}
try {
await FileUtils.fileExists(filePath);
} catch (err) {
return `/*${filename}*/`;
`/*${filename}*/`;
}
return `@import '${filePath}';`;

View File

@ -173,7 +173,14 @@ import { FileUtils } from '../../core/src/modules/utils';
async saveSnippet(snippet) {
// TODO only saved snippets should save not all when one is saved.
snippet.saved = true;
const result = await ClientIPC.send('bd-editor-saveSnippet', this.snippets);
snippet.savedContent = snippet.content;
const result = await ClientIPC.send('bd-editor-saveSnippet', this.snippets.map(snippet => {
return {
name: snippet.name,
content: snippet.savedContent
}
}));
console.log(result);
},
async readFile(file) {