Add nodejs rakefile and doing completion
This commit is contained in:
parent
2951a7587c
commit
af8c2da93b
40
rake/pkg/nodejs.rake
Normal file
40
rake/pkg/nodejs.rake
Normal file
|
@ -0,0 +1,40 @@
|
|||
def node_installed?
|
||||
File.exists?(is_mac? ? "/usr/local/bin/node" : "/usr/bin/nodejs")
|
||||
end
|
||||
|
||||
desc "Ensure nodejs & its prerequisites are installed"
|
||||
task :nodejs => "nodejs:update"
|
||||
|
||||
namespace :nodejs do
|
||||
desc "Install node.js completely"
|
||||
task :install do
|
||||
unless node_installed?
|
||||
echo "Installing node"
|
||||
if is_linux?
|
||||
sh_safe "curl -sL https://deb.nodesource.com/setup | sudo bash -"
|
||||
Package.update
|
||||
end
|
||||
|
||||
Package.install is_mac? ? "node" : "nodejs"
|
||||
Package.install "npm" if is_linux?
|
||||
end
|
||||
end
|
||||
|
||||
unless node_installed?
|
||||
task :update => "nodejs:install" do
|
||||
echo "Updating node"
|
||||
if is_mac?
|
||||
Package.update "node"
|
||||
elsif is_linux?
|
||||
sh_safe "npm cache clean -f"
|
||||
sh_safe "npm update npm -g"
|
||||
end
|
||||
end
|
||||
|
||||
task :remove do
|
||||
echo "Uninstalling node"
|
||||
sh_safe "npm uninstall npm -g"
|
||||
Package.remove is_mac? ? "node" : "nodejs"
|
||||
end
|
||||
end
|
||||
end
|
151
zsh/completion/doing.completion.zsh
Normal file
151
zsh/completion/doing.completion.zsh
Normal file
|
@ -0,0 +1,151 @@
|
|||
#compdef doing
|
||||
|
||||
local ret=1 state
|
||||
|
||||
_arguments \
|
||||
':subcommand:->subcommand' \
|
||||
'*::options:->options' && ret=0
|
||||
|
||||
case $state in
|
||||
subcommand)
|
||||
local -a subcommands
|
||||
subcommands=(
|
||||
'help:Shows a list of commands or help for one command'
|
||||
'now:Add an entry'
|
||||
'note:Add a note to the last entry'
|
||||
'meanwhile:Finish any running @meanwhile tasks and optionally create a new one'
|
||||
'later:Add an item to the Later section'
|
||||
'done:Add a completed item with @done(date). No argument finishes last entry.'
|
||||
'finish:Mark last X entries as @done'
|
||||
'tag:Tag last entry'
|
||||
'mark:Mark last entry as highlighted'
|
||||
'show:List all entries'
|
||||
'grep:Search for entries'
|
||||
'recent:List recent entries'
|
||||
'today:List entries from today'
|
||||
'yesterday:List entries from yesterday'
|
||||
'last:Show the last entry'
|
||||
'sections:List sections'
|
||||
'choose:Select a section to display from a menu'
|
||||
'add_section:Add a new section to the "doing" file'
|
||||
'view:Display a user-created view'
|
||||
'views:List available custom views'
|
||||
'archive:Move entries in between sections'
|
||||
'open:Open the "doing" file in an editor'
|
||||
'config:Edit the configuration file'
|
||||
'undo:Undo the last change to the doing_file'
|
||||
)
|
||||
_describe -t subcommands 'doing subcommand' subcommands && ret=0
|
||||
;;
|
||||
|
||||
options)
|
||||
age=({-a,--age=}"[Age (oldest/newest) (default: newest)]")
|
||||
app=({-a,--app=}"[Edit entry with specified app (default: none)")
|
||||
archive=({-a,--archive}"[Archive previous @meanwhile entry]")
|
||||
back="--back=[Backdate start time (4pm|20m|2h|yesterday noon) (default: none)]"
|
||||
boolean=({-b,--boolean=}"[Tag boolean (AND,OR,NONE) (default: OR)]")
|
||||
bool=({-b,--bool=}"[Tag boolean (default: AND)]")
|
||||
count=({-c,--count=}"[How many recent entries to tag (default: 1)]")
|
||||
count=({-c,--count=}"[Max count to show (default: 0)]")
|
||||
date=({-d,--date}"[Include date (default: enabled)]")
|
||||
editor=( {-e,--editor}"[Edit entry with $EDITOR]")
|
||||
finish=({-f,--finish_last}"[Timed entry, marks last entry in section as @done]")
|
||||
file=({-f,--file=}"[Specify alternate doing file (default: none)]")
|
||||
noarchive="--no-archive[Don't archive previous @meanwhile entry]"
|
||||
nodate="--no-date[Don't include date]"
|
||||
noeditor="--no-editor[Don't edit entry with $EDITOR]"
|
||||
note=({-n,--note=}"[Note (default: none)]")
|
||||
notimes="--no-times[Don't show time intervals on @done tasks.]"
|
||||
nototals="--no-totals[Don't show intervals with totals at the end of output]"
|
||||
output=({-o,--output=}"[Output to export format (csv|html) (default: none)]")
|
||||
remove=({-r,--remove}"[Replace/Remove last entry's note]")
|
||||
section=({-s,--section=}"[Section (default: Currently)]")
|
||||
sort=({-s,--sort=}"[Sort order (asc/desc) (default: asc)]")
|
||||
times=({-t,--times}"[Show time intervals on @done tasks (default: enabled)]")
|
||||
took=({-t,--took=}"[Set completion date to start date plus XX(mhd) or (HH:MM) (default: none)]")
|
||||
totals="--totals[Show intervals with totals at the end of output]"
|
||||
|
||||
case $words[1] in
|
||||
now)
|
||||
args=( $back $noeditor $editor $note $section $finish )
|
||||
;;
|
||||
|
||||
note)
|
||||
args=( $section $editor $remove )
|
||||
;;
|
||||
|
||||
meanwhile)
|
||||
args=( $back $noeditor $editor $note $section $archive $noarchive )
|
||||
;;
|
||||
|
||||
later)
|
||||
args=( $back $noeditor $editor $note $app )
|
||||
;;
|
||||
|
||||
done)
|
||||
args=( $back $took $section {-r,--remove}"[Remove @done tag]" $date $nodate $archive $editor $noeditor )
|
||||
;;
|
||||
|
||||
finish)
|
||||
args=( $back $took $section $date $nodate $archive $editor $noeditor )
|
||||
;;
|
||||
|
||||
tag)
|
||||
args=( $section $count $date $remove )
|
||||
;;
|
||||
|
||||
mark)
|
||||
args=( $section $remove )
|
||||
;;
|
||||
|
||||
show)
|
||||
args=( $boolean $count $age $sort $output $times $notimes $totals $nototals )
|
||||
;;
|
||||
|
||||
grep)
|
||||
args=( $section $output $times $notimes $totals $nototals )
|
||||
;;
|
||||
|
||||
recent)
|
||||
args=( $section $times $notimes $totals $nototals )
|
||||
;;
|
||||
|
||||
today)
|
||||
args=( $output $times $notimes $totals $nototals )
|
||||
;;
|
||||
|
||||
yesterday)
|
||||
args=( $output $times $notimes $totals $nototals )
|
||||
;;
|
||||
|
||||
view)
|
||||
args=( $section $count $output $times $notimes $totals $nototals )
|
||||
;;
|
||||
|
||||
archive)
|
||||
args=( $keep $to $bool )
|
||||
;;
|
||||
|
||||
open)
|
||||
args=(
|
||||
"-a [open with app name (default:none)"
|
||||
"-b [open with app bundle id (default: none)"
|
||||
"-e [open with $EDITOR]"
|
||||
)
|
||||
;;
|
||||
|
||||
config)
|
||||
args=( $editor )
|
||||
;;
|
||||
|
||||
undo)
|
||||
args=( $file )
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
_arguments $args && ret=0
|
||||
;;
|
||||
esac
|
||||
|
||||
return ret
|
Loading…
Reference in a new issue