summary refs log tree commit diff
path: root/Completion/Debian/Type/_deb_codenames
diff options
context:
space:
mode:
Diffstat (limited to 'Completion/Debian/Type/_deb_codenames')
-rw-r--r--Completion/Debian/Type/_deb_codenames12
1 files changed, 12 insertions, 0 deletions
diff --git a/Completion/Debian/Type/_deb_codenames b/Completion/Debian/Type/_deb_codenames
new file mode 100644
index 000000000..feea8b49a
--- /dev/null
+++ b/Completion/Debian/Type/_deb_codenames
@@ -0,0 +1,12 @@
+#autoload
+
+local distro codenames ret=1
+
+for distro in /usr/share/distro-info/*.csv(N); do
+  # TODO: magic number "6"
+  codenames=( ${(f)"$(<$distro tail -n6 | cut -d, -f3,1)"} )
+  codenames=( ${codenames/(#b)(*),(*)/${match[2]}:${match[1]}} )
+  _describe -V -t codename-${distro:t:r} "${distro:t:r} codenames" codenames && ret=0
+done
+
+return ret