35 lines
1.1 KiB
JavaScript
35 lines
1.1 KiB
JavaScript
const fs = require('fs');
|
|
const electron = require('electron');
|
|
|
|
const logger = hh.getLogger('Topaz');
|
|
|
|
module.exports = {
|
|
loadAce() {
|
|
if (process.browser) {
|
|
require('ace-builds/src-noconflict/ace');
|
|
require('ace-builds/src-noconflict/mode-javascript');
|
|
require('ace-builds/src-noconflict/mode-css');
|
|
require(`ace-builds/src-noconflict/theme-tomorrow_night`);
|
|
return require('react-ace/dist/react-ace.js/main.js');
|
|
} else {
|
|
let items = '';
|
|
try {
|
|
for (const item of [
|
|
'ace-builds/src-noconflict/ace',
|
|
'ace-builds/src-noconflict/mode-javascript',
|
|
'ace-builds/src-noconflict/mode-css',
|
|
`ace-builds/src-noconflict/theme-tomorrow_night`,
|
|
'react-ace/dist/react-ace.js/main.js',
|
|
]) {
|
|
items += `${fs.readFileSync(require.resolve(item), 'utf8')}\n`;
|
|
}
|
|
} catch (err) {
|
|
logger.warn("Config editing is disabled, install 'ace-builds' and 'react-ace'", err);
|
|
return null;
|
|
}
|
|
electron.webFrame.executeJavaScript(items);
|
|
return null;
|
|
}
|
|
},
|
|
};
|