Class: Rouge::Lexers::OCamlCommon

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

Overview

shared states with Reasonml and ReScript

Direct Known Subclasses

OCaml, ReScript, ReasonML

Constant Summary collapse

@@operator =
%r([;,_!$%&*+./:<=>?@^|~#-]+)
@@id =
/[a-z_][\w']*/i
@@upper_id =
/[A-Z][\w']*/

Constants inherited from RegexLexer

RegexLexer::MAX_NULL_SCANS

Constants included from Token::Tokens

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

Instance Attribute Summary

Attributes inherited from Rouge::Lexer

#options

Class Method Summary collapse

Methods inherited from RegexLexer

append, #delegate, #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, #as_bool, #as_lexer, #as_list, #as_string, #as_token, #bool_option, continue_lex, #continue_lex, debug_enabled?, demo, demo_file, desc, detect?, detectable?, disable_debug!, enable_debug!, filenames, find, find_fancy, guess, guess_by_filename, guess_by_mimetype, guess_by_source, guesses, #hash_option, #initialize, lex, #lex, #lexer_option, #list_option, lookup_fancy, mimetypes, option, option_docs, #reset!, #stream_tokens, #string_option, tag, #tag, title, #token_option, #with

Methods included from Token::Tokens

token

Constructor Details

This class inherits a constructor from Rouge::Lexer

Class Method Details

.keywordsObject



8
9
10
11
12
13
14
15
16
# File 'lib/rouge/lexers/ocaml/common.rb', line 8

def self.keywords
  @keywords ||= Set.new %w(
    as assert begin class constraint do done downto else end
    exception external false for fun function functor if in
    include inherit initializer lazy let module mutable new
    nonrec object of open rec sig struct then to true try type
    val virtual when while with
  )
end

.primitivesObject



22
23
24
# File 'lib/rouge/lexers/ocaml/common.rb', line 22

def self.primitives
  @primitives ||= Set.new %w(unit int float bool string char list array)
end

.word_operatorsObject



18
19
20
# File 'lib/rouge/lexers/ocaml/common.rb', line 18

def self.word_operators
  @word_operators ||= Set.new %w(and asr land lor lsl lxor mod or)
end