forked from dbp/sublime-rust
-
Notifications
You must be signed in to change notification settings - Fork 105
/
Copy pathsyntax_test_raw.rs
106 lines (91 loc) · 3.24 KB
/
syntax_test_raw.rs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
// SYNTAX TEST "Packages/Rust Enhanced/RustEnhanced.sublime-syntax"
// Raw identifiers in various positions.
use r#foo::bar as r#alias_foo;
// ^^^^^^^ meta.path
// ^^^^^^^^^^^ source -keyword
fn main() {
#[r#attr]
// ^^^^^^^^^ meta.annotation -keyword
r#foo::r#bar();
// ^^^^^^^ meta.path -keyword
// ^^^^^ -keyword
let r#local = r#Struct { r#struct: () };
// ^^^^^^^^ -keyword
// ^^^^^^^^ storage.type.source -keyword
// ^^^^^^^^ -keyword
let r#async = r#foo(r#local);
// ^^^^^^^^ -keyword
// ^^^^^ -keyword
// ^^^^^^^ -keyword
r#macro!();
// ^^^^^^^^ support.macro -keyword -invalid
somecall(r#foo);
// ^^^^^ meta.function meta.block meta.group
if let r#sub_pat @ Foo(_) = r#Foo(3) {}
// ^^^^^^^^^^ -keyword
// ^^^^^ storage.type.source
match r#async {
// ^^^^^^^^ -keyword
r#Foo | r#Bar => r#foo(),
// ^^^^^ storage.type.source -keyword
// ^^^^^ storage.type.source -keyword
// ^^^^^ -keyword
}
}
fn r#bar<'a, r#T>(r#x: &'a r#T) {}
// ^^^^^ meta.function entity.name.function -keyword
// ^^^ meta.generic -keyword
// ^^^ meta.function meta.function.parameters variable.parameter -keyword
// ^^^ meta.function meta.function.parameters -keyword
struct Generic<r#T>(T);
// ^^^ meta.struct meta.generic meta.generic -keyword
mod r#foo {
// ^^^^^ meta.module entity.name.module -keyword
pub fn r#bar() {}
// ^^^^^ meta.module meta.block meta.function entity.name.function -keyword
}
enum r#Foo {
// ^^^^^ meta.enum meta.enum entity.name.enum
r#Bar {},
// ^^^^^^ meta.enum -keyword
}
struct r#Struct {
// ^^^^^^^^ meta.struct entity.name.struct -keyword
r#field: r#FieldType,
// ^^^^^^^ meta.struct meta.block variable.other.member -keyword
// ^^^^^^^^^^^^^ meta.struct meta.block -keyword
}
trait r#Trait {
// ^^^^^^^ meta.trait entity.name.trait -keyword
type r#Type;
// ^^^^^^ meta.trait meta.block entity.name.type -keyword
}
impl r#Trait for r#Impl {
// ^^^^^^^^ meta.impl -keyword
// ^^^^^^ meta.impl entity.name.impl -keyword
type r#Type = r#u32;
// ^^^^^^ meta.impl meta.block entity.name.type
// ^^^^^ meta.impl meta.block -keyword -storage
fn r#xxx(r#fjio: r#u32) {}
// ^^^^^ meta.impl meta.block meta.function entity.name.function -keyword
// ^^^^^^ meta.impl meta.block meta.function meta.function.parameters variable.parameter -keyword
// ^^^^^ meta.impl meta.block meta.function meta.function.parameters -keyword -storage
}
extern "C" {
type r#ccc;
// ^^^^^ meta.block entity.name.type -keyword
static r#static_val: u32;
// ^^^^^^^^^^^^ meta.block -keyword
}
macro_rules! r#macro {
// ^^^^^^^ meta.macro entity.name.macro -keyword -invalid
() => {};
}
macro_rules! foo {
($x:expr) => {
let r#catch = $x + 1;
// ^^^^^^^^ meta.macro meta.macro.transcribers -keyword
r#println!("{}", r#catch);
// ^^^^^^^ meta.macro meta.macro.transcribers meta.group -keyword
};
}