added site files
This commit is contained in:
parent
a6f70a6c78
commit
329148c253
253 changed files with 30486 additions and 0 deletions
65
EnlighterJS/Source/Language/Rust.js
Normal file
65
EnlighterJS/Source/Language/Rust.js
Normal file
|
@ -0,0 +1,65 @@
|
|||
/*
|
||||
---
|
||||
description: Rust Language https://doc.rust-lang.org
|
||||
|
||||
license: MIT-style
|
||||
|
||||
authors:
|
||||
- Andi Dittrich
|
||||
|
||||
requires:
|
||||
- Core/1.4.5
|
||||
|
||||
provides: [EnlighterJS.Language.rust]
|
||||
...
|
||||
*/
|
||||
EJS.Language.rust = new Class({
|
||||
|
||||
Extends: EJS.Language.generic,
|
||||
|
||||
setupLanguage: function() {
|
||||
this.keywords = {
|
||||
// keywords: https://doc.rust-lang.org/syntax/parse/token/keywords/enum.Keyword.html
|
||||
kw: {
|
||||
csv: "As,Break,Crate,Else,Enum,Extern,False,Fn,For,If,Impl,In,Let,Loop,Match,Mod,Move,Mut,Pub,Ref,Return,Static,SelfValue,SelfType,Struct,Super,True,Trait,Type,Unsafe,Use,Virtual,While,Continue,Box,Const,Where,Proc,Alignof,Become,Offsetof,Priv,Pure,Sizeof,Typeof,Unsized,Yield,Do,Abstract,Final,Override,Macro",
|
||||
alias: 'kw1',
|
||||
mod: 'gi'
|
||||
}
|
||||
};
|
||||
|
||||
this.patterns = {
|
||||
'slashComments': { pattern: this.common.slashComments, alias: 'co1'},
|
||||
'multiComments': { pattern: this.common.multiComments, alias: 'co1'},
|
||||
|
||||
'slashDocComments': { pattern: /(?:^|[^\\])\/\/[\/!].*$/gm, alias: 'co2'},
|
||||
'multiDocComments': { pattern: /\/\*[\*!][\s\S]*?\*\//gm, alias: 'co2'},
|
||||
|
||||
'chars': { pattern: /'.'/gm, alias: 'st0' },
|
||||
'rawStrings': { pattern: /r((#+)".*?"\2)/gm, alias: 'st1' },
|
||||
'strings': { pattern: /("(?:\\.|\\\s*\n|\\s*\r\n|[^\\"])*")/g, alias: 'st1' },
|
||||
|
||||
'directives': { pattern: /^\s*#.*$/gm, alias: 'sy0'},
|
||||
'brackets': { pattern: this.common.brackets, alias: 'br0' },
|
||||
|
||||
// https://doc.rust-lang.org/stable/reference.html#integer-literals
|
||||
'intLiteral': { pattern: /\b([0-9_]+|0o[0-9_]+|0x[A-F0-9_]+|0b[0-1_]+)(u8|i8|u16|i16|u32|i32|u64|i64|isize|usize)?\b/gim, alias: 'nu0' },
|
||||
|
||||
// https://doc.rust-lang.org/stable/reference.html#floating-point-literals
|
||||
'floatLiteral': { pattern: /\b([0-9_]+\.?[0-9_]+?(e\+[0-9_]+)?)(?:f32|f64)?\b/gim, alias: 'nu0' },
|
||||
|
||||
// method definitions
|
||||
'methodDefs': {pattern: /fn\s+([\w]+)\s*(<\w+\s*>)?\(/gm, alias: 'kw2'},
|
||||
|
||||
// method/function calls
|
||||
'funCalls': {pattern: /\b\.?([\w]+)\s*(\(|::)/gm, alias: 'kw3'},
|
||||
|
||||
// macro calls
|
||||
'macro': {pattern: /\b([\w]+)!/gm, alias: 'kw4'},
|
||||
|
||||
'symbols': {
|
||||
pattern: /\+|-|\*|\/|%|!|@|&|\||\^|<|<<|>>|>|=|,|\.|;|\?|:|self/g,
|
||||
alias: 'sy0'
|
||||
}
|
||||
};
|
||||
}
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue