Sha256: feb7c50e45a02ed2c7ee39eba603f10278329ed23222b54e4942ade06f5b813b
Contents?: true
Size: 1.12 KB
Versions: 4
Compression:
Stored size: 1.12 KB
Contents
require 'yaml' require 'textpow/syntax' require 'textpow/debug_processor' require 'textpow/recording_processor' require 'textpow/score_manager' require 'textpow/version' module Textpow class ParsingError < Exception; end def self.syntax_path File.join(File.dirname(__FILE__), 'textpow', 'syntax') end @@syntax = {} def self.syntax(syntax_name) syntax_name = syntax_name.downcase if @@syntax.has_key?(syntax_name) @@syntax[syntax_name] else @@syntax[syntax_name] = uncached_syntax(syntax_name) end end private def self.uncached_syntax(name) path = ( find_syntax_by_path(name) || find_syntax_by_scope_name(name) || find_syntax_by_fuzzy_name(name) ) SyntaxNode.load(path) if path end def self.find_syntax_by_scope_name(name) path = File.join(syntax_path, "#{name}.syntax") path if File.exist?(path) end def self.find_syntax_by_fuzzy_name(name) path = Dir.glob(File.join(syntax_path, "*.#{name}.*")).sort_by(&:size).first path if path and File.exist?(path) end def self.find_syntax_by_path(path) path if File.exist?(path) end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
textpow1x-1.2.3 | lib/textpow.rb |
textpow1x-1.2.2 | lib/textpow.rb |
textpow1x-1.2.1 | lib/textpow.rb |
textpow1x-1.2.0 | lib/textpow.rb |