aboutsummaryrefslogtreecommitdiffstats
path: root/doc/syntax
diff options
context:
space:
mode:
authorMattias Andrée <maandree@operamail.com>2015-04-04 12:50:22 +0200
committerMattias Andrée <maandree@operamail.com>2015-04-04 12:50:22 +0200
commitb3bd23dd0a5f287bbdfe3ed5b7423a8134417cc4 (patch)
tree0f2021202825d2b6a2fefacce25ae2c60cb5e823 /doc/syntax
parentescape text in description for zsh (diff)
downloadauto-auto-complete-e9aa5e286053ec798a5c355da4d07153a2b302f2.tar.gz
auto-auto-complete-e9aa5e286053ec798a5c355da4d07153a2b302f2.tar.bz2
auto-auto-complete-e9aa5e286053ec798a5c355da4d07153a2b302f2.tar.xz
add file descriptor redirection7
Signed-off-by: Mattias Andrée <maandree@operamail.com>
Diffstat (limited to '')
-rw-r--r--doc/syntax20
1 files changed, 19 insertions, 1 deletions
diff --git a/doc/syntax b/doc/syntax
index ca44109..df16bbb 100644
--- a/doc/syntax
+++ b/doc/syntax
@@ -56,10 +56,28 @@ verbatim ::= 'verbatim' _value [{_ value}]
calc ::= 'calc' (__ value | _ any_exec) [{_ value | _ any_exec}]
-any_exec ::= '(' _ exec_type (__ value | _ any_exec) [{_ value | _ any_exec}] _ ')'
+any_exec ::= '(' _ (exec_sequence | exec_redirect) _ ')'
+
+exec_sequence ::= exec_type (__ value | _ any_exec) [{_ value | _ any_exec}]
exec_type ::= "exec" | "calc" | "pipe" | "fullpipe" | "cat" | "and" | "or"
+exec_redirect ::= std_redirect | fd_redirect | std_redirect_fd | fd_redirect_fd
+
+std_redirect ::= input _ any_exec _ value
+
+fd_redirect ::= "fd" _ any_exec _ (number _value | fdnum _ value)
+
+std_redirect_fd ::= input "-fd" _ any_exec _ (number | fdnum)
+
+fd_redirect_fd ::= "fd" _ any_exec _ (number __ number | (number | fdnum) _ fdnum | fdnum _ number)
+
+input ::= "stdin" | "stdout" | "stderr"
+
+fdnum :: = "(" _ input _ ")"
+
+number ::= {"0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"}
+
name ::= {letter | escape | squote | dquote}
letter :: $any ^ ' ' ^ \t ^ \n ^ \r ^ \t ^ '\' ^ \' ^ \"