aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorAndrew Kelley <superjoe30@gmail.com>2017-02-02 17:09:27 -0500
committerAndrew Kelley <superjoe30@gmail.com>2017-02-02 17:09:27 -0500
commitc0b37e8514a26f56e3596f86b01771b1ae2bf299 (patch)
treeb24c7fd04b2e8582d4e79455455e740ef58ca864 /doc
parent8b1c6d8b76ad1861f963fc7a2a079af5d8729a70 (diff)
downloadzig-c0b37e8514a26f56e3596f86b01771b1ae2bf299.tar.gz
zig-c0b37e8514a26f56e3596f86b01771b1ae2bf299.zip
add try expression
See #83
Diffstat (limited to 'doc')
-rw-r--r--doc/langref.md4
-rw-r--r--doc/vim/syntax/zig.vim2
2 files changed, 4 insertions, 2 deletions
diff --git a/doc/langref.md b/doc/langref.md
index 5851232504..78904d8325 100644
--- a/doc/langref.md
+++ b/doc/langref.md
@@ -69,7 +69,7 @@ AssignmentExpression = UnwrapExpression AssignmentOperator UnwrapExpression | Un
AssignmentOperator = "=" | "*=" | "/=" | "%=" | "+=" | "-=" | "<<=" | ">>=" | "&=" | "^=" | "|=" | "&&=" | "||=" | "*%=" | "+%=" | "-%=" | "<<%="
-BlockExpression = IfExpression | Block | WhileExpression | ForExpression | SwitchExpression | CompTimeExpression
+BlockExpression = IfExpression | Block | WhileExpression | ForExpression | SwitchExpression | CompTimeExpression | TryExpression
CompTimeExpression = option("comptime") Expression
@@ -93,6 +93,8 @@ IfExpression = IfVarExpression | IfBoolExpression
IfBoolExpression = "if" "(" Expression ")" Expression option(Else)
+TryExpression = "try" "(" ("const" | "var") option("*") Symbol "=" Expression ")" Expression option("else" option("|" Symbol "|") Expression)
+
IfVarExpression = "if" "(" ("const" | "var") option("*") Symbol option(":" TypeExpr) "?=" Expression ")" Expression Option(Else)
Else = "else" Expression
diff --git a/doc/vim/syntax/zig.vim b/doc/vim/syntax/zig.vim
index 8071b465ba..ccae0a6f14 100644
--- a/doc/vim/syntax/zig.vim
+++ b/doc/vim/syntax/zig.vim
@@ -11,7 +11,7 @@ let b:current_syntax = "zig"
syn keyword zigStorage const var extern export pub noalias inline comptime nakedcc coldcc
syn keyword zigStructure struct enum union
syn keyword zigStatement goto break return continue asm defer
-syn keyword zigConditional if else switch
+syn keyword zigConditional if else switch try
syn keyword zigRepeat while for
syn keyword zigConstant null undefined zeroes this