help-source-highlight
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-source-highlight] [PATCH] Add Rust support


From: Tom Tromey
Subject: [Help-source-highlight] [PATCH] Add Rust support
Date: Sun, 14 Oct 2018 03:39:37 -0000

This adds a rust.lang and changes lang.map so that .rs is recognized
as Rust source.
---
 ChangeLog     |  5 +++++
 src/lang.map  |  1 +
 src/rust.lang | 34 ++++++++++++++++++++++++++++++++++
 3 files changed, 40 insertions(+)
 create mode 100644 src/rust.lang

diff --git a/ChangeLog b/ChangeLog
index 0b45fa8..5188f53 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-10-13  Tom Tromey  <address@hidden>
+
+       * src/lang.map: Add .rs.
+       * src/rust.lang: New file.
+
 2012-11-09  bettini  <address@hidden>
 
        * src/lang.map: .f mapped to fotran
diff --git a/src/lang.map b/src/lang.map
index e84ded8..6a2ca0c 100644
--- a/src/lang.map
+++ b/src/lang.map
@@ -169,3 +169,4 @@ ly = lilypond.lang
 groovy = groovy.lang
 json = json.lang
 feature = feature.lang
+rs = rust.lang
diff --git a/src/rust.lang b/src/rust.lang
new file mode 100644
index 0000000..bc74eb1
--- /dev/null
+++ b/src/rust.lang
@@ -0,0 +1,34 @@
+# Rust
+
+environment comment start "//" begin
+  include "url.lang"
+  include "todo.lang"
+end
+
+# Strings.
+string delim `(?<!r)b?\"` "\"" escape "\\"
+string delim `b?r(#*)\"` "\"" + @{1} multiline
+
+vardef common_escape = `(?:[\\nrt0']|x[a-fA-F0-9]{2})`
+vardef unicode_escape = `u\{[a-fA-F0-9]{6}\}`
+
+string = `b?'(?:[^\\']|\\(?:` + $common_escape + `|` + $unicode_escape + `))'`
+
+# Not exactly Rust syntax.
+include "number.lang"
+
+# Reserved keywords aren't listed.
+keyword = "as|box|break|const|continue|crate|else|enum|extern",
+  "false|fn|for|if|impl|in|let|loop",
+  "match|mod|move|mut|pub|ref|return",
+  "self|static|struct|super|trait|true|type",
+  "union|unsafe|use|where|while"
+
+type = "i8|u8|i16|u16|i32|u32|i64|u64|i128|u128|isize|usize",
+  "bool|char|Self|f32|f64|&str"
+
+include "symbols.lang"
+
+cbracket = "{|}"
+
+include "function.lang"
-- 
2.17.1




reply via email to

[Prev in Thread] Current Thread [Next in Thread]