import { execSync } from 'child_process' import { lsFolder } from '../files.js' export const ALCHEMY_FOLDER = process.env.HOME + '/Alchemy' function statusAlchemy() { return lsFolder(ALCHEMY_FOLDER).length >= 6 ? 'installed' : 'off' } function downloadAlchemy() { console.log('Beacon of Zen') } function updateAlchemy() { try { const result = execSync('cd ~/Alchemy && git pull') if(result.toString().includes('Already up to date.')) { console.log('Alchemy is already up to date.') } else { console.log('Alchemy updated.') return true } } catch(error) { console.log('Failed to update Alchemy scripts: ', error) } return false } function onMyCustomMenuItem() { console.log("Not implemented.") } export default { name: 'Alchemy', description: 'scripts that transmute your system into gold', status: statusAlchemy, install: downloadAlchemy, update: updateAlchemy, // These menu items will show up oin Features->Alchemy. The key/(menu:value:) is arbitrary but must be the same in both places. custom_script_1: onMyCustomMenuItem, menu: [ { name: 'Menu item to trigger a very specific Alchemy script', value: 'custom_script_1' } ] }