Skip to content

Instantly share code, notes, and snippets.

@hcancelik
Created March 3, 2021 10:15
Show Gist options
  • Select an option

  • Save hcancelik/1801f07b17ee3e6375dbf5dc6c7ce0b9 to your computer and use it in GitHub Desktop.

Select an option

Save hcancelik/1801f07b17ee3e6375dbf5dc6c7ce0b9 to your computer and use it in GitHub Desktop.
Alfred Brew Service Workflow
<?php
$searchResults = [];
$results = shell_exec("/opt/homebrew/bin/brew services");
$services = explode("\n", $results);
foreach ($services as $key => $service) {
if ($key != 0) { // first row is headers
$serviceDetails = preg_split('/\s+/', trim($service));
$serviceName = $serviceDetails[0];
$serviceStatus = $serviceDetails[1];
if ($serviceName) {
$searchResults[] = [
"uid" => "restart-$serviceName",
"title" => "Restart $serviceName",
"subtitle" => "Status: $serviceStatus",
"autocomplete" => "restart",
"arg" => "restart $serviceName",
"valid" => true,
];
$searchResults[] = [
"uid" => "start-$serviceName",
"title" => "Start $serviceName",
"subtitle" => "Status: $serviceStatus",
"autocomplete" => "start",
"arg" => "start $serviceName",
"valid" => true,
];
$searchResults[] = [
"uid" => "stop-$serviceName",
"title" => "Stop $serviceName",
"subtitle" => "Status: $serviceStatus",
"autocomplete" => "stop",
"arg" => "stop $serviceName",
"valid" => true,
];
}
}
}
echo json_encode(["items" => $searchResults]);
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment