Class: Rouge::Lexers::Rust

Inherits:
RegexLexer show all
Defined in:
lib/rouge/lexers/rust.rb

Constant Summary

Constants inherited from RegexLexer

RegexLexer::MAX_NULL_SCANS

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from RegexLexer

#delegate, get_state, #get_state, #group, #in_state?, #pop!, #push, #reset!, #reset_stack, #run_callback, #run_rule, #stack, start, start_procs, #state, state, #state?, states, #step, #stream_tokens, #token

Methods inherited from Rouge::Lexer

aliases, all, assert_utf8!, #debug, default_options, demo, demo_file, desc, filenames, find, find_fancy, guess, guess_by_filename, guess_by_mimetype, guess_by_source, guesses, #initialize, lex, #lex, mimetypes, #option, #options, #reset!, #stream_tokens, tag, #tag

Constructor Details

This class inherits a constructor from Rouge::Lexer

Class Method Details

.analyze_text(text) ⇒ Object



11
12
13
# File 'lib/rouge/lexers/rust.rb', line 11

def self.analyze_text(text)
  return 1 if text.shebang? 'rustc'
end

.builtinsObject



23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/rouge/lexers/rust.rb', line 23

def self.builtins
  @builtins ||= Set.new %w(
    Add BitAnd BitOr BitXor bool c_char c_double c_float char
    c_int clock_t c_long c_longlong Cons Const Copy c_schar c_short
    c_uchar c_uint c_ulong c_ulonglong c_ushort c_void dev_t DIR
    dirent Div Either Eq Err f32 f64 Failure FILE float fpos_t
    i16 i32 i64 i8 Index ino_t int intptr_t Left mode_t Modulo Mul
    Neg Nil None Num off_t Ok Option Ord Owned pid_t Ptr ptrdiff_t
    Right Send Shl Shr size_t Some ssize_t str Sub Success time_t
    u16 u32 u64 u8 uint uintptr_t
  )
end

.keywordsObject



15
16
17
18
19
20
21
# File 'lib/rouge/lexers/rust.rb', line 15

def self.keywords
  @keywords ||= %w(
    as assert break const copy do drop else enum extern fail false
    fn for if impl let log loop match mod move mut priv pub pure
    ref return self static struct true trait type unsafe use while
  )
end

Instance Method Details

#macro_closed?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/rouge/lexers/rust.rb', line 36

def macro_closed?
  @macro_delims.values.all?(&:zero?)
end