summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--Completion/Mandriva/Command/.distfiles1
-rw-r--r--Completion/Mandriva/Command/_rebootin27
3 files changed, 34 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index eb42814b4..df2780908 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2009-01-09  Andrey Borzenkov <bor@zsh.org>
+
+	* unposted: Completion/Mandriva/Command/.distfiles,
+	Completion/Mandriva/Command/_rebootin: add _rebootin completion
+	from Mandriva RPM (modified to allow spaces in GRUB menu titles)
+
 2009-01-09  Peter Stephenson  <pws@csr.com>
 
 	* Benjamin R. Haskell: 26265: Functions/Zle/define-composed-chars:
diff --git a/Completion/Mandriva/Command/.distfiles b/Completion/Mandriva/Command/.distfiles
index 91e79f8e9..72f101fd7 100644
--- a/Completion/Mandriva/Command/.distfiles
+++ b/Completion/Mandriva/Command/.distfiles
@@ -1,4 +1,5 @@
 DISTFILES_SRC='
 .distfiles
 _urpmi
+_rebootin
 '
diff --git a/Completion/Mandriva/Command/_rebootin b/Completion/Mandriva/Command/_rebootin
new file mode 100644
index 000000000..5a27bf800
--- /dev/null
+++ b/Completion/Mandriva/Command/_rebootin
@@ -0,0 +1,27 @@
+#compdef rebootin
+
+local loader=$(sudo detectloader -q)
+
+_arguments -C -s \
+    '-n[No immediate reboot just  set the flags for next reboot.]' \
+    '-f[Create a /fastboot file to reboot in fastboot mode]' \
+    '*::arguments:->loader_entry'
+
+local expl
+case $state in
+    loader_entry)
+	case $loader in
+	    GRUB)
+		if [ -r /boot/grub/menu.lst ];then
+		compadd ${${(M)${(f)"$(</boot/grub/menu.lst)"}##title *}#title }
+		fi
+		;;
+	    LILO)
+		if [ -r /etc/lilo.conf ];then
+		compadd $(awk -F= '{ if ($0 ~ /label=/) print $2 }' /etc/lilo.conf)
+		fi
+		;;
+	    *)
+		;;
+	esac
+esac