Re: latest stg/git commandline completions code
From: Blaisorblade <hidden>
Date: 2016-06-15 22:42:09
On Tuesday 25 October 2005 18:24, Catalin Marinas wrote:
On 25/10/05, Blaisorblade [off-list ref] wrote:quoted
The best idea seems to write a Python script sourcing the Stgit source (stgit/main.py to get commands, and then loading each class and iterating over the "options" module member).
I can add a function in stgit/main.py which would list the options. The tla-completion generates a file listing a command with its option on every line:
push -a -all -n --number -t --to --reverse --undo -h --help ...
Since I don't know much about the bash completion, let me know of the format you'd prefer.
Ok, I'll look into that. Probably it'll be around "opts_push="-a --all -n --number...", i.e. this one works fine, through name indirection, i.e. you say "expand the var which name is given by this expr".
quoted
Btw, what do you think about speeding up completions by reimplementing things like "stg applied" or "stg unapplied" via cat (as noted in the comments at the beginning of the script)? Tab completions can easily livelock a shell on a busy system, so it's worthy speeding the thing up.
In general, it is better to use the stg commands but the repository structure won't probably change for a long time
Ok.
and it's OK to optimise (if the speed improvement is visible).
I believe it is, yes.
Anyway, these particular commands are pretty fast (they behave like cat) but there are others which are slower (usually the commands involving calls to the GIT tool).
They _would_ behave like cat, except that Python is slow enough. Half a second on a (almost) idle system means seconds and seconds on a busy system, and it's pretty frequent that when I don't wait enough for an op. to complete I get a traceback from the import statements, which haven't been completed. And let's leave Gentoo's emerge alone - I'd say imports can take up to a minute. -- Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!". Paolo Giarrusso, aka Blaisorblade (Skype ID "PaoloGiarrusso", ICQ 215621894) http://www.user-mode-linux.org/~blaisorblade ___________________________________ Yahoo! Mail: gratis 1GB per i messaggi e allegati da 10MB http://mail.yahoo.it