Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Oct 2012 20:32:31 +0400
From:      Alex Keda <admin@lissyara.su>
To:        freebsd-current@freebsd.org
Subject:   Re: [HEADSUP] current switched by default to pkgng
Message-ID:  <5081809F.8010003@lissyara.su>
In-Reply-To: <50817DEF.4070509@lissyara.su>
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> <50817DEF.4070509@lissyara.su>

next in thread | previous in thread | raw e-mail | index | archive | help
On 19.10.2012 20:21, Alex Keda wrote:
> 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?
> _______________________________________________
> freebsd-current@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org"
> 

it's a good crutch =)

dc7700p# pkg
add        autoremove check      create     fetch      info       query
     remove     rquery     set        shlib      update     upgrade
which
audit      backup     clean      delete     help       install
register   repo       search     shell      stats      updating
version
dc7700p# pkg
dc7700p# grep pkg /root/.cshrc
complete pkg 'n/*/`pkg help |& grep "Commands supported:"
--after-context=100 | grep "^\s" | cut -d " " -f 1`/'
dc7700p#






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5081809F.8010003>