Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
[PATCH 1/2] _zfs_dataset: only use -t share solaris systems
- X-seq: zsh-workers 36643
- From: Eric Cook <llua@xxxxxxx>
- To: zsh-workers@xxxxxxx
- Subject: [PATCH 1/2] _zfs_dataset: only use -t share solaris systems
- Date: Sat, 26 Sep 2015 14:00:41 -0400
- List-help: <mailto:zsh-workers-help@zsh.org>
- List-id: Zsh Workers List <zsh-workers.zsh.org>
- List-post: <mailto:zsh-workers@zsh.org>
- Mailing-list: contact zsh-workers-help@xxxxxxx; run by ezmlm
On non-solaris systems with zfs, zfs rename <tab> will print an help
message due to -t share.
The test will work on linux, os x and freebsd. but illumos systems
between the years 2010-2012 will still be identified as solaris
telling the difference between illumos and solaris isn't very
straightforward it seems.
http://wiki.illumos.org/display/illumos/Modernizing+Uname
I added _pick_variant in _zfs/_zpool and not _zfs_dataset to help with
other differences between openzfs and solaris' zfs. In the future
someone could test $implementation and handle things appropriately.
---
Completion/Unix/Command/_zfs | 4 +++-
Completion/Unix/Command/_zpool | 4 +++-
Completion/Unix/Type/_zfs_dataset | 2 ++
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/Completion/Unix/Command/_zfs b/Completion/Unix/Command/_zfs
index cd5ad3e..04a92e6 100644
--- a/Completion/Unix/Command/_zfs
+++ b/Completion/Unix/Command/_zfs
@@ -2,7 +2,7 @@
# Synced with the S11U1 man page
_zfs() {
- local context state line expl
+ local context state line expl implementation
typeset -A opt_args
local -a subcmds rw_properties rw_propnames ro_properties create_properties
local -a share_nfs_ro_properties share_nfs_rw_properties
@@ -10,6 +10,8 @@ _zfs() {
local -a share_ro_properties share_rw_properties
local -a difffields delegatable_perms
+ _pick_variant -r implementation -c 'zpool upgrade -v' openzfs='This system supports ZFS pool feature flags' solaris
+
subcmds=(
"create" "destroy" "clone" "promote" "rename" "snapshot"
"rollback" "list" "set" "get" "inherit" "mount" "unmount"
diff --git a/Completion/Unix/Command/_zpool b/Completion/Unix/Command/_zpool
index f2116dc..53022db 100644
--- a/Completion/Unix/Command/_zpool
+++ b/Completion/Unix/Command/_zpool
@@ -2,9 +2,11 @@
# Synced with the S11U1 man page
_zpool() {
- local context state line expl
+ local context state line expl implementation
local -a subcmds fields ro_props rw_props versions create_properties_dataset
+ _pick_variant -r implementation -c 'zpool upgrade -v' openzfs='This system supports ZFS pool feature flags' solaris
+
subcmds=(
create destroy add remove list iostat status online
offline clear attach detach replace scrub import export
diff --git a/Completion/Unix/Type/_zfs_dataset b/Completion/Unix/Type/_zfs_dataset
index 64e343f..a1fde90 100644
--- a/Completion/Unix/Type/_zfs_dataset
+++ b/Completion/Unix/Type/_zfs_dataset
@@ -34,6 +34,8 @@ if [[ ${#rsrc} -gt 0 ]]; then
typearg=( -t snapshot )
elif [[ -n $words[(r)-p] ]]; then
typearg=( -t filesystem,volume )
+ elif [[ $implementation == openzfs ]]; then
+ typearg=( -t filesystem,snapshot,volume )
else
typearg=( -t filesystem,share,snapshot,volume )
fi
--
2.5.1
Messages sorted by:
Reverse Date,
Date,
Thread,
Author