From c1211c459571a285803983da4dc1ae956a409ebb Mon Sep 17 00:00:00 2001 From: Lzu Tao Date: Sat, 18 May 2019 19:57:41 +0700 Subject: [PATCH 1/3] Add syntax highlighting for `async/await` --- RustEnhanced.sublime-syntax | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RustEnhanced.sublime-syntax b/RustEnhanced.sublime-syntax index e81d4ad1..865c6ea3 100644 --- a/RustEnhanced.sublime-syntax +++ b/RustEnhanced.sublime-syntax @@ -1393,7 +1393,7 @@ contexts: - match: \b(crate|extern|use|where)\b scope: keyword.other.rust - - match: \b(else|for|if|loop|match|while|yield)\b + - match: \b(async|await|else|for|if|loop|match|while|yield)\b scope: keyword.control.rust - match: \b(break|continue)\b From a9f06f9d52cc9aeeb9e16f5acec8fd7db9bed97e Mon Sep 17 00:00:00 2001 From: Lzu Tao Date: Sat, 18 May 2019 22:16:26 +0700 Subject: [PATCH 2/3] Add syntax highlighting for try keyword --- RustEnhanced.sublime-syntax | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RustEnhanced.sublime-syntax b/RustEnhanced.sublime-syntax index 865c6ea3..0bbb348f 100644 --- a/RustEnhanced.sublime-syntax +++ b/RustEnhanced.sublime-syntax @@ -1393,7 +1393,7 @@ contexts: - match: \b(crate|extern|use|where)\b scope: keyword.other.rust - - match: \b(async|await|else|for|if|loop|match|while|yield)\b + - match: \b(async|await|else|for|if|loop|match|try|while|yield)\b scope: keyword.control.rust - match: \b(break|continue)\b From 48db5f8e45df3d1a1a713591f09a2ab0995683e7 Mon Sep 17 00:00:00 2001 From: Lzu Tao Date: Sun, 19 May 2019 11:46:59 +0700 Subject: [PATCH 3/3] Add minor syntax tests for async/await/try keyword --- tests/syntax-rust/syntax_test_misc.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/tests/syntax-rust/syntax_test_misc.rs b/tests/syntax-rust/syntax_test_misc.rs index 31588e59..1ba473f0 100644 --- a/tests/syntax-rust/syntax_test_misc.rs +++ b/tests/syntax-rust/syntax_test_misc.rs @@ -46,3 +46,13 @@ let override = 1; // ^^^^^^^^ invalid.illegal.rust let macro = 1; // ^^^^^ invalid.illegal.rust + +// async/await +let x = async {} +// ^^^^^ keyword.control.rust +let y = future.await; +// ^^^^^ keyword.control.rust + +// try keyword in 2018 edition +let x = try {} +// ^^^ keyword.control.rust