diff --git a/shells/zsh/Makefile b/shells/zsh/Makefile index a852203dc83..186d8b09215 100644 --- a/shells/zsh/Makefile +++ b/shells/zsh/Makefile @@ -1,10 +1,10 @@ -# $OpenBSD: Makefile,v 1.51 2009/11/13 12:26:40 pea Exp $ +# $OpenBSD: Makefile,v 1.52 2009/12/16 15:03:28 pea Exp $ COMMENT= Z shell, Bourne shell-compatible V= 4.3.10 DISTNAME= zsh-$V -PKGNAME= ${DISTNAME}p0 +PKGNAME= ${DISTNAME}p1 CATEGORIES= shells MAINTAINER= Pierre-Emmanuel Andre diff --git a/shells/zsh/patches/patch-Completion_BSD_Command__pfctl b/shells/zsh/patches/patch-Completion_BSD_Command__pfctl new file mode 100644 index 00000000000..f12163e02a0 --- /dev/null +++ b/shells/zsh/patches/patch-Completion_BSD_Command__pfctl @@ -0,0 +1,100 @@ +$OpenBSD: patch-Completion_BSD_Command__pfctl,v 1.1 2009/12/16 15:03:28 pea Exp $ +--- Completion/BSD/Command/_pfctl.orig Thu Dec 10 17:36:31 2009 ++++ Completion/BSD/Command/_pfctl Thu Dec 10 17:36:44 2009 +@@ -0,0 +1,96 @@ ++#compdef pfctl ++ ++local pfctl_flush_modifiers pfctl_optimizer_level pfctl_show_modifiers pfctl_tables_command pfctl_debug_level ++ ++pfctl_flush_modifiers=( ++ 'all:Flush all' ++ 'info:Flush the filter information' ++ 'nat:Flush the NAT rules' ++ 'osfp:Flush the passive operating system fingerprints' ++ 'queue:Flush the queue rules' ++ 'rules:Flush the filter rules' ++ 'state:Flush the stable table' ++ 'Sources:Flush the source tracking table' ++ 'Tables:Flush the tables' ++) ++ ++pfctl_show_modifiers=( ++ 'nat:Show the currently loaded NAT rules' ++ 'queue:Show the currently loaded queue rules' ++ 'rules:Show the currently loaded filter rules' ++ 'Anchors:Show the currently loaded anchors directly attached to the main ruleset' ++ 'state:Show the contents of the state table' ++ 'Sources:Show the contents of the source tracking table' ++ 'info:Show filter information' ++ 'labels:Show per-rule statistics of filter rules with labels' ++ 'timeouts:Show the current global timeouts' ++ 'memory:Show the current pool memory hard limits' ++ 'Tables:Show the list of tables' ++ 'osfp:Show the list of operating system fingerprints' ++ 'Interfaces:Show the list of interfaces and interface drivers available to PF' ++ 'all:Show all except for the lists of interfaces and operating system fingerprints' ++) ++ ++pfctl_optimizer_level=( ++ 'none:Disable the ruleset optimizer' ++ 'basic:Enable basic ruleset optimizations' ++ 'profile:Enable basic ruleset optimizations with profiling' ++) ++pfctl_tables_command=( ++ 'kill:Kill a table' ++ 'flush:Flush all addresses of a table' ++ 'add:Add one or more addresses in a table' ++ 'delete:Delete one or more addresses from a table' ++ 'expire:Delete addresses which had their statistics cleared more than number seconds ago' ++ 'replace:Replace the addresses of the table' ++ 'show:Show the content (addresses) of a table' ++ 'test:Test if the given addresses match a table' ++ 'zero:Clear all the statistics of a table' ++ 'load:Load only the table definitions from pf.conf(5)' ++) ++pfctl_debug_level=( ++ "none:Don\'t generate debug messages" ++ 'urgent:Generate debug messages only for serious errors' ++ 'misc:Generate debug messages for various errors' ++ 'loud:Generate debug messages for common conditions' ++) ++_iface() { ++ local pfctl_iface ++ pfctl_iface=($(pfctl -s Interfaces)) ++ compadd $pfctl_iface ++} ++_tables() { ++ local pfctl_tables ++ pfctl_tables=($(pfctl -s Tables)) ++ compadd $pfctl_tables ++} ++# TODO: ++# Missing -a ++# ++_arguments -s \ ++ '-F[Flush the filter parameters specified by modifier]:modifier:(($pfctl_flush_modifiers))' \ ++ '-A[Load only the queue rules present in the rule file]' \ ++ '-D[Define macro to be set to value]:macro:' \ ++ '-d[Disable the packet filter]' \ ++ '-e[Enable the packet filter]' \ ++ '-f[Load the rules contained in a file]:configuration file:_files' \ ++ '-g[Include output helpful for debugging]' \ ++ '-h[Help]' \ ++ '-i[Restrict the operation to the given interface]:interface:_iface' \ ++ '-K[Kill all of the source tracking entries originating from the specified host or network]:host or network:_hosts' \ ++ '-k[Kill all of the state entries originating from the specified host or network]:host or network:_hosts' \ ++ '-m[Merge in explicitly given options]' \ ++ '-N[Load only the NAT rules present in the rule file]' \ ++ '-n[Do not actually load rules, just parse them]' \ ++ '-O[Load only the options present in the rule file]' \ ++ '-o[Control the ruleset optimizer]:level:(($pfctl_optimizer_level))' \ ++ '-p[Use the device file device instead of the default /dev/pf]:device:_files' \ ++ '-q[Only print errors and warnings]' \ ++ '-R[Load only the filter rules present in the rule file]' \ ++ '-r[Perform reverse DNS lookups on states when displaying them]' \ ++ '-s[Show the filter parameters specified by modifier]:modifier:(($pfctl_show_modifiers ))' \ ++ '-T[Specify the command to apply to the table]:command:(($pfctl_tables_command))' \ ++ '-t[Specify the name of the table]:table:_tables' \ ++ '-v[Produce more verbose output]' \ ++ '-x[Set the debug level]:debug level:(($pfctl_debug_level))' \ ++ '-z[Clear per-rule statistics]' diff --git a/shells/zsh/patches/patch-Completion_Unix_Command__tmux b/shells/zsh/patches/patch-Completion_Unix_Command__tmux index 126121811cd..32bb332642c 100644 --- a/shells/zsh/patches/patch-Completion_Unix_Command__tmux +++ b/shells/zsh/patches/patch-Completion_Unix_Command__tmux @@ -1,7 +1,7 @@ -$OpenBSD: patch-Completion_Unix_Command__tmux,v 1.1 2009/11/13 12:26:40 pea Exp $ ---- Completion/Unix/Command/_tmux.orig Fri Nov 13 10:56:08 2009 -+++ Completion/Unix/Command/_tmux Fri Nov 13 10:57:05 2009 -@@ -0,0 +1,1461 @@ +$OpenBSD: patch-Completion_Unix_Command__tmux,v 1.2 2009/12/16 15:03:28 pea Exp $ +--- Completion/Unix/Command/_tmux.orig Thu Dec 10 17:25:18 2009 ++++ Completion/Unix/Command/_tmux Thu Dec 10 17:27:19 2009 +@@ -0,0 +1,1491 @@ +#compdef tmux + +# tmux completion for zsh . @@ -61,6 +61,7 @@ $OpenBSD: patch-Completion_Unix_Command__tmux,v 1.1 2009/11/13 12:26:40 pea Exp + new new-session + refresh refresh-client + rename rename-session ++ showmsgs show-messages + source source-file + start start-server + suspendc suspend-client @@ -68,6 +69,7 @@ $OpenBSD: patch-Completion_Unix_Command__tmux,v 1.1 2009/11/13 12:26:40 pea Exp + + # windows and panes + breakp break-pane ++ capturep capture-pane + displayp display-panes + downp down-pane + findw find-window @@ -109,7 +111,8 @@ $OpenBSD: patch-Completion_Unix_Command__tmux,v 1.1 2009/11/13 12:26:40 pea Exp + showw show-window-options + + # environment -+ #no aliases so far in this category ++ setenv set-environment ++ showenv show-environment + + # status line + confirm confirm-before @@ -193,6 +196,16 @@ $OpenBSD: patch-Completion_Unix_Command__tmux,v 1.1 2009/11/13 12:26:40 pea Exp + _arguments ${args} +} + ++function _tmux-capture-pane() { ++ [[ -n ${tmux_describe} ]] && print "Capture the contents of a pane to a buffer" && return ++ local -a args ++ args=( ++ '-b[Choose target buffer]:target buffer:__tmux-buffers' ++ '-t[Choose source pane]:source pane:__tmux-panes' ++ ) ++ _arguments ${args} ++} ++ +function _tmux-choose-client() { + [[ -n ${tmux_describe} ]] && print "Put a window into client choice mode" && return + __tmux-choose-stuff @@ -338,6 +351,7 @@ $OpenBSD: patch-Completion_Unix_Command__tmux,v 1.1 2009/11/13 12:26:40 pea Exp + [[ -n ${tmux_describe} ]] && print "Display a message in the status line" && return + local -a args + args=( ++ '-p[Print message to stdout]' + '-t[Choose a target client]:clients:__tmux-clients' + '*:: :->msg' + ) @@ -838,27 +852,19 @@ $OpenBSD: patch-Completion_Unix_Command__tmux,v 1.1 2009/11/13 12:26:40 pea Exp + +function _tmux-set-option() { + [[ -n ${tmux_describe} ]] && print "Set a session option" && return ++ local mode + local -a args + args=( + '-a[Append to string options]' + '-g[Set a global session option]' + '-u[Unset a non-global option]' ++ '-w[Change window (not session) options]' + '-t[Choose a target session]:target session:__tmux-sessions' + '*:: :->name_or_value' + ) ++ __tmux-got-option-already -w && mode=window || mode=session + _arguments -C ${args} -+ -+ case ${state} in -+ name_or_value) -+ if (( CURRENT == 1 )); then -+ __tmux-options -+ elif (( CURRENT == 2 )); then -+ __tmux-option-guard 'session' ${words[1]} -+ else -+ __tmux-nothing-else -+ fi -+ ;; -+ esac ++ __tmux-options-complete ${mode} ${state} +} + +function _tmux-set-window-option() { @@ -872,18 +878,7 @@ $OpenBSD: patch-Completion_Unix_Command__tmux,v 1.1 2009/11/13 12:26:40 pea Exp + '*:: :->name_or_value' + ) + _arguments -C ${args} -+ -+ case ${state} in -+ name_or_value) -+ if (( CURRENT == 1 )); then -+ __tmux-window-options -+ elif (( CURRENT == 2 )); then -+ __tmux-option-guard 'window' ${words[1]} -+ else -+ __tmux-nothing-else -+ fi -+ ;; -+ esac ++ __tmux-options-complete window ${state} +} + +function _tmux-show-buffer() { @@ -927,6 +922,12 @@ $OpenBSD: patch-Completion_Unix_Command__tmux,v 1.1 2009/11/13 12:26:40 pea Exp + _arguments ${args} +} + ++function _tmux-show-messages() { ++ [[ -n ${tmux_describe} ]] && print "Show client"\'"s message log" && return ++ args=('-t[Choose target client]:client:__tmux-clients') ++ _arguments ${args} ++} ++ +function _tmux-show-options() { + [[ -n ${tmux_describe} ]] && print "Show session options" && return + local -a args @@ -1006,8 +1007,8 @@ $OpenBSD: patch-Completion_Unix_Command__tmux,v 1.1 2009/11/13 12:26:40 pea Exp + [[ -n ${tmux_describe} ]] && print "Switch the client to another session" && return + local -a args + args=( -+ '-c[Choose a target client]:client:__tmux-key-clients' -+ '-t[Choose a target window]:window:__tmux-key-windows' ++ '-c[Choose a target client]:client:__tmux-clients' ++ '-t[Choose a target window]:window:__tmux-windows' + ) + _arguments ${args} +} @@ -1128,6 +1129,11 @@ $OpenBSD: patch-Completion_Unix_Command__tmux,v 1.1 2009/11/13 12:26:40 pea Exp + done +} + ++function __tmux-got-option-already() { ++ [[ -n ${(M)words:#$1} ]] && return 0 ++ return 1 ++} ++ +function __tmux-key-tables() { + local expl + local -a tables @@ -1182,6 +1188,7 @@ $OpenBSD: patch-Completion_Unix_Command__tmux,v 1.1 2009/11/13 12:26:40 pea Exp + 'message-attr:__tmux-attributes' + 'message-bg:__tmux-colours' + 'message-fg:__tmux-colours' ++ 'message-limit:'${int_guard} + 'mouse-select-pane:DESC:on off' + 'prefix:MSG:comma-seperated key list' + 'repeat-time:'${int_guard} @@ -1237,7 +1244,9 @@ $OpenBSD: patch-Completion_Unix_Command__tmux,v 1.1 2009/11/13 12:26:40 pea Exp + 'window-status-current-attr:__tmux-attributes' + 'window-status-current-bg:__tmux-colours' + 'window-status-current-fg:__tmux-colours' ++ 'window-status-current-format:MSG:status format string' + 'window-status-fg:__tmux-colours' ++ 'window-status-format:MSG:status format string' + 'xterm-keys:DESC:on off' + ) + fi @@ -1284,6 +1293,7 @@ $OpenBSD: patch-Completion_Unix_Command__tmux,v 1.1 2009/11/13 12:26:40 pea Exp + 'message-attr:Set status line message attributes' + 'message-bg:Set status line message background colour' + 'message-fg:Set status line message foreground colour' ++ 'message-limit:Set size of message log per client' + 'mouse-select-pane:Make mouse clicks select window panes' + 'prefix:Comma seperated line of keys accepted as prefix key' + 'repeat-time:Time for multiple commands without prefix-key presses' @@ -1317,6 +1327,24 @@ $OpenBSD: patch-Completion_Unix_Command__tmux,v 1.1 2009/11/13 12:26:40 pea Exp + _describe -t tmux-options 'tmux option' tmux_options +} + ++function __tmux-options-complete() { ++ local mode="$1" state="$2" ++ ++ case ${state} in ++ name_or_value) ++ if (( CURRENT == 1 )) && [[ ${mode} == 'session' ]]; then ++ __tmux-options ++ elif (( CURRENT == 1 )) && [[ ${mode} == 'window' ]]; then ++ __tmux-window-options ++ elif (( CURRENT == 2 )); then ++ __tmux-option-guard ${mode} ${words[1]} ++ else ++ __tmux-nothing-else ++ fi ++ ;; ++ esac ++} ++ +function __tmux-panes() { + local expl line + local -i num @@ -1380,7 +1408,9 @@ $OpenBSD: patch-Completion_Unix_Command__tmux,v 1.1 2009/11/13 12:26:40 pea Exp + 'window-status-current-attr:Set status line attributes for active window' + 'window-status-current-bg:Set status line background for active window' + 'window-status-current-fg:Set status line foreground for active window' ++ 'window-status-current-format:Set status line format for active window' + 'window-status-fg:Set status line foreground for a window' ++ 'window-status-format:Set status line format for all but the active window' + 'xterm-keys:Generate xterm-style function key sequences' + ) + _describe -t tmux-window-options 'tmux window option' tmux_window_options diff --git a/shells/zsh/pkg/PLIST b/shells/zsh/pkg/PLIST index f3486f9b775..d7daf5040bd 100644 --- a/shells/zsh/pkg/PLIST +++ b/shells/zsh/pkg/PLIST @@ -1,4 +1,4 @@ -@comment $OpenBSD: PLIST,v 1.28 2009/11/13 12:26:40 pea Exp $ +@comment $OpenBSD: PLIST,v 1.29 2009/12/16 15:03:28 pea Exp $ @pkgpath shells/zsh,-main @shell bin/zsh %%SHARED%% @@ -393,6 +393,8 @@ share/zsh/${V}/functions/_perl share/zsh/${V}/functions/_perl_basepods share/zsh/${V}/functions/_perl_modules share/zsh/${V}/functions/_perldoc +share/zsh/${V}/functions/_pfctl +@comment share/zsh/${V}/functions/_pfctl.orig share/zsh/${V}/functions/_pfexec share/zsh/${V}/functions/_php share/zsh/${V}/functions/_physical_volumes