summaryrefslogtreecommitdiff
path: root/.zsh
diff options
context:
space:
mode:
authorRené Neumann <rene.neumann@in.tum.de>2011-08-10 20:22:31 +0200
committerRené Neumann <rene.neumann@in.tum.de>2011-08-10 20:22:32 +0200
commitaa53962b9540dce996b183a5cd6e14274cfeec0f (patch)
treeb873192164f81a7714e75c5f30239944e384cc99 /.zsh
parent0d3c5d8badbdf8892ed586a30033fd02ee361372 (diff)
downloaddotfiles-aa53962b9540dce996b183a5cd6e14274cfeec0f.tar.gz
dotfiles-aa53962b9540dce996b183a5cd6e14274cfeec0f.tar.bz2
dotfiles-aa53962b9540dce996b183a5cd6e14274cfeec0f.zip
Moved some functions to their own files
Diffstat (limited to '')
-rw-r--r--.zsh/functions/cci77
-rw-r--r--.zsh/functions/open_ebuild43
-rw-r--r--.zsh/zshfunctions124
3 files changed, 120 insertions, 124 deletions
diff --git a/.zsh/functions/cci b/.zsh/functions/cci
new file mode 100644
index 0000000..4baaa7d
--- /dev/null
+++ b/.zsh/functions/cci
@@ -0,0 +1,77 @@
+# Commit a new config change
+# Works only for simple cases
+_ask_$0 ()
+{
+ echo -n "Is this ok? [y/n] "
+
+ if ! read -q; then
+ echo
+ echo "I would have done the wrong thing ... aborting!"
+ return 2
+ else
+ echo
+ fi
+}
+
+if [[ $# == 0 ]]; then
+ echo "No message given. Aborting."
+ return 1
+fi
+
+local message=$1
+local tok=__cci__
+
+pushd -q ~
+
+local indexed="$(config status --porcelain | grep -v '^ ')"
+
+if [[ -n $indexed ]]; then
+ echo ">> Stuff in index -- only commiting this"
+ echo "$indexed"
+ _ask_$0 || return 2
+else
+ echo ">> Nothing in index -- commiting everything which has changed"
+ echo "$(config status)"
+
+ _ask_$0 || return 2
+ config add -u
+fi
+
+cstg diff -O --cached
+_ask_$0 || return 2
+
+echo ">> Creating new patch"
+cstg new $tok -m "$message"
+
+echo ">> Refreshing"
+cstg refresh -i
+
+if [[ -z $(cstg files) ]]; then
+ echo
+ echo "Ehm - this patch is empty. Narf. Aborting!"
+ echo "Deleting useless patch"
+ cstg del $tok
+ return 3
+fi
+
+echo ">> Committing"
+cstg commit $tok
+
+if [[ -n $(cstg series --applied) ]]; then
+ echo
+ echo "Urgs! Something went wrong. There are still patches applied."
+ echo "Clean up for yourself. Aborting here!"
+ return 4
+fi
+
+echo ">> Pushing to remote"
+config push
+
+echo ">> Re-apply patches"
+cstg push -a -k
+
+echo ">> Done"
+
+popd -q
+
+# vim: ft=zsh
diff --git a/.zsh/functions/open_ebuild b/.zsh/functions/open_ebuild
new file mode 100644
index 0000000..dedecb3
--- /dev/null
+++ b/.zsh/functions/open_ebuild
@@ -0,0 +1,43 @@
+# Open the ebuild with a specified command
+local ebuild sel
+local -a elist
+
+if [[ $# -lt 2 ]]; then
+ echo "No package name given."
+ return 4
+fi
+
+ebuild="$(equery w $2 2>&1 )"
+if [[ $? -ne 0 ]]; then
+ if [[ $ebuild == *"Ambiguous"* ]]; then
+ elist=(${(f)ebuild})
+
+ # remove the first line
+ shift elist
+
+ echo "Ambiguous package name '$2' -- choose from: "
+ cat -n <<< ${(F)elist}
+ read "sel?Selection: "
+
+ if [[ -z $elist[$sel] ]]; then
+ echo "Invalid choice."
+ return 1
+ else
+ # the "=" is needed to strip the leading spaces and the quotes
+ open_ebuild $1 ${=elist[$sel]}
+ return $?
+ fi
+
+ elif [[ $ebuild == *"No packages matching"* ]]; then
+ echo "Trying masked packages too..."
+ ebuild=$(equery w -m $2 2>&1)
+ fi
+fi
+
+if [[ $? -eq 0 ]]; then
+ $1 $ebuild
+else
+ echo "No ebuild found"
+fi
+
+# vim: ft=zsh
diff --git a/.zsh/zshfunctions b/.zsh/zshfunctions
index 67186cd..ad50ea1 100644
--- a/.zsh/zshfunctions
+++ b/.zsh/zshfunctions
@@ -26,130 +26,6 @@ _unpack ()
ebuild $1 clean unpack
}
-# Open the ebuild with a specified command
-open_ebuild ()
-{
- local ebuild sel
- local -a elist
-
- if [[ $# -lt 2 ]]; then
- echo "No package name given."
- return 4
- fi
-
- ebuild="$(equery w $2 2>&1 )"
- if [[ $? -ne 0 ]]; then
- if [[ $ebuild == *"Ambiguous"* ]]; then
- elist=(${(f)ebuild})
-
- # remove the first line
- shift elist
-
- echo "Ambiguous package name '$2' -- choose from: "
- cat -n <<< ${(F)elist}
- read "sel?Selection: "
-
- if [[ -z $elist[$sel] ]]; then
- echo "Invalid choice."
- return 1
- else
- # the "=" is needed to strip the leading spaces and the quotes
- open_ebuild $1 ${=elist[$sel]}
- return $?
- fi
-
- elif [[ $ebuild == *"No packages matching"* ]]; then
- echo "Trying masked packages too..."
- ebuild=$(equery w -m $2 2>&1)
- fi
- fi
-
- if [[ $? -eq 0 ]]; then
- $1 $ebuild
- else
- echo "No ebuild found"
- fi
-}
-
-# Commit a new config change
-# Works only for simple cases
-cci ()
-{
- _ask_$0 ()
- {
- echo -n "Is this ok? [y/n] "
-
- if ! read -q; then
- echo
- echo "I would have done the wrong thing ... aborting!"
- return 2
- else
- echo
- fi
- }
-
- if [[ $# == 0 ]]; then
- echo "No message given. Aborting."
- return 1
- fi
-
- local message=$1
- local tok=__cci__
-
- pushd -q ~
-
- local indexed="$(config status --porcelain | grep -v '^ ')"
-
- if [[ -n $indexed ]]; then
- echo ">> Stuff in index -- only commiting this"
- echo "$indexed"
- _ask_$0 || return 2
- else
- echo ">> Nothing in index -- commiting everything which has changed"
- echo "$(config status)"
-
- _ask_$0 || return 2
- config add -u
- fi
-
- cstg diff -O --cached
- _ask_$0 || return 2
-
- echo ">> Creating new patch"
- cstg new $tok -m "$message"
-
- echo ">> Refreshing"
- cstg refresh -i
-
- if [[ -z $(cstg files) ]]; then
- echo
- echo "Ehm - this patch is empty. Narf. Aborting!"
- echo "Deleting useless patch"
- cstg del $tok
- return 3
- fi
-
- echo ">> Committing"
- cstg commit $tok
-
- if [[ -n $(cstg series --applied) ]]; then
- echo
- echo "Urgs! Something went wrong. There are still patches applied."
- echo "Clean up for yourself. Aborting here!"
- return 4
- fi
-
- echo ">> Pushing to remote"
- config push
-
- echo ">> Re-apply patches"
- cstg push -a -k
-
- echo ">> Done"
-
- popd -q
-}
-
check_libs()
{
for i in $(ps -A -o pid | tail -n +2); do