2025-05-28 02:10:45 +00:00
|
|
|
const { contextBridge, ipcRenderer, webUtils } = require('electron')
|
|
|
|
|
|
|
|
|
|
|
|
contextBridge.exposeInMainWorld('electron', {
|
|
|
|
node: () => process.versions.node,
|
|
|
|
chrome: () => process.versions.chrome,
|
|
|
|
electron: () => process.versions.electron,
|
|
|
|
});
|
2025-06-08 19:44:54 +00:00
|
|
|
|
2025-06-01 05:49:30 +00:00
|
|
|
contextBridge.exposeInMainWorld('main', {
|
|
|
|
onMenuActions: (callback) => ipcRenderer.on('menu-actions', (_event, action) => callback(action)),
|
2025-06-19 06:17:13 +00:00
|
|
|
quit: () => ipcRenderer.invoke("quit"),
|
|
|
|
toggleFullScreen: () => ipcRenderer.invoke("toggleFullScreen"),
|
2025-06-01 05:49:30 +00:00
|
|
|
});
|
2025-05-28 02:10:45 +00:00
|
|
|
|
|
|
|
contextBridge.exposeInMainWorld('fs', {
|
|
|
|
getLspConfigData: () => ipcRenderer.invoke("getLspConfigData"),
|
2025-06-13 03:56:03 +00:00
|
|
|
getFileContents: (path) => ipcRenderer.invoke("getFileContents", path),
|
2025-06-01 18:49:18 +00:00
|
|
|
openFiles: (startPath) => ipcRenderer.invoke("openFiles", startPath),
|
2025-06-01 05:49:30 +00:00
|
|
|
saveFile: (path, content) => ipcRenderer.invoke("saveFile", path, content),
|
|
|
|
saveFileAs: (content) => ipcRenderer.invoke("saveFileAs", content),
|
2025-06-13 03:56:03 +00:00
|
|
|
closeFile: (path) => ipcRenderer.invoke("closeFile", path),
|
2025-06-01 05:49:30 +00:00
|
|
|
getPathForFile: (file) => webUtils.getPathForFile(file),
|
2025-06-13 03:56:03 +00:00
|
|
|
onLoadFiles: (callback) => ipcRenderer.on('load-files', (_event, paths) => callback(paths)),
|
2025-06-20 01:03:02 +00:00
|
|
|
onChangedFile: (callback) => ipcRenderer.on('file-changed', (_event, path) => callback(path)),
|
|
|
|
onDeletedFile: (callback) => ipcRenderer.on('file-deleted', (_event, path) => callback(path)),
|
2025-06-01 18:49:18 +00:00
|
|
|
});
|