mirror of
				git://git.code.sf.net/p/zsh/code
				synced 2025-10-31 06:00:54 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			92 lines
		
	
	
	
		
			5.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
	
		
			5.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| #compdef unison
 | |
| 
 | |
| local context state line
 | |
| typeset -A opt_args
 | |
| 
 | |
| _arguments \
 | |
|     '-auto[automatically accept default (nonconflicting) actions]' \
 | |
|     '-batch[batch mode\: ask no questions at all]' \
 | |
|     '-doc[show documentation]:topics:(about people lists status copying ack install tutorial basics failures running ssh news all topics)' \
 | |
|     '-follow[add a pattern to the follow list]:pattern:' \
 | |
|     '-force[force changes from this replica to the other]:replica:' \
 | |
|     '-group[synchronize group attributes]' \
 | |
|     '-ignore[add a pattern to the ignore list]:pattern:' \
 | |
|     '-ignorenot[add a pattern to the ignorenot list]:pattern:' \
 | |
|     '-owner[synchronize owner]' \
 | |
|     '-path[path to synchronize]:path:_files' \
 | |
|     '-perms[part of the permissions which is synchronized]:perms:' \
 | |
|     '-prefer[choose this replicas version for conflicting changes]:replica:' \
 | |
|     '-root[root of a replica (should be used exactly twice)]:path:_files -/' \
 | |
|     '-silent[print nothing except error messages]' \
 | |
|     '-terse[suppress status messages]' \
 | |
|     '-testserver[exit immediately after the connection to the server]' \
 | |
|     '-times[synchronize modification times]' \
 | |
|     '-version[print version and exit]' \
 | |
|     '-addprefsto[add new prefs to]:file:_files' \
 | |
|     '-addversionno[add version number to name of unison on server]' \
 | |
|     '-backup[add a pattern to the backup list]:pattern:' \
 | |
|     '-backupcurr[add a pattern to the backupcurr list]:pattern:' \
 | |
|     '-backupcurrnot[add a pattern to the backupcurrnot list]:pattern:' \
 | |
|     '-backupdir[directory for storing centralized backups]:directory:_files -/' \
 | |
|     '-backuploc[where backups are stored]:backup location:(local central)' \
 | |
|     '-backupnot[add a pattern to the backupnot list]:pattern:' \
 | |
|     '-backupprefix[prefix for the names of backup files]:prefix:' \
 | |
|     '-backups[keep backup copies of all files]' \
 | |
|     '-backupsuffix[a suffix to be added to names of backup files]:suffix:' \
 | |
|     '-confirmbigdel[ask about whole-replica (or path) deletes (default true)]' \
 | |
|     '-confirmmerge[ask for confirmation before commiting results of a merge]' \
 | |
|     '-contactquietly[suppress the "contacting server" message during startup]' \
 | |
|     '-copyprog[external program for copying large files]:program:_files -g "*(-x)"' \
 | |
|     '-copyprogrest[variant of copyprog for resuming partial transfers]:program:_files -g "*(-x)"' \
 | |
|     '-copyquoterem[add quotes to remote file name for copyprog]:quote style:(true false default)]' \
 | |
|     '-copythreshold[use copyprog on files bigger than this]:size (kb):' \
 | |
|     '-debug:debug module:(all verbose)' \
 | |
|     '-diff[command for showing differences between files]:program:_files -g "*(-x)"' \
 | |
|     '-dontchmod[when set, never use the chmod system call]' \
 | |
|     '-dumbtty[do not change terminal settings in text UI]' \
 | |
|     '-fastcheck:fast update detection:(true false default)' \
 | |
|     '-forcepartial[add a pattern to the forcepartial list]:pattern:' \
 | |
|     '-height[height of main window in graphical interface]:number (lines):' \
 | |
|     '-host[bind the socket to this host name in server socket mode]:host:_hosts' \
 | |
|     '-ignorecase[identify upper/lowercase filenames]:ignorecase:(true false default)' \
 | |
|     '-ignorelocks[ignore locks left over from previous run (dangerous!)]' \
 | |
|     '-immutable[add a pattern to the immutable list]:pattern:' \
 | |
|     '-immutablenot[add a pattern to the immutablenot list]:pattern:' \
 | |
|     '-key[define a keyboard shortcut for this profile (in some UIs)]:shortcut:' \
 | |
|     '-killserver[kill server when done (even when using sockets)]' \
 | |
|     '-label[provide a descriptive string label for this profile]:label:' \
 | |
|     '-log[record actions in logfile (default true)]' \
 | |
|     '-logfile:logfile name:_files' \
 | |
|     '-maxbackups[number of backed up versions of a file]:number:' \
 | |
|     '-maxthreads[maximum number of simultaneous file transfers]:number:' \
 | |
|     '-merge[add a pattern to the merge list]:pattern:' \
 | |
|     '-mountpoint[abort if this path does not exist]:mountpoint:_files -/' \
 | |
|     '-numericids[dont map uid/gid values by user/group names]' \
 | |
|     '-preferpartial[add a pattern to the preferpartial list]:pattern:' \
 | |
|     '-pretendwin[use creation times for detecting updates]' \
 | |
|     '-repeat[synchronize repeatedly (text interface only)]:repeat:' \
 | |
|     '-retry[re-try failed synchronizations N times (text ui only)]:retry times:' \
 | |
|     '-rootalias[register alias for canonical root names]:root alias:' \
 | |
|     '-rsrc:synchronize resource forks:(true false default)' \
 | |
|     '-rsync[activate the rsync transfer mode (default true)]' \
 | |
|     '-selftest[run internal tests and exit]' \
 | |
|     '-servercmd[name of unison executable on remote server]:program:_files -g "*(-x)"' \
 | |
|     '-showarchive[show "true names" (for rootalias) of roots and archive]' \
 | |
|     '-socket[act as a server on a socket]:socket:_files -g "*(-=)"' \
 | |
|     '-sortbysize[list changed files by size, not name]' \
 | |
|     '-sortfirst[add a pattern to the sortfirst list]:pattern:' \
 | |
|     '-sortlast[add a pattern to the sortlast list]:pattern:' \
 | |
|     '-sortnewfirst[list new before changed files]' \
 | |
|     '-sshargs[other arguments (if any) for remote shell command]:ssh args:' \
 | |
|     '-sshcmd[path to the ssh executable]:program:_files -g "*(-x)"' \
 | |
|     '-ui:user interface:(text graphic)' \
 | |
|     '-xferbycopying[optimize transfers using local copies (default true)]' \
 | |
|     '*:profile:->profile'
 | |
| 
 | |
| if [[ $state == profile ]]; then
 | |
|     local -a profiles
 | |
| 
 | |
|     profiles=( ~/.unison/*.prf(N) )
 | |
|     (( $#profiles )) && \
 | |
| 	compadd "$@" - ${${profiles#~/.unison/}%.prf}
 | |
| fi
 |