Date: Fri, 19 Oct 2012 20:21:03 +0400 From: Alex Keda <admin@lissyara.su> To: Chris Rees <crees@FreeBSD.org> Cc: ports@freebsd.org, Baptiste Daroussin <bapt@freebsd.org>, current@freebsd.org, Vincent Hoffman <vince@unsane.co.uk> Subject: Re: [HEADSUP] current switched by default to pkgng Message-ID: <50817DEF.4070509@lissyara.su> In-Reply-To: <CADLo83_19dZFVyxitUs8yRt37NGepF73opsLqzR29z_Oczg_7Q@mail.gmail.com> References: <20121010134421.GI26497@ithaqua.etoilebsd.net> <5081661B.2090209@lissyara.su> <50816D59.1030706@unsane.co.uk> <50816EE5.8090704@lissyara.su> <CADLo83_19dZFVyxitUs8yRt37NGepF73opsLqzR29z_Oczg_7Q@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 19.10.2012 19:59, Chris Rees wrote:
> On 19 October 2012 16:16, Alex Keda <admin@lissyara.su> wrote:
>> On 19.10.2012 19:10, Vincent Hoffman wrote:
>>> On 19/10/2012 15:39, Alex Keda wrote:
>>>> pkg command does not have key for list options - no autocompletions
>>>>
>>>> for example, for service command, I use
>>>> complete service 'n/*/`service -l`/'
>>>> in .cshrc
>>>>
>>>> what I can use for pkg command?
>>>
>>> horrible but working example
>>> pkg help 2>&1 | sed -e '1,/Commands supported:/d ; /For more information
>>> on the different commands/,$d; s/^ *// ; s/ .*.*$// ;/^$/d'
>>>
>>> There's bound to be better ways, I was just bored enough to knock this up.
>>> note s/^ *// is a tab, while s/ .*.*$// is 2 spaces
>>> dont think our sed has any other way to express tab other than an actual
>>> tab (ctrl-v then tab on the command line)
>>
>> it's crazy =)
>> may be add -l options?
>
> For Bourne-style shell:
> `pkg help 2>&1 | sed -nE 's,^ +(.*),\1,p'`
>
> For csh-style shell:
> `pkg help | & sed -nE 's,^ +(.*),\1,p'`
>
> where the bit between ^ and + is a tab character. You can type the
> tab character on a command prompt by using Ctrl+V then tab, or just
> type it normally in the script.
>
> Hope that helps in the meantime.
>
> Chris
>
dc7700p# pkg
-c Displays Performs a and
check debug from inside local
package packages remote search system
updating
-d Displays Performs a and
......... skipped ........
Displays Opens a against catalogues
debug from inside link package
packages register search system update
dc7700p#
dc7700p# grep pkg /root/.cshrc
complete pkg 'n/*/`pkg help |& sed -nE "s,^ +(.*),\1,p"`/'
some not work... I try my own string:
complete pkg 'n/*/`pkg help |& grep "Commands supported:"
--after-context=100 | grep "^\s" | awk "{print $1}"`/'
output identical. maybe pipe not work in this place?
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?50817DEF.4070509>
