class Rugments::Lexers::PHP
Public Class Methods
analyze_text(text)
click to toggle source
# File lib/rugments/lexers/php.rb, line 63 def self.analyze_text(text) return 1 if text.shebang?('php') return 0.3 if /<\?(?!xml)/ =~ text 0 end
builtins()
click to toggle source
# File lib/rugments/lexers/php.rb, line 25 def self.builtins load Pathname.new(__FILE__).dirname.join('php/builtins.rb') builtins end
keywords()
click to toggle source
# File lib/rugments/lexers/php.rb, line 49 def self.keywords @keywords ||= Set.new %w( and E_PARSE old_function E_ERROR or as E_WARNING parent eval PHP_OS break exit case extends PHP_VERSION cfunction FALSE print for require continue foreach require_once declare return default static do switch die stdClass echo else TRUE elseif var empty if xor enddeclare include virtual endfor include_once while endforeach global __FILE__ endif list __LINE__ endswitch new __sleep endwhile not array __wakeup E_ALL NULL final php_user_filter interface implements public private protected abstract clone try catch throw this use namespace ) end
new(opts = {})
click to toggle source
Calls superclass method
# File lib/rugments/lexers/php.rb, line 15 def initialize(opts = {}) # if truthy, the lexer starts highlighting with php code # (no <?php required) @start_inline = opts.delete(:start_inline) @funcnamehighlighting = opts.delete(:funcnamehighlighting) { true } @disabledmodules = opts.delete(:disabledmodules) { [] } super(opts) end
Public Instance Methods
builtins()
click to toggle source
# File lib/rugments/lexers/php.rb, line 30 def builtins return [] unless @funcnamehighlighting @builtins ||= Set.new.tap do |builtins| self.class.builtins.each do |mod, fns| next if @disabledmodules.include? mod builtins.merge(fns) end end end
start_inline?()
click to toggle source
# File lib/rugments/lexers/php.rb, line 41 def start_inline? !!@start_inline end