* Completion function for ZSH, how to submit it ??
@ 2003-07-04 13:40 baptiste daroussin
2003-07-04 13:54 ` Peter Stephenson
0 siblings, 1 reply; 2+ messages in thread
From: baptiste daroussin @ 2003-07-04 13:40 UTC (permalink / raw)
To: zsh-workers
[-- Attachment #1: Type: text/plain, Size: 649 bytes --]
I send it once again (no reply before),
My function works, it is very usefull (at least for me :) ), I'd like to see it integrated in ZSH.
How to do so?
(tested on slakware 9.0 with zsh 4.0.6)
--old message--
Here is my first completion function :)
It's a completion function for pkgtool, the slackware package management
system.
I don't know the process to submit it to the ZSH developper (perhaps
here, wrong ??)
So here is may function : _pkgtool (it works fine for me)
I will create other function as soon as I'll have time, I find it it
quite easy to do (for simple one) and it change the life :)
--
baptiste daroussin <daroussi@ece.fr>
[-- Attachment #2: _pkgtool --]
[-- Type: text/plain, Size: 3738 bytes --]
#compdef installpkg upgradepkg removepkg pkgtool explodepkg makepkg
_slackware_pkg() {
local flags
case "$service" in
installpkg)
flags=(
'-warn[warn if files will be overwritten, but do not install]'
'-root=[install someplace else, like /mnt]:Root directory:_path_files -/'
'-infobox[use dialog to draw an info box]'
'-menu[confirm package installation with a menu]'
'-ask[used with menu mode: always ask if a package should be installed regardless of what the package'\''s priority is]'
'-priority[provide a priority for the entire package list to use instead of the priority in the tagfile]:Priority list:(ADD REC OPT SKP)'
'-tagfile[specify a different file to use for package priorities. The default is "tagfile" in the package'\''s directory]:Tagfile:_files -/'
)
_arguments -s \
$flags[@] \
'*:Slackware packages:_files -g \*.tgz'
;;
removepkg)
flags=(
'-warn[Generate a report to the standard output about which files and directories would be removed, but does not actually remove the package.]'
'-preserve[If specified, the complete package subtree is reconstructed in /tmp/preserved_packages/packagename.]'
'-copy[Construct a copy of the package under /tmp/preserved_packages/packagename, but don'\''t remove it. (same effect as -warn -preserve)]'
'-keep[Save the intermediate files created by removepkg (delete_list, required_files, uniq_list, del_link_list, required_links, required_list). Mostly useful for debugging purposes.]'
)
_arguments -s \
$flags[@] \
'*:Package name:_files -W /var/log/packages/ -/'
;;
upgradepkg)
flags=(
'--install-new[the behavior is modified to install new packages in addition to upgrading existing ones.]'
'--reinstall[upgrade all packages even if the same version is already installed.]'
'--verbose[Show all the gory details of the upgrade.]'
)
_arguments -s \
$flags[@] \
'*:Slackware packages:_files -g \*.tgz'
;;
explodepkg)
_arguments -s \
'*:Slackware packages:_files -g \*.tgz'
;;
makepkg)
flags=(
'(--linkadd -l)'{--linkadd,-l}'[moves symlinks into doinst.sh: recommended]:Answer:(y n)'
'(--chown -c)'{--chown,-c}'[resets all permissions to root:root 755 - not generally recommended]:Answer:(y n)'
)
_arguments -s \
$flags[@]
;;
pkgtool)
flags=(
'-sets[Install the disk sets A, B, C. Seperate the disk set names by '\''#'\'' symbols.]'
'-source_mounted[When this flag is present, pkgtool will not attempt to unmount and remount the source device with each disk.]'
'-ignore_tagfile[When this flag is present, pkgtool will install every *.tgz package encountered no matter what the tagfiles say.]'
'-tagfile[This flag is used to specify from the command line which tagfile should be used for the installation.]:Tagfile:_files -/'
'-source_dir[Used when installing multiple packages from disk sets. This is the directory in which the subdirectories for each disk are found.]:Source directory:_path_files -/'
'-target_dir[The directory where the target root directory is located. This is '/' when installing on the hard drive, or typically '\''/mnt'\'' when installing from an install disk.]:Target directory:_path_files -W -/'
'-source_device[The source device to install from. This is not used if you'\''ve provided the -source_mounted flag. It'\''s usually used when installing from floppy.]:Source device:_files -/'
)
_arguments -s \
$flags[@]
;;
esac
}
_slackware_pkg "$@"
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Completion function for ZSH, how to submit it ??
2003-07-04 13:40 Completion function for ZSH, how to submit it ?? baptiste daroussin
@ 2003-07-04 13:54 ` Peter Stephenson
0 siblings, 0 replies; 2+ messages in thread
From: Peter Stephenson @ 2003-07-04 13:54 UTC (permalink / raw)
To: baptiste daroussin; +Cc: zsh-workers
baptiste daroussin wrote:
> My function works, it is very usefull (at least for me :) ), I'd like to see
> it integrated in ZSH.
> How to do so?
> (tested on slakware 9.0 with zsh 4.0.6)
Oliver usually does this sort of thing, he's probably busy/away. I've
added it to 4.1. zsh-workers is exactly the right place to send this
sort of thing.
--
Peter Stephenson <pws@csr.com> Software Engineer
CSR Ltd., Science Park, Milton Road,
Cambridge, CB4 0WH, UK Tel: +44 (0)1223 692070
**********************************************************************
The information transmitted is intended only for the person or
entity to which it is addressed and may contain confidential
and/or privileged material.
Any review, retransmission, dissemination or other use of, or
taking of any action in reliance upon, this information by
persons or entities other than the intended recipient is
prohibited.
If you received this in error, please contact the sender and
delete the material from any computer.
**********************************************************************
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2003-07-04 13:55 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-07-04 13:40 Completion function for ZSH, how to submit it ?? baptiste daroussin
2003-07-04 13:54 ` Peter Stephenson
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).