Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: umount completion context and tags
- X-seq: zsh-users 19530
- From: Mikael Magnusson <mikachu@xxxxxxxxx>
- To: Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>
- Subject: Re: umount completion context and tags
- Date: Sun, 14 Dec 2014 18:13:33 +0100
- Cc: Zsh Users <zsh-users@xxxxxxx>
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=IR8l9DPOmfnpABmk8T0Pcm1dVDEx4oZMaRaPBsX2aU8=; b=uQ7vVTwyOVtRyMPLPCtug+no9AsvIAma6mJ39QfiX8472BcfZibJGxXbmg5J2j44xo gd9MrO06x4vPJ2Bd3K1t89Jqz6vmEZCC429G3JPR0z51RSmcLsXoGBTbL/eeVZJD89Gn iopD0prbgx5ZV7EbgNkNhhaEElj1U3iDyrHT9oapWFuL8bixv4g5naA8gACUIK8abjqr mlgzxc+g1++flMAa1R26XE/M0ScPobWFHOb1WKO5pMeuu2JQ7nYh6jk61ePJ9VtE9rWa cq4DkC6UhRdylYO+vXBbk7L74ldFi9yZ4ooZ6FIHlbBHBCMKfI52pLCPeI55k016gA1t ffGQ==
- In-reply-to: <141214085310.ZM23615@torch.brasslantern.com>
- List-help: <mailto:zsh-users-help@zsh.org>
- List-id: Zsh Users List <zsh-users.zsh.org>
- List-post: <mailto:zsh-users@zsh.org>
- Mailing-list: contact zsh-users-help@xxxxxxx; run by ezmlm
- References: <20141214131541.GB1489@rikku> <CAHYJk3T=_C8gCkt-wbX5XA++n2CXf90UyR9AV92ZEknW2dOF9A@mail.gmail.com> <141214085310.ZM23615@torch.brasslantern.com>
On Sun, Dec 14, 2014 at 5:53 PM, Bart Schaefer
<schaefer@xxxxxxxxxxxxxxxx> wrote:
> [Sticking with zsh-users for now but this maybe should move to -workers]
>
> On Dec 14, 4:15pm, Mikael Magnusson wrote:
> } Subject: Re: umount completion context and tags
> }
> } > umount u<Tab>
> } > umount udev (!!!)
> }
> } That's weird in at least two ways. I get the style to work only if i
> } make it ":completion:*".
>
> See previous message about :(u|)mount: ...?
Yeah, I somehow missed this missing u. It works fine if I add it again.
> } Secondly, those are filesystem types, not labels, and are only valid
> } after -t afaik(?), and umount -t produces a broken completion.
>
> Hmm. On the latter point, "umount -t" works for me:
Sorry, I should have been more specific than just saying it's broken.
It produces this output for me:
% umount -t
---- file system type
\# auto\' following mqueue to
\#vfat available fuse msdos try
[...]
I see now that the gentoo /etc/filesystems has some lines in it with
comments, and the completer doesn't remove them. How about instead of
this,
fss+=( ${$(</etc/filesystems)#\*} )
we use this?
fss+=( ${${${(f)"$(</etc/filesystems)"}:#\#*}#\*} )
> On the former point, I get:
>
> torch% umount u<TAB>
> torch% umount usbfs
>
> Looking at _complete_debug output, usbfs is being completed as a device
> label because there are no matches to "u" for either device-paths or
> directories. The tag-order '!' style only applies when the other tags
> do have possible matches.
Here, you can use - as the first element of tag-order as
zstyle ':completion:*:umount:*' tag-order - '! device-labels'
and device-labels will never be used, not even as a fallback.
> Now, as to WHY it's being completed as a label, it's because /etc/mtab
> has the line
>
> usbfs /proc/bus/usb usbfs rw 0 0
>
> so _mount assigns
>
> dev_tmp=( /dev/hda2 usbfs /dev/hda1 sunrpc )
>
> which subsquently interprets everything that doesn't start with a slash
> as a device label.
I'm not even sure here what a device label is meant to be. I don't
suppose it's something mounted by LABEL=foo? My mount manpage mentions
partition labels, filesystem labels (and I know these are only
readable by root), and also 'those that are labeled "nodev"' appears.
--
Mikael Magnusson
Messages sorted by:
Reverse Date,
Date,
Thread,
Author