Class: Rouge::Lexers::Shell

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

Constant Summary collapse

KEYWORDS =
%w(
  if fi else while do done for then return function
  select continue until esac elif in
).join('|')
BUILTINS =
%w(
  alias bg bind break builtin caller cd command compgen
  complete declare dirs disown echo enable eval exec exit
  export false fc fg getopts hash help history jobs kill let
  local logout popd printf pushd pwd read readonly set shift
  shopt source suspend test time times trap true type typeset
  ulimit umask unalias unset wait
).join('|')

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

#delegate, get_state, #get_state, #goto, #group, #groups, #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

Methods included from Token::Tokens

token

Constructor Details

This class inherits a constructor from Rouge::Lexer

Class Method Details

.analyze_text(text) ⇒ Object



13
14
15
# File 'lib/rouge/lexers/shell.rb', line 13

def self.analyze_text(text)
  text.shebang?(/(ba|z|k)?sh/) ? 1 : 0
end