Class: Rouge::Lexers::Go
- Inherits:
-
RegexLexer
- Object
- Rouge::Lexer
- RegexLexer
- Rouge::Lexers::Go
- Defined in:
- lib/rouge/lexers/go.rb
Constant Summary collapse
- WHITE_SPACE =
Characters
/[\s\t\r\n]+/- NEWLINE =
/\n/- UNICODE_CHAR =
/[^\n]/- UNICODE_LETTER =
/[[:alpha:]]/- UNICODE_DIGIT =
/[[:digit:]]/- LETTER =
Letters and digits
/#{UNICODE_LETTER}|_/- DECIMAL_DIGIT =
/[0-9]/- OCTAL_DIGIT =
/[0-7]/- HEX_DIGIT =
/[0-9A-Fa-f]/- LINE_COMMENT =
Comments
/\/\/(?:(?!#{NEWLINE}).)*/- GENERAL_COMMENT =
/\/\*(?:(?!\*\/).)*\*\//m
- COMMENT =
/#{LINE_COMMENT}|#{GENERAL_COMMENT}/- KEYWORD =
Keywords
/\b(?: break | default | func | interface | select | case | defer | go | map | struct | chan | else | goto | package | switch | const | fallthrough | if | range | type | continue | for | import | return | var )\b/x
- IDENTIFIER =
Identifiers
/ (?!#{KEYWORD}) #{LETTER}(?:#{LETTER}|#{UNICODE_DIGIT})* /x
- OPERATOR =
Operators and delimiters
/ \+= | \+\+ | \+ | &\^= | &\^ | &= | && | & | == | = | \!= | \! | -= | -- | - | \|= | \|\| | \| | <= | <- | <<= | << | < | \*= | \* | \^= | \^ | >>= | >> | >= | > | \/ | \/= | := | % | %= | \.\.\. | \. | : /x
- SEPARATOR =
/ \( | \) | \[ | \] | \{ | \} | , | ; /x
- DECIMAL_LIT =
Integer literals
/[0-9]#{DECIMAL_DIGIT}*/- OCTAL_LIT =
/0#{OCTAL_DIGIT}*/- HEX_LIT =
/0[xX]#{HEX_DIGIT}+/- INT_LIT =
/#{HEX_LIT}|#{DECIMAL_LIT}|#{OCTAL_LIT}/- DECIMALS =
Floating-point literals
/#{DECIMAL_DIGIT}+/- EXPONENT =
/[eE][+\-]?#{DECIMALS}/- FLOAT_LIT =
/ #{DECIMALS} \. #{DECIMALS}? #{EXPONENT}? | #{DECIMALS} #{EXPONENT} | \. #{DECIMALS} #{EXPONENT}? /x
- IMAGINARY_LIT =
Imaginary literals
/(?:#{DECIMALS}|#{FLOAT_LIT})i/- ESCAPED_CHAR =
Rune literals
/\\[abfnrtv\\'"]/- LITTLE_U_VALUE =
/\\u#{HEX_DIGIT}{4}/- BIG_U_VALUE =
/\\U#{HEX_DIGIT}{8}/- UNICODE_VALUE =
/ #{UNICODE_CHAR} | #{LITTLE_U_VALUE} | #{BIG_U_VALUE} | #{ESCAPED_CHAR} /x
- OCTAL_BYTE_VALUE =
/\\#{OCTAL_DIGIT}{3}/- HEX_BYTE_VALUE =
/\\x#{HEX_DIGIT}{2}/- BYTE_VALUE =
/#{OCTAL_BYTE_VALUE}|#{HEX_BYTE_VALUE}/- CHAR_LIT =
/'(?:#{UNICODE_VALUE}|#{BYTE_VALUE})'/- ESCAPE_SEQUENCE =
/ #{ESCAPED_CHAR} | #{LITTLE_U_VALUE} | #{BIG_U_VALUE} | #{HEX_BYTE_VALUE} /x
- RAW_STRING_LIT =
String literals
/`(?:#{UNICODE_CHAR}|#{NEWLINE})*`/- INTERPRETED_STRING_LIT =
/ "(?: (?!") (?: #{UNICODE_VALUE} | #{BYTE_VALUE} ) )*" /x
- STRING_LIT =
/#{RAW_STRING_LIT}|#{INTERPRETED_STRING_LIT}/- PREDECLARED_TYPES =
Predeclared identifiers
/\b(?: bool | byte | complex64 | complex128 | error | float32 | float64 | int8 | int16 | int32 | int64 | int | rune | string | uint8 | uint16 | uint32 | uint64 | uintptr | uint )\b/x
- PREDECLARED_CONSTANTS =
/\b(?:true|false|iota|nil)\b/- PREDECLARED_FUNCTIONS =
/\b(?: append | cap | close | complex | copy | delete | imag | len | make | new | panic | print | println | real | recover )\b/x
Constants inherited from RegexLexer
Class 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/go.rb', line 11 def self.analyze_text(text) return 0 end |