Newton-Editor/newton/main.js

70 lines
1.7 KiB
JavaScript
Raw Normal View History

2025-05-28 02:10:45 +00:00
try {
require('electron-reloader')(module)
} catch {}
const { app, ipcMain } = require('electron');
2025-05-28 02:10:45 +00:00
const { newton } = require('./app');
const loadHandlers = () => {
ipcMain.handle('getLspConfigData', (eve) => newton.fs.getLspConfigData());
ipcMain.handle('getFileContents', (eve, file) => newton.fs.getFileContents(file));
ipcMain.handle('openFiles', (eve, startPath) => newton.fs.openFiles(startPath));
ipcMain.handle('saveFile', (eve, path, content) => newton.fs.saveFile(path, content));
ipcMain.handle('saveFileAs', (eve, content) => newton.fs.saveFileAs(content));
2025-05-28 02:10:45 +00:00
}
2025-05-28 02:10:45 +00:00
app.whenReady().then(() => {
newton.args.loadArgs();
2025-05-28 02:10:45 +00:00
loadHandlers();
2025-06-08 04:38:42 +00:00
newton.settings.loadsettings();
let window = newton.createWindow(
newton.args.getStartType(),
newton.args.debugMode(),
newton.args.getArgs(),
);
newton.fs.setWindow(window);
2025-06-08 04:38:42 +00:00
});
2025-05-28 02:10:45 +00:00
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
newton.createWindow(
newton.args.getStartType(),
newton.args.debugMode(),
newton.args.getArgs(),
);
2025-05-28 02:10:45 +00:00
};
});
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
};
2025-06-08 04:38:42 +00:00
newton.settings.saveConfig();
});
2025-05-28 02:10:45 +00:00
process.on('uncaughtException', (error) => {
if (error.message != null) {
console.log(error.message);
}
if (error.stack != null) {
console.log(error.stack);
}
});
process.on('unhandledRejection', function(error = {}) {
if (error.message != null) {
console.log(error.message);
}
if (error.stack != null) {
console.log(error.stack);
}
});