From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15572 invoked from network); 15 Mar 2001 09:31:00 -0000 Received: from sunsite.dk (130.225.51.30) by ns1.primenet.com.au with SMTP; 15 Mar 2001 09:31:00 -0000 Received: (qmail 12633 invoked by alias); 15 Mar 2001 09:30:51 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 13637 Received: (qmail 12622 invoked from network); 15 Mar 2001 09:30:51 -0000 Date: Thu, 15 Mar 2001 10:30:17 +0100 (MET) Message-Id: <200103150930.KAA23350@beta.informatik.hu-berlin.de> From: Sven Wischnowsky To: zsh-workers@sunsite.dk Subject: Moving completion functions Below is the first version of the script I'll use. I'm planning to wait until Monday so that everyone who wants can have a look if the classification is fine. On Monday I'll look through the suggestions I got till then and change the script accordingly. Before starting, I'll send a mail telling you when I'll begin so that you don't check out messed up intermediate versions. (Of course I'll also send a notice when the script/function has finished -- after or before that I'll have to change the files mentioned at the end of the script.) Unless the script or my comments below make us think that we should organise the functions in some other way, that is. In that I won't start on Monday. There are 281 functions... I've used Oliver's suggestion for exchanging the names of the Core and Base directories and Bart's suggestion to use the singular. I'm still not too happy with the name `Type', but since we constantly say things like `type of matches' in the docs, this name is probably not that bad. Some directories (esp. Unix/Command) could make one think about splitting them up even further (Unix/Net, Unix/Graphic, but also Zsh/Function and probably others). And, again (or still), some functions could sensibly be put into different directories. For example, I've put things like _tex, _ps etc. into Unix/Type because they complete certain types of files. The rule of thumb is that those functions were put into Type that are usable as functions for completing types of , even if they aren't (yet) used in that way. The difference between Type and Utility, btw., is that Utility holds functions that don't generate matches themselves, they are only used to generate matches, telling them how to do that (i.e.: _arguments and the like). For some files we could also think about better names, maybe (_vars_eq comes to mind). Any better way to update the .distfiles[1]? Ok, that's it for now... Opinions? Suggestions? Bye Sven [1] I've seen that Peter had to update some .distfiles again lately. That was almost certainly my fault again. Sorry and thanks, Peter. move1() { local name dir1 dir2 name=${1:t} [[ $2 = */*/* && $2 != */*/*/* ]] && 2=${2}/${name} if [[ ! -f $1 ]]; then if [[ -f $2 ]]; then echo $1 already moved to $2 return else echo ERROR: $1 does not exist return fi fi echo moving $1 to $2 dir2=${2:h} dir1=${dir2:h} if [[ ! -d $dir1 ]]; then echo new directory $dir1 mkdir $dir1 echo " cvs add $dir1" cvs add $dir1 echo " cvs commit $dir1" cvs commit -m 'new completion directory' $dir1 fi if [[ ! -d $dir2 ]]; then echo new directory $dir2 mkdir $dir2 echo " cvs add $dir2" cvs add $dir2 echo " cvs commit $dir2" cvs commit -m 'new completion directory' $dir2 fi cp $1 $2 chmod 600 $2 rm $1 echo " cvs remove $1" cvs remove $1 echo " cvs commit $1" cvs commit -m "moved to $2" $1 echo " cvs add $2" cvs add $2 echo " cvs commit $2" cvs commit -m "moved from $1" $2 } # Overall structure: # # Completion # comp{init,install,...} # Base # Core basic functions # Completer completers # Utility utility functions (_arguments,...) # Widget bindable commands # Zsh # Type types of matches # Context special contexts # Builtin builtins # Unix # Type # Command # X/AIX/BSD/Debian/Redhat # Utility # Type # Command files=( Core/_all_labels Base/Core Core/_all_matches Base/Completer Core/_alternative Base/Utility Core/_approximate Base/Completer Core/_call Base/Core Core/_compalso Base/Core Core/_complete Base/Completer Core/_correct Base/Completer Core/_description Base/Core Core/_expand Base/Completer Core/_expand_alias Base/Completer Core/_file_descriptors Zsh/Type Core/_files Unix/Type Core/_funcall Base/Core Core/_history Base/Completer Core/_ignored Base/Completer Core/_list Base/Completer Core/_main_complete Base/Core Core/_match Base/Completer Core/_menu Base/Completer Core/_message Base/Core Core/_multi_parts Base/Utility Core/_next_label Base/Core Core/_normal Base/Core Core/_oldlist Base/Completer Core/_options Zsh/Type Core/_parameters Zsh/Type Core/_path_files Unix/Type Core/_prefix Base/Completer Core/_requested Base/Core Core/_sep_parts Base/Utility Core/_set_options Zsh/Type Core/_setup Base/Core Core/_tags Base/Core Core/_unset_options Zsh/Type Core/_wanted Base/Core Core/compaudit compaudit Core/compdump compdump Core/compinit compinit Core/compinstall compinstall Base/_arg_compile Base/Utility Base/_arguments Base/Utility Base/_brace_parameter Zsh/Context Base/_cache_invalid Base/Utility Base/_combination Base/Utility Base/_command_names Zsh/Type Base/_condition Zsh/Context Base/_default Zsh/Context Base/_describe Base/Utility Base/_equal Zsh/Context Base/_first Zsh/Context Base/_in_vared Zsh/Context Base/_jobs Zsh/Type Base/_math Zsh/Context Base/_parameter Zsh/Context Base/_precommand Zsh/Builtin Base/_redirect Zsh/Context Base/_regex_arguments Base/Utility Base/_retrieve_cache Base/Utility Base/_store_cache Base/Utility Base/_sub_commands Base/Utility Base/_subscript Zsh/Context Base/_tilde Zsh/Context Base/_value Zsh/Context Base/_values Base/Utility Commands/_bash_completions Base/Widget Commands/_complete_debug Base/Widget Commands/_complete_help Base/Widget Commands/_complete_tag Base/Widget Commands/_correct_filename Base/Widget Commands/_correct_word Base/Widget Commands/_expand_word Base/Widget Commands/_generic Base/Widget Commands/_history_complete_word Base/Widget Commands/_most_recent_file Base/Widget Commands/_next_tags Base/Widget Commands/_read_comp Base/Widget Builtins/_aliases Zsh/Type Builtins/_arrays Zsh/Type Builtins/_autoload Zsh/Builtin Builtins/_bg_jobs Zsh/Type Builtins/_bindkey Zsh/Builtin Builtins/_builtin Zsh/Builtin Builtins/_cd Zsh/Builtin Builtins/_command Zsh/Builtin Builtins/_compdef Zsh/Builtin # some of these are functions Builtins/_disable Zsh/Builtin Builtins/_echotc Zsh/Builtin Builtins/_emulate Zsh/Builtin Builtins/_enable Zsh/Builtin Builtins/_fc Zsh/Builtin Builtins/_fg_jobs Zsh/Type Builtins/_functions Zsh/Type Builtins/_hash Zsh/Builtin Builtins/_kill Zsh/Builtin Builtins/_limits Zsh/Type Builtins/_nothing Base/Utility Builtins/_pids Unix/Type Builtins/_popd Zsh/Builtin Builtins/_print Zsh/Builtin Builtins/_read Zsh/Builtin Builtins/_sched Zsh/Builtin Builtins/_set Zsh/Builtin Builtins/_setopt Zsh/Builtin Builtins/_signals Unix/Type Builtins/_source Zsh/Builtin Builtins/_stat Zsh/Builtin Builtins/_trap Zsh/Builtin Builtins/_unhash Zsh/Builtin Builtins/_unsetopt Zsh/Builtin Builtins/_vars Zsh/Type Builtins/_vars_eq Zsh/Builtin Builtins/_wait Zsh/Builtin Builtins/_which Zsh/Builtin Builtins/_zcompile Zsh/Builtin Builtins/_zftp Zsh/Builtin Builtins/_zle Zsh/Builtin Builtins/_zmodload Zsh/Builtin Builtins/_zpty Zsh/Builtin Builtins/_zstyle Zsh/Builtin User/_a2ps Unix/Command User/_apachectl Unix/Command User/_archie Unix/Command User/_arp Unix/Command User/_bison Unix/Command User/_bzip2 Unix/Command User/_chown Unix/Command User/_compress Unix/Command User/_configure Unix/Command User/_cvs Unix/Command User/_dd Unix/Command User/_dict Unix/Command User/_diff Unix/Command User/_diff_options Unix/Type User/_dir_list Unix/Type User/_dirs Unix/Type User/_domains Unix/Type User/_dvi Unix/Command User/_enscript Unix/Command User/_fakeroot Unix/Command User/_fetchmail Unix/Command User/_find Unix/Command User/_finger Unix/Command User/_flex Unix/Command User/_gcc Unix/Command User/_gdb Unix/Command User/_getconf Unix/Command User/_gprof Unix/Command User/_grep Unix/Command User/_groups Unix/Type User/_gs Unix/Command User/_gv Unix/Command User/_gzip Unix/Command User/_hosts Unix/Type User/_iconv Unix/Command User/_imagemagick Unix/Command User/_init_d Unix/Command User/_ispell Unix/Command User/_java Unix/Command User/_joe Unix/Command User/_killall Unix/Command User/_look Unix/Command User/_lp Unix/Command User/_ls Unix/Command User/_lynx Unix/Command User/_lzop Unix/Command User/_mailboxes Unix/Type User/_make Unix/Command User/_man Unix/Command User/_mere Unix/Command User/_mh Unix/Command User/_mount Unix/Command User/_mutt Unix/Command User/_my_accounts Unix/Type User/_mysql_utils Unix/Command User/_ncftp Unix/Command User/_nedit Unix/Command User/_netscape Unix/Command User/_newsgroups Unix/Type User/_nslookup Unix/Command User/_other_accounts Unix/Type User/_pack Unix/Command User/_patch Unix/Command User/_pbm Unix/Command User/_pdf Unix/Command User/_perl Unix/Command User/_perl_basepods Unix/Type User/_perl_builtin_funcs Unix/Type User/_perl_modules Unix/Type User/_perldoc Unix/Command User/_ports Unix/Type User/_prcs Unix/Command User/_printers Unix/Type User/_prompt Zsh/Builtin # hmm... Zsh/Function? User/_ps Unix/Type User/_pspdf Unix/Type User/_psutils Unix/Command User/_rcs Unix/Command User/_rlogin Unix/Command User/_sh Unix/Command User/_slrn Unix/Command User/_socket Unix/Command User/_ssh Unix/Command User/_strip Unix/Command User/_stty Unix/Command User/_su Unix/Command User/_sudo Unix/Command User/_tar Unix/Command User/_tar_archive Unix/Type User/_telnet Unix/Command User/_tex Unix/Type User/_texi Unix/Type User/_tiff Unix/Command User/_tilde_files Unix/Type User/_tin Unix/Command User/_urls Unix/Type User/_use_lo Base/Utility User/_user_at_host Unix/Type User/_users Unix/Type User/_users_on Unix/Type User/_w3m Unix/Command User/_webbrowser Unix/Command User/_wget Unix/Command User/_whereis Unix/Command User/_whois Unix/Command User/_xargs Unix/Command User/_yodl Unix/Command User/_yp Unix/Command User/_zcat Unix/Command User/_zdump Unix/Command User/_zip Unix/Command X/_x_arguments X/Utility X/_x_borderwidth X/Type X/_x_color X/Type X/_x_colormapid X/Type X/_x_cursor X/Type X/_x_display X/Type X/_x_extension X/Type X/_x_font X/Type X/_x_geometry X/Type X/_x_keysym X/Type X/_x_locale X/Type X/_x_modifier X/Type X/_x_name X/Type X/_x_resource X/Type X/_x_selection_timeout X/Type X/_x_title X/Type X/_x_window X/Type X/_xauth X/Command X/_xdvi X/Command X/_xfig X/Command X/_xmodmap X/Command X/_xrdb X/Command X/_xset X/Command X/_xt_arguments X/Utility X/_xt_session_id X/Type X/_xterm X/Command X/_xutils X/Command X/_xv X/Command X/_xwit X/Command AIX/_floppy AIX/Command AIX/_logical_volumes AIX/Type AIX/_lscfg AIX/Command AIX/_lsdev AIX/Command AIX/_lslv AIX/Command AIX/_lspv AIX/Command AIX/_lsvg AIX/Command AIX/_object_classes AIX/Type AIX/_physical_volumes AIX/Type AIX/_smit AIX/Command AIX/_volume_groups AIX/Type Bsd/_bsd_pkg BSD/Command Bsd/_cvsup BSD/Command Bsd/_kld BSD/Command Linux/_rpm Redhat/Command Debian/_apt Debian/Command Debian/_bug Debian/Command Debian/_deb_packages Debian/Type Debian/_dpkg Debian/Command Debian/_dpkg-source Debian/Command/_dpkg_source Debian/_dupload Debian/Command ) move() { local i while (( $# )); do move1 Completion/$1 Completion/$2 shift 2 done for i in Completion/*/*(/) print "DISTFILES_SRC='" > $i/.distfiles print .distfiles >> $i/.distfiles print -c $i/*(.) >> $i/.distfiles print "'" >> $i/.distfiles done # Change: # Completion/.distfiles # Completion/compaudit # Completion/compinstall # Doc/Zsh/compsys.yo # Doc/Zsh/contrib.yo # Doc/Zsh/zftpsys.yo # INSTALL # Src/Zle/complete.mdd # Test/ztst.zsh # The Guide } move $files -- Sven Wischnowsky wischnow@informatik.hu-berlin.de