Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Oh My Zsh
Commits
b09890a3
Commit
b09890a3
authored
Jun 30, 2018
by
Justin Aiken
Committed by
Marc Cornellà
Jun 30, 2018
Browse files
Added more levels of zeus compeletion (#2058)
parent
b6ca933a
Changes
1
Hide whitespace changes
Inline
Side-by-side
plugins/zeus/_zeus
View file @
b09890a3
...
...
@@ -2,33 +2,97 @@
#
autoload
#
in
order
to
make
this
work
,
you
will
need
to
have
the
gem
zeus
installed
# zeus zsh completion, based on adb completion
#
zeus
zsh
completion
local
-
a
_1st_arguments
_1st_arguments=(
'console:Lets you interact with your Rails application from the command line. (alias = c)'
'cucumber:Runs cucumber.'
'dbconsole:Figures out which database you are using and drops you into whichever command line interface.'
'destroy:Figures out what generate did, and undoes it. (alias = d)'
'generate:Uses templates to create a whole lot of things. (alias = g)'
'rake:Execute rake tasks.'
'runner:Runs Ruby code in the context of Rails non-interactively. (alias = r)'
'server:Launches a small web server named WEBrick which comes bundled with Ruby. (alias = s)'
'start:Preloads the zeus environment'
'test:Runs RSpec tests. (alias = rspec, testrb)'
'version:Shows the version number.'
)
if
[[
-
e
.
zeus
.
sock
]];
then
_1st_arguments
=(
'console:Lets you interact with your Rails application from the command line. (alias = c)'
'cucumber:Runs cucumber.'
'dbconsole:Figures out which database you are using and drops you into whichever command line interface.'
'destroy:Figures out what generate did, and undoes it. (alias = d)'
'generate:Uses templates to create a whole lot of things. (alias = g)'
'rake:Execute rake tasks.'
'runner:Runs Ruby code in the context of Rails non-interactively. (alias = r)'
'server:Launches a small web server named WEBrick which comes bundled with Ruby. (alias = s)'
'test:Runs RSpec tests. (alias = rspec, testrb)'
'version:Shows the version number.'
)
else
_1st_arguments
=(
'start:Preloads the zeus environment'
'init:Generate a zeus.json file'
)
fi
_rails_generate_arguments
()
{
generate_arguments
=(
controller
generator
helper
integration_test
mailer
migration
model
observer
performance_test
plugin
resource
scaffold
scaffold_controller
session_migration
stylesheets
)
}
_rake_does_task_list_need_generating
()
{
if
[
! -f .rake_tasks ]; then return 0;
else
accurate
=$(
stat
-
f
%
m
.
rake_tasks
)
changed
=$(
stat
-
f
%
m
Rakefile
)
return
$(
expr
$
accurate
'>='
$
changed
)
fi
}
_zrake
()
{
local
expl
declare
-
a
tasks
if
[
-
f
Rakefile
];
then
if
_rake_does_task_list_need_generating
;
then
echo
"
\n
Generating .rake_tasks..."
>
/
dev
/
stderr
rake
--
silent
--
tasks
|
cut
-
d
" "
-
f
2
>
.
rake_tasks
fi
tasks
=(`
cat
.
rake_tasks
`)
_wanted
tasks
expl
'rake'
compadd
$
tasks
fi
}
local
expl
local -a pkgs installed_pkgs
local
curcontext
=
"$curcontext"
state
line
typeset
-
A
opt_args
_arguments \
'*:: :->subcmds' && return 0
_arguments
-
C
\
':command:->command'
\
'*::options:->options'
if (( CURRENT == 1 )); then
_describe -t commands "zeus subcommand" _1st_arguments
return
fi
_files
case
$
state
in
(
command
)
_describe
-
t
commands
"zeus subcommand"
_1st_arguments
return
;;
(
options
)
case
$
line
[
1
]
in
(
rake
)
_zrake
;;
(
generate
|
g
|
destroy
|
d
)
_rails_generate_arguments
_wanted
generate_arguments
expl
'all generate'
compadd
-
a
generate_arguments
;;
esac
;;
esac
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment