summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthew Martin <phy1729@gmail.com>2022-03-18 20:48:04 -0500
committerMatthew Martin <phy1729@gmail.com>2022-03-18 20:49:15 -0500
commit8dd733dfd2d2c72f063c7eba3482d870e2ec26c3 (patch)
tree7d6b20c28905a7b7965b73e06023302ad44aea0c
parent87d276346fcedd29b402eaf3a4d40b2f4e3573f9 (diff)
downloadzsh-8dd733dfd2d2c72f063c7eba3482d870e2ec26c3.tar.gz
zsh-8dd733dfd2d2c72f063c7eba3482d870e2ec26c3.tar.xz
zsh-8dd733dfd2d2c72f063c7eba3482d870e2ec26c3.zip
49851: _login_class: Complete login.conf.d classes
-rw-r--r--ChangeLog5
-rw-r--r--Completion/BSD/Type/_login_classes9
2 files changed, 13 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 1a2ddb389..11a9981e3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2022-03-18  Matthew Martin  <phy1729@gmail.com>
+
+	* 49851: Completion/BSD/Type/_login_classes: Complete
+	login.conf.d classes.
+
 2022-03-13  Bart Schaefer  <schaefer@zsh.org>
 
 	* 49844: Doc/Zsh/expn.yo, Doc/Zsh/zle.yo: Fix node reference
diff --git a/Completion/BSD/Type/_login_classes b/Completion/BSD/Type/_login_classes
index 227e3c748..a2e6983a9 100644
--- a/Completion/BSD/Type/_login_classes
+++ b/Completion/BSD/Type/_login_classes
@@ -1,4 +1,11 @@
 #autoload
 
+local expl login_classes
+
+login_classes=(${${(M)${(f)"$(</etc/login.conf)"}:#[^#[:blank:]]*}%%[:|]*})
+if [[ $OSTYPE = openbsd* ]]; then
+  login_classes+=(/etc/login.conf.d/*(N:t))
+fi
+
 _description login-classes expl 'login class'
-compadd "$@" "$expl[@]" - ${${(M)${(f)"$(</etc/login.conf)"}:#[^#[:blank:]]*}%%[:|]*}
+compadd "$@" "$expl[@]" - $login_classes