From: Mikael Magnusson <mikachu@gmail.com>
To: Bart Schaefer <schaefer@brasslantern.com>
Cc: Zsh Users <zsh-users@zsh.org>
Subject: Re: umount completion context and tags
Date: Sun, 14 Dec 2014 18:13:33 +0100 [thread overview]
Message-ID: <CAHYJk3Q7qFoELxSGMnDu7Z4=if9kh6g9_wbYMOGgG++fzuztqA@mail.gmail.com> (raw)
In-Reply-To: <141214085310.ZM23615@torch.brasslantern.com>
On Sun, Dec 14, 2014 at 5:53 PM, Bart Schaefer
<schaefer@brasslantern.com> 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
next prev parent reply other threads:[~2014-12-14 17:13 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-14 13:15 Silas Silva
2014-12-14 15:15 ` Mikael Magnusson
2014-12-14 16:53 ` Bart Schaefer
2014-12-14 17:13 ` Mikael Magnusson [this message]
2014-12-14 17:47 ` Bart Schaefer
2014-12-14 18:51 ` Mikael Magnusson
2014-12-14 16:31 ` Bart Schaefer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAHYJk3Q7qFoELxSGMnDu7Z4=if9kh6g9_wbYMOGgG++fzuztqA@mail.gmail.com' \
--to=mikachu@gmail.com \
--cc=schaefer@brasslantern.com \
--cc=zsh-users@zsh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).