ace-angular-electron/main.js

71 lines
1.7 KiB
JavaScript
Raw Permalink Normal View History

2025-05-12 21:00:28 +00:00
try {
require('electron-reloader')(module)
} catch {}
const { app, ipcMain } = require('electron');
const { newton } = require('./app');
const path = require('node:path');
const fs = require('node:fs');
let startType = "";
let isDebug = false;
let args = [];
const loadArgs = () => {
console.log("\n\nStart KArgs:");
const hasStartAs = app.commandLine.hasSwitch("start-as");
if (hasStartAs) {
startType = app.commandLine.getSwitchValue("start-as");
console.log("Has start-as switch...");
console.log(startType);
}
const hasDebug = app.commandLine.hasSwitch("app-debug");
if (hasDebug) {
isDebug = app.commandLine.getSwitchValue("app-debug");
console.log("Has app-debug switch...");
console.log(isDebug);
}
console.log("\n\nStart VArgs:");
args = process.argv.slice(4); // remove up to --start-as ...
args.forEach((val, index, array) => {
console.log(index + ': ' + val);
console.log();
});
}
const loadHandlers = () => {
ipcMain.handle('getLspConfigData', (eve) => newton.getLspConfigData());
ipcMain.handle('getFileContents', (eve, file) => newton.getFileContents(file));
}
app.whenReady().then(() => {
loadArgs();
loadHandlers();
newton.createWindow(startType, isDebug, args);
})
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
newton.createWindow(startType, isDebug, args);
};
});
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
};
})
process.on('uncaughtException', (error) => {
console.error("Unexpected error: ", error);
});