Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master'
Browse files Browse the repository at this point in the history
* upstream/master: (28 commits)
  Delete .DS_Store
  New plug-in.  Load Average/Temperature/Fan Speed Bar (matryer#582)
  Add support for team ids
  update timezone plus
  Upgrade to Meta Package Manager v1.10.0. (matryer#578)
  ignored .DS_Store
  little fix
  fix dependency typo
  Small refactoring
  Fixing lint error
  Handling multiline status messages
  Upgrade to Meta Package Manager v1.9.0. (matryer#570)
  Add PagerDuty On Call plugin (matryer#565)
  Added currentFiles.1h.rb plugin for editing files (matryer#528)
  add link to instructions, license and proper jshint es version
  Update LMS status plugin (matryer#566)
  Fix Brew Services path after Homebrew update (matryer#568)
  make file executable
  Add PagerDuty Incidents plugin
  Add a BitBar plugin to control Logitech Media Server. (matryer#562)
  ...
  • Loading branch information
seripap committed Oct 21, 2016
2 parents cd7b2eb + 742aed1 commit 7201dac
Show file tree
Hide file tree
Showing 15 changed files with 952 additions and 102 deletions.
Binary file removed .DS_Store
Binary file not shown.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
.DS_Store
125 changes: 125 additions & 0 deletions Dev/Backlog/backlog-show-my-task.1m.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
#!/usr/bin/env ruby
# coding: utf-8

# <bitbar.title>Backlog Show My Task</bitbar.title>
# <bitbar.version>v1.0.0</bitbar.version>
# <bitbar.author>hikouki</bitbar.author>
# <bitbar.author.github>hikouki</bitbar.author.github>
# <bitbar.desc>Show Backlog open ticket for mine</bitbar.desc>
# <bitbar.image>https://raw.githubusercontent.com/hikouki/bitbar-backlog/master/preview.png</bitbar.image>
# <bitbar.dependencies>ruby</bitbar.dependencies>
# <bitbar.abouturl>https://github.com/hikouki</bitbar.abouturl>

require 'net/http'
require 'uri'
require 'json'

# a6140cbf6e84a0bAffb0cX49138fc5687310b518
# or
# launchctl setenv BACKLOG_ACCESS_TOKEN a6140cbf6e84a0bAffb0cX49138fc5687310b518
TOKEN = ENV["BACKLOG_ACCESS_TOKEN"] || ''
# https://xxxx.backlog.jp
# or
# launchctl setenv BACKLOG_URL https://xxxx.backlog.jp
BACKLOG_URL = ENV["BACKLOG_URL"] || ''

begin

myself_api = URI.parse("#{BACKLOG_URL}/api/v2/users/myself")
myself_api.query = URI.encode_www_form(apiKey: TOKEN)

myself_res = Net::HTTP.start(myself_api.host, myself_api.port, use_ssl: myself_api.scheme == 'https') do | http |
http.get(myself_api.request_uri)
end

raise "error #{myself_res.code} #{myself_res.message}" if myself_res.code != '200'

me = JSON.parse(myself_res.body, symbolize_names: true)

issues_api = URI.parse("#{BACKLOG_URL}/api/v2/issues")
issues_api.query = URI.encode_www_form(apiKey: TOKEN, 'assigneeId[]' => me[:id], count: 100)

issues_res = Net::HTTP.start(issues_api.host, issues_api.port, use_ssl: issues_api.scheme == 'https') do | http |
http.get(issues_api.request_uri)
end

raise "error #{issues_res.code} #{issues_res.message}" if issues_res.code != '200'

issues = JSON.parse(issues_res.body, symbolize_names: true)

projects = Hash.new do | h, k |
h[k] = {
name: "<project name>",
issue_count: 0,
issue_type_groups: Hash.new do | h1, k1 |
h1[k1] = {
name: "<type name>",
color: "<type color>",
issue_status_groups: Hash.new do | h2, k2 |
h2[k2] = {
name: "<status name>",
issues: []
}
end
}
end
}
end

issues.each do | issue |
project_id = issue[:projectId]
issue_type_id = issue[:issueType][:id]
issue_status_id = issue[:status][:id]

projects[project_id][:issue_count] += 1
projects[project_id][:issue_type_groups][issue_type_id][:name] = issue[:issueType][:name]
projects[project_id][:issue_type_groups][issue_type_id][:color] = issue[:issueType][:color]
projects[project_id][:issue_type_groups][issue_type_id][:issue_status_groups][issue_status_id][:name] = issue[:status][:name]
projects[project_id][:issue_type_groups][issue_type_id][:issue_status_groups][issue_status_id][:issues].push(
{
key: issue[:issueKey],
summary: issue[:summary]
}
)
end

puts issues.empty? ? "◈ | color=#7d7d7d" : "◈ #{issues.count}"
puts "---"
puts "Backlog | color=black href=#{BACKLOG_URL}"
puts "---"

projects.each do | project_id, project |
project_api = URI.parse("#{BACKLOG_URL}/api/v2/projects/#{project_id}")
project_api.query = URI.encode_www_form(apiKey: TOKEN)

project_res = Net::HTTP.start(project_api.host, project_api.port, use_ssl: project_api.scheme == 'https') do | http |
http.get(project_api.request_uri)
end

raise "error #{project_res.code} #{project_res.message}" if project_res.code != '200'

project_info = JSON.parse(project_res.body, symbolize_names: true)

puts "#{project_info[:name]}: #{project[:issue_count]} | size=11"
project[:issue_type_groups].each do | _, type_group |
puts "➠ #{type_group[:name]} | color=#{type_group[:color]} size=11"
type_group[:issue_status_groups].each do | _, status_group |
puts "[#{status_group[:name]}] | color=#58BE89 size=11"
status_group[:issues].each do | issue |
prefix = status_group[:issues].last == issue ? "└" : "├"
puts "#{prefix} #{issue[:summary]} | color=black href=#{BACKLOG_URL}/view/#{issue[:key]} size=11"
end
end
end
puts "---"
end

puts "---"
puts "Refresh | color=#7d7d7d refresh=true"

rescue => e
puts "◈ ! | color=#ECB935"
puts "---"
puts "Exception: #{$!}"
puts e.backtrace
end
35 changes: 22 additions & 13 deletions Dev/Checkman/checkman.10s.rb
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
#!/usr/bin/env ruby

# <bitbar.title>Checkman Simulator</bitbar.title>
# <bitbar.version>v0.1</bitbar.version>
# <bitbar.version>v0.1.1</bitbar.version>
# <bitbar.author>Deluan Quintao</bitbar.author>
# <bitbar.author.github>deluan</bitbar.author.github>
# <bitbar.desc>This plugin reuses Checkman's configurations and plugins, so you don't need to install it :)</bitbar.desc>
# <bitbar.desc>This plugin reuses Checkman's configurations and plugins, so you don't need to install it :) It has checks for: HTTP, GoCD, Concourse, Jenkins, Travis, Semaphore, Codeship, CircleCI, Airbrake, GitHub, Pivotal Tracker, TDDium and SnapCI, and you can even create your own plugins to leverage Checkman's streamlined UI and configuration files. More info: https://gist.github.com/deluan/3f6fa6bcff2a355ae89181bb15590b88#file-readme-md</bitbar.desc>
# <bitbar.image>http://i.imgur.com/irmlsOX.jpg</bitbar.image>
# <bitbar.dependencies>ruby</bitbar.dependencies>
# <bitbar.abouturl>https://github.com/cppforlife/checkman</bitbar.abouturl>
# <bitbar.abouturl>https://goo.gl/SdNXj2</bitbar.abouturl>

# This plugin simulates Checkman functionality, allowing you to use all its
# plugins and creating checks in external files. It downloads Checkman's plugins
Expand All @@ -26,10 +26,12 @@
require 'fileutils'
require 'open-uri'

CHECKS_DIR="/tmp/bitbar-checkman-plugins/"
CHECKS_DIR="#{ENV['HOME']}/.bitbar-checkman-plugins/"
CHECKS_URL="https://raw.githubusercontent.com/cppforlife/checkman/master/scripts/"
CONFIG_DIR="#{ENV['HOME']}/Checkman/"

README_URL="https://goo.gl/SdNXj2"

ICON_OK="iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAEJGlDQ1BJQ0MgUHJvZmlsZQAAOBGFVd9v21QUPolvUqQWPyBYR4eKxa9VU1u5GxqtxgZJk6XtShal6dgqJOQ6N4mpGwfb6baqT3uBNwb8AUDZAw9IPCENBmJ72fbAtElThyqqSUh76MQPISbtBVXhu3ZiJ1PEXPX6yznfOec7517bRD1fabWaGVWIlquunc8klZOnFpSeTYrSs9RLA9Sr6U4tkcvNEi7BFffO6+EdigjL7ZHu/k72I796i9zRiSJPwG4VHX0Z+AxRzNRrtksUvwf7+Gm3BtzzHPDTNgQCqwKXfZwSeNHHJz1OIT8JjtAq6xWtCLwGPLzYZi+3YV8DGMiT4VVuG7oiZpGzrZJhcs/hL49xtzH/Dy6bdfTsXYNY+5yluWO4D4neK/ZUvok/17X0HPBLsF+vuUlhfwX4j/rSfAJ4H1H0qZJ9dN7nR19frRTeBt4Fe9FwpwtN+2p1MXscGLHR9SXrmMgjONd1ZxKzpBeA71b4tNhj6JGoyFNp4GHgwUp9qplfmnFW5oTdy7NamcwCI49kv6fN5IAHgD+0rbyoBc3SOjczohbyS1drbq6pQdqumllRC/0ymTtej8gpbbuVwpQfyw66dqEZyxZKxtHpJn+tZnpnEdrYBbueF9qQn93S7HQGGHnYP7w6L+YGHNtd1FJitqPAR+hERCNOFi1i1alKO6RQnjKUxL1GNjwlMsiEhcPLYTEiT9ISbN15OY/jx4SMshe9LaJRpTvHr3C/ybFYP1PZAfwfYrPsMBtnE6SwN9ib7AhLwTrBDgUKcm06FSrTfSj187xPdVQWOk5Q8vxAfSiIUc7Z7xr6zY/+hpqwSyv0I0/QMTRb7RMgBxNodTfSPqdraz/sDjzKBrv4zu2+a2t0/HHzjd2Lbcc2sG7GtsL42K+xLfxtUgI7YHqKlqHK8HbCCXgjHT1cAdMlDetv4FnQ2lLasaOl6vmB0CMmwT/IPszSueHQqv6i/qluqF+oF9TfO2qEGTumJH0qfSv9KH0nfS/9TIp0Wboi/SRdlb6RLgU5u++9nyXYe69fYRPdil1o1WufNSdTTsp75BfllPy8/LI8G7AUuV8ek6fkvfDsCfbNDP0dvRh0CrNqTbV7LfEEGDQPJQadBtfGVMWEq3QWWdufk6ZSNsjG2PQjp3ZcnOWWing6noonSInvi0/Ex+IzAreevPhe+CawpgP1/pMTMDo64G0sTCXIM+KdOnFWRfQKdJvQzV1+Bt8OokmrdtY2yhVX2a+qrykJfMq4Ml3VR4cVzTQVz+UoNne4vcKLoyS+gyKO6EHe+75Fdt0Mbe5bRIf/wjvrVmhbqBN97RD1vxrahvBOfOYzoosH9bq94uejSOQGkVM6sN/7HelL4t10t9F4gPdVzydEOx83Gv+uNxo7XyL/FtFl8z9ZAHF4bBsrEwAAAVdJREFUKBWVU1FOwkAUfPvahgL+mHgMLyF+kngUQwieQlHDUYx+qpfwGCb+iFba3XXmwUojJNaG0nbfzJt526mLMQqP0W051lxnrpDjLHNHora8/gsi3sfXWMtLaMLV06R6YMGRfLoYXOZ9mRYHqnmJxQyncz9sYqIXaSqR+j2E5lOuH88/LtzJTW9cDPWuPFQthk40BweqLa6YOaiHBuRllOothHoZznJapSKJWW9XNclTnY6AEF+r+i+ZKWekVSr+tpuIRoEV1omz0cBTbo51NKvbOdvEdG/7QByakKc2H6rtGRN435U4k0AT/HB0ZaZuG/yabNuZKh2uG7wKXgFj0pVPnMUKPLXkIADW5I8OlkaKAU+eMnJMDgPARQPscZ5SRhzx5KlfhTkjx+TgxUtYoWsd0Wx72jPXUSeOeGbcsj1aDOZFXyb/znay2fWrotPnaXXPyb4BZsjMvJjQ4YcAAAAASUVORK5CYII="
ICON_FAIL="iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAEJGlDQ1BJQ0MgUHJvZmlsZQAAOBGFVd9v21QUPolvUqQWPyBYR4eKxa9VU1u5GxqtxgZJk6XtShal6dgqJOQ6N4mpGwfb6baqT3uBNwb8AUDZAw9IPCENBmJ72fbAtElThyqqSUh76MQPISbtBVXhu3ZiJ1PEXPX6yznfOec7517bRD1fabWaGVWIlquunc8klZOnFpSeTYrSs9RLA9Sr6U4tkcvNEi7BFffO6+EdigjL7ZHu/k72I796i9zRiSJPwG4VHX0Z+AxRzNRrtksUvwf7+Gm3BtzzHPDTNgQCqwKXfZwSeNHHJz1OIT8JjtAq6xWtCLwGPLzYZi+3YV8DGMiT4VVuG7oiZpGzrZJhcs/hL49xtzH/Dy6bdfTsXYNY+5yluWO4D4neK/ZUvok/17X0HPBLsF+vuUlhfwX4j/rSfAJ4H1H0qZJ9dN7nR19frRTeBt4Fe9FwpwtN+2p1MXscGLHR9SXrmMgjONd1ZxKzpBeA71b4tNhj6JGoyFNp4GHgwUp9qplfmnFW5oTdy7NamcwCI49kv6fN5IAHgD+0rbyoBc3SOjczohbyS1drbq6pQdqumllRC/0ymTtej8gpbbuVwpQfyw66dqEZyxZKxtHpJn+tZnpnEdrYBbueF9qQn93S7HQGGHnYP7w6L+YGHNtd1FJitqPAR+hERCNOFi1i1alKO6RQnjKUxL1GNjwlMsiEhcPLYTEiT9ISbN15OY/jx4SMshe9LaJRpTvHr3C/ybFYP1PZAfwfYrPsMBtnE6SwN9ib7AhLwTrBDgUKcm06FSrTfSj187xPdVQWOk5Q8vxAfSiIUc7Z7xr6zY/+hpqwSyv0I0/QMTRb7RMgBxNodTfSPqdraz/sDjzKBrv4zu2+a2t0/HHzjd2Lbcc2sG7GtsL42K+xLfxtUgI7YHqKlqHK8HbCCXgjHT1cAdMlDetv4FnQ2lLasaOl6vmB0CMmwT/IPszSueHQqv6i/qluqF+oF9TfO2qEGTumJH0qfSv9KH0nfS/9TIp0Wboi/SRdlb6RLgU5u++9nyXYe69fYRPdil1o1WufNSdTTsp75BfllPy8/LI8G7AUuV8ek6fkvfDsCfbNDP0dvRh0CrNqTbV7LfEEGDQPJQadBtfGVMWEq3QWWdufk6ZSNsjG2PQjp3ZcnOWWing6noonSInvi0/Ex+IzAreevPhe+CawpgP1/pMTMDo64G0sTCXIM+KdOnFWRfQKdJvQzV1+Bt8OokmrdtY2yhVX2a+qrykJfMq4Ml3VR4cVzTQVz+UoNne4vcKLoyS+gyKO6EHe+75Fdt0Mbe5bRIf/wjvrVmhbqBN97RD1vxrahvBOfOYzoosH9bq94uejSOQGkVM6sN/7HelL4t10t9F4gPdVzydEOx83Gv+uNxo7XyL/FtFl8z9ZAHF4bBsrEwAAAUJJREFUKBWVk1tOwzAQRccTIlFVUCgsozupxDaAP4TKKqB8FrENBDvpMiDioQrU1DZz4rjiA6JgaWzHc8/YTm5cjFFod+PRtFSdlU4mhXPHrllNHQof43MdZVmHcHNevT2RccD3RwfXA3WXe6q665wU4sSGbaO+lyhfNvkIIXyGeHv68nrlFof702GhD+Oi0KERpYVSdYuKYSLBojZ4ZVF5H1Y+nOxwVHYETLsa+HPbtggntOs0T7Xp11Fmyh2B2LGw1G8gBOvk0SW9TJSXwx2bo1qiq1EAHXo4RZ6jC8y5rGWkUKKbSc8O0lqC06dOK336Vq+MOfpyWa84BwPwHbPb/ipCHh16OMVyOAcD+I4CgOTRJb0sdRP8HMvhHBbXrWBj8xwArJNHhx6Pt94ezQeqF//2dr5n37+Kk55V7492EPkGePnLtKbOBRoAAAAASUVORK5CYII="
ICON_UNDETERMINED="iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAEJGlDQ1BJQ0MgUHJvZmlsZQAAOBGFVd9v21QUPolvUqQWPyBYR4eKxa9VU1u5GxqtxgZJk6XtShal6dgqJOQ6N4mpGwfb6baqT3uBNwb8AUDZAw9IPCENBmJ72fbAtElThyqqSUh76MQPISbtBVXhu3ZiJ1PEXPX6yznfOec7517bRD1fabWaGVWIlquunc8klZOnFpSeTYrSs9RLA9Sr6U4tkcvNEi7BFffO6+EdigjL7ZHu/k72I796i9zRiSJPwG4VHX0Z+AxRzNRrtksUvwf7+Gm3BtzzHPDTNgQCqwKXfZwSeNHHJz1OIT8JjtAq6xWtCLwGPLzYZi+3YV8DGMiT4VVuG7oiZpGzrZJhcs/hL49xtzH/Dy6bdfTsXYNY+5yluWO4D4neK/ZUvok/17X0HPBLsF+vuUlhfwX4j/rSfAJ4H1H0qZJ9dN7nR19frRTeBt4Fe9FwpwtN+2p1MXscGLHR9SXrmMgjONd1ZxKzpBeA71b4tNhj6JGoyFNp4GHgwUp9qplfmnFW5oTdy7NamcwCI49kv6fN5IAHgD+0rbyoBc3SOjczohbyS1drbq6pQdqumllRC/0ymTtej8gpbbuVwpQfyw66dqEZyxZKxtHpJn+tZnpnEdrYBbueF9qQn93S7HQGGHnYP7w6L+YGHNtd1FJitqPAR+hERCNOFi1i1alKO6RQnjKUxL1GNjwlMsiEhcPLYTEiT9ISbN15OY/jx4SMshe9LaJRpTvHr3C/ybFYP1PZAfwfYrPsMBtnE6SwN9ib7AhLwTrBDgUKcm06FSrTfSj187xPdVQWOk5Q8vxAfSiIUc7Z7xr6zY/+hpqwSyv0I0/QMTRb7RMgBxNodTfSPqdraz/sDjzKBrv4zu2+a2t0/HHzjd2Lbcc2sG7GtsL42K+xLfxtUgI7YHqKlqHK8HbCCXgjHT1cAdMlDetv4FnQ2lLasaOl6vmB0CMmwT/IPszSueHQqv6i/qluqF+oF9TfO2qEGTumJH0qfSv9KH0nfS/9TIp0Wboi/SRdlb6RLgU5u++9nyXYe69fYRPdil1o1WufNSdTTsp75BfllPy8/LI8G7AUuV8ek6fkvfDsCfbNDP0dvRh0CrNqTbV7LfEEGDQPJQadBtfGVMWEq3QWWdufk6ZSNsjG2PQjp3ZcnOWWing6noonSInvi0/Ex+IzAreevPhe+CawpgP1/pMTMDo64G0sTCXIM+KdOnFWRfQKdJvQzV1+Bt8OokmrdtY2yhVX2a+qrykJfMq4Ml3VR4cVzTQVz+UoNne4vcKLoyS+gyKO6EHe+75Fdt0Mbe5bRIf/wjvrVmhbqBN97RD1vxrahvBOfOYzoosH9bq94uejSOQGkVM6sN/7HelL4t10t9F4gPdVzydEOx83Gv+uNxo7XyL/FtFl8z9ZAHF4bBsrEwAAAUlJREFUKBWdk01ugzAQhW0TECCkbjhG9t31ApF6CViwrtJT9GdXCSEuQdUeg11XPUOXCBA/pvNcT4VQ1EaxZJOM53sz2A+5LIvASNP04Lru0XGcPc1YSmniWJAzz/MXzY9xHB/LsnxHXGIjy7IHz/PugiBQJCCUUmILa60FgaLrOj0Mw3Oe5/cySZJDGIavURQp3/cFVTXgFrbVRd/3omka3bbt7Q6toiLAU1XRHgZgdIRB7Svq4qjwjoBQcduuybQLOsE+8mz+HnDM0LrVNci/sb8SiRUH/gO3AkaEg5c8f07gEpIYhVPkeY4G55rTh3NgAA7+JcA5yAenrOXwR7DIKQGAFjJOA7ej5Yksd0NXZt4f98g3wCJcEQXgMFgUHnfquv6squqKNq4pSbI6Eqdp+p3wNUCypfF2URQv5sNAhXO/KnRK4BuYbwDN9qHScGVnAAAAAElFTkSuQmCC"
Expand All @@ -51,10 +53,8 @@

PRIORITY_ORDER = [ICON_OK, ICON_OK_CHANGING, ICON_FAIL, ICON_FAIL_CHANGING, ICON_UNDETERMINED, ICON_UNDETERMINED_CHANGING]

# TODO: What is the parameter to prevent the line to be dimmed? This is
# the only way I could figure out
# NO_DIM=" bash=/bin/true terminal=false "
NO_DIM=" bash=/bin/true terminal=false "
DARK_MODE=`defaults read -g AppleInterfaceStyle 2> /dev/null`.strip
NO_DIM = " color=#{DARK_MODE == 'Dark' ? 'white' : 'black'} "

@output = ""
@failed = 0
Expand All @@ -64,7 +64,8 @@
def help
puts " | image=#{ICON_UNDETERMINED}"
puts "---"
puts "Checkman Simulator v0.1| #{NO_DIM}"
puts "Checkman Simulator v0.1.1|href=#{README_URL}"
puts "More info...|href=#{README_URL}"
puts "---"
puts "No configuration files found in #{CONFIG_DIR} | bash=/usr/bin/open param1=\"#{CONFIG_DIR}\" terminal=false"
puts "Click here to learn how to write configuration files... | href=https://github.com/cppforlife/checkman#configuring-checkman-via-checkfiles"
Expand All @@ -81,6 +82,16 @@ def plugin_path(plugin)
plugin_path
end

def format_info(info)
lines = info[1].split("\n")
s = "--#{info[0]}: #{lines[0]} | #{NO_DIM}"
lines.each_with_index do |line, i|
s += "\n--#{line} | #{NO_DIM}" if i > 0
end
s += "href=#{info[1]}" if info[0].downcase == "url"
s += "\n"
end

def parse_output(check_name, check_output)
if check_output.strip == ""
@output += "#{check_name}| #{NO_DIM} image= #{ICON_UNDETERMINED} \n"
Expand All @@ -95,10 +106,8 @@ def parse_output(check_name, check_output)
@failed += 1 unless r["result"]
unless r["info"].nil?
r["info"].each do |i|
if i[1] != ""
@output += "--#{i[0]}: #{i[1]}"
@output += "| href=#{i[1]}" if i[0].downcase == "url"
@output += "\n"
if i[0] != '-'
@output += format_info i
else
@output += "-----\n"
end
Expand Down
2 changes: 1 addition & 1 deletion Dev/Homebrew/brew-services.10m.rb
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
SCRIPT_PATH = Pathname.new($0).realpath()
BREW = "/usr/local/bin/brew"
BREW_LINK = "http://brew.sh/"
BREW_SERVICES = "/usr/local/Library/Taps/homebrew/homebrew-services/cmd/brew-services.rb"
BREW_SERVICES = "/usr/local/Homebrew/Library/Taps/homebrew/homebrew-services/cmd/brew-services.rb"
BREW_SERVICES_LINK = "https://github.com/Homebrew/homebrew-services"

REFRESH = "---\nRefresh | refresh=true"
Expand Down
9 changes: 7 additions & 2 deletions Dev/Homebrew/homebrewcask.1d.sh
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ exit_with_error() {

/usr/local/bin/brew update &> /dev/null || exit_with_error;

brewcasklist=$(/usr/local/bin/brew cask ls -1 | sed 's_(!)__g' | xargs /usr/local/bin/brew cask info | grep -A 1 'Not installed' | sed -e 's_Not installed__g' -e 's_https://github\.com/caskroom/homebrew-cask/blob/master/Casks/__g' -e 's_\.rb__g');
brewcasklist=$(/usr/local/bin/brew cask ls -1 | sed 's_(!)__g' | xargs /usr/local/bin/brew cask info | grep -A 1 'Not installed' | sed -e 's_Not installed__g' -e 's_From: https://github\.com/caskroom/homebrew-cask/blob/master/Casks/__g' -e 's_\.rb__g');

brewcasknum=$(for line in $brewcasklist; do echo "$line" | grep "[a-z]" ; done | wc -w | xargs);

Expand All @@ -30,11 +30,16 @@ echo "---"
echo "$brewcasknum casks to update"
fi
for line in $brewcasklist; do echo "$line" | grep "[a-z]" | sed 's_\(.*\)_& | bash=brew param1=cask param2=install param3=& terminal=true refresh=_g' ; done
fi
if [[ "${brewcasknum}" == "0" ]]; then
echo "🍹"
echo "---"
echo "No casks to update"
fi
echo "---"
# Uncomment following lines to add the commands to the drop-down menu
# echo "Brew Update | bash=brew param1=update terminal=true refresh="
echo "Brew Upgrade | bash=brew param1=upgrade terminal=true refresh="
# echo "Brew Cleanup | bash=brew param1=cleanup terminal=true refresh="
# echo "Brew Cask Cleanup | bash=brew param1=cask param2=cleanup terminal=true refresh="
echo "Refresh | refresh="
fi
Loading

0 comments on commit 7201dac

Please sign in to comment.