Class: Rouge::Lexers::Nim

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

Constant Summary collapse

KEYWORDS =
%w(
  addr as asm atomic bind block break case cast const continue
  converter defer discard distinct do elif else end enum except export
  func finally for from generic if import include interface iterator let
  macro method mixin nil object of out proc ptr raise ref return static
  template try tuple type using var when while with without yield
)
OPWORDS =
%w(
  and or not xor shl shr div mod in notin is isnot
)
PSEUDOKEYWORDS =
%w(
  nil true false
)
TYPES =
%w(
 int int8 int16 int32 int64 float float32 float64 bool char range array
 seq set string
)
NAMESPACE =
%w(
  from import include
)

Constants inherited from RegexLexer

RegexLexer::MAX_NULL_SCANS

Constants included from Token::Tokens

Token::Tokens::Num, Token::Tokens::Str

Class Method Summary collapse

Methods inherited from RegexLexer

append, #delegate, get_state, #get_state, #goto, #group, #groups, #in_state?, #pop!, prepend, #push, #recurse, replace_state, #reset!, #reset_stack, #stack, start, start_procs, #state, state, #state?, state_definitions, states, #step, #stream_tokens, #token

Methods inherited from Rouge::Lexer

aliases, all, analyze_text, 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, title

Methods included from Token::Tokens

token

Constructor Details

This class inherits a constructor from Rouge::Lexer

Class Method Details

.underscorize(words) ⇒ Object



39
40
41
42
43
# File 'lib/rouge/lexers/nim.rb', line 39

def self.underscorize(words)
  words.map do |w|
    w.gsub(/./) { |x| "#{Regexp.escape(x)}_?" }
  end.join('|')
end