Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
oh-my-zsh
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
github
oh-my-zsh
Commits
8287cc17
Commit
8287cc17
authored
Sep 24, 2011
by
Nick Stenning
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Better cake completion: don't barf on options, and don't clobber user's namespace
parent
762b55bb
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
13 additions
and
9 deletions
+13
-9
cake.plugin.zsh
plugins/cake/cake.plugin.zsh
+13
-9
No files found.
plugins/cake/cake.plugin.zsh
View file @
8287cc17
# Set this to 1 if you want to cache the tasks
cache_task_list
=
1
_cake_
cache_task_list
=
1
# Cache filename
cache_file
=
'.cake_task_cache'
_cake_task_cache_file
=
'.cake_task_cache'
_cake_get_target_list
()
{
cake |
grep
'^cake '
|
sed
-e
"s/cake
\(
[^ ]*
\)
.*/
\1
/"
|
grep
-v
'^$'
}
_cake_does_target_list_need_generating
()
{
if
[
$
cache_task_list
-eq
0
]
;
then
if
[
$
{
_cake_cache_task_list
}
-eq
0
]
;
then
return
1
;
fi
if
[
!
-f
$
cache_file
]
;
then return
0
;
if
[
!
-f
$
{
_cake_task_cache_file
}
]
;
then return
0
;
else
accurate
=
$(
stat
-f
%m
$cache_file
)
accurate
=
$(
stat
-f
%m
$
_cake_task_
cache_file
)
changed
=
$(
stat
-f
%m Cakefile
)
return
$(
expr
$accurate
'>='
$changed
)
fi
...
...
@@ -21,12 +25,12 @@ _cake_does_target_list_need_generating () {
_cake
()
{
if
[
-f
Cakefile
]
;
then
if
_cake_does_target_list_need_generating
;
then
cake |
sed
-e
"s/cake
\(
[^ ]*
\)
.*/
\1
/"
|
grep
-v
'^$'
>
$cache_file
compadd
`
cat
$
cache_file
`
_cake_get_target_list
>
${
_cake_task_cache_file
}
compadd
`
cat
$
{
_cake_task_cache_file
}
`
else
compadd
`
cake |
sed
-e
"s/cake
\(
[^ ]*
\)
.*/
\1
/"
|
grep
-v
'^$'
`
compadd
`
_cake_get_target_list
`
fi
fi
}
compdef _cake cake
compdef _cake cake
\ No newline at end of file
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