summaryrefslogtreecommitdiffstats
path: root/debian/vendor-h2o/deps/mruby-onig-regexp/mrblib/onig_regexp.rb
diff options
context:
space:
mode:
Diffstat (limited to 'debian/vendor-h2o/deps/mruby-onig-regexp/mrblib/onig_regexp.rb')
-rw-r--r--debian/vendor-h2o/deps/mruby-onig-regexp/mrblib/onig_regexp.rb140
1 files changed, 0 insertions, 140 deletions
diff --git a/debian/vendor-h2o/deps/mruby-onig-regexp/mrblib/onig_regexp.rb b/debian/vendor-h2o/deps/mruby-onig-regexp/mrblib/onig_regexp.rb
deleted file mode 100644
index 2dc8d55..0000000
--- a/debian/vendor-h2o/deps/mruby-onig-regexp/mrblib/onig_regexp.rb
+++ /dev/null
@@ -1,140 +0,0 @@
-class OnigRegexp
- @memo = {}
-
- # ISO 15.2.15.6.1
- def self.compile(*args)
- as = args.to_s
- unless @memo.key? as
- @memo[as] = self.new(*args)
- end
- @memo[as]
- end
-
- # ISO 15.2.15.6.3
- def self.last_match
- @last_match
- end
-
- # ISO 15.2.15.7.2
- def initialize_copy(other)
- initialize(other.source, other.options)
- end
-
- # ISO 15.2.15.7.4
- def ===(str)
- not self.match(str).nil?
- end
-
- # ISO 15.2.15.7.5
- def =~(str)
- m = self.match(str)
- m ? m.begin(0) : nil
- end
-
- # ISO 15.2.15.7.8
- attr_reader :source
-end
-
-class String
- # ISO 15.2.10.5.5
- def =~(a)
- begin
- (a.class.to_s == 'String' ? Regexp.new(a.to_s) : a) =~ self
- rescue
- false
- end
- end
-
- # redefine methods with oniguruma regexp version
- [:sub, :gsub, :split, :scan].each do |v|
- alias_method "string_#{v}".to_sym, v
- alias_method v, "onig_regexp_#{v}".to_sym
- end
-
- alias_method :old_slice, :slice
- alias_method :old_square_brancket, :[]
-
- def [](*args)
- return old_square_brancket(*args) unless args[0].class == Regexp
-
- if args.size == 2
- match = args[0].match(self)
- if match
- if args[1] == 0
- str = match[0]
- else
- str = match.captures[args[1] - 1]
- end
- return str
- end
- end
-
- match_data = args[0].match(self)
- if match_data
- result = match_data.to_s
- return result
- end
- end
-
- alias_method :slice, :[]
-
- def slice!(*args)
- if args.size < 2
- result = slice(*args)
- nth = args[0]
-
- if nth.class == Regexp
- lm = Regexp.last_match
- self[nth] = '' if result
- Regexp.last_match = lm
- else
- self[nth] = '' if result
- end
- else
- result = slice(*args)
-
- nth = args[0]
- len = args[1]
-
- if nth.class == Regexp
- lm = Regexp.last_match
- self[nth, len] = '' if result
- Regexp.last_match = lm
- else
- self[nth, len] = '' if result && nth != self.size
- end
- end
-
- result
- end
-
- alias_method :old_index, :index
-
- def index(pattern, pos=0)
- if pattern.class == Regexp
- str = self[pos..-1]
- if str
- if num = (pattern =~ str)
- if pos < 0
- num += self.size
- end
- return num + pos
- end
- end
- nil
- else
- self.old_index(pattern, pos)
- end
- end
-end
-
-module Kernel
- def =~(_)
- nil
- end
-end
-
-Regexp = OnigRegexp unless Object.const_defined?(:Regexp)
-MatchData = OnigMatchData unless Object.const_defined? :MatchData
-
-# This is based on https://github.com/masamitsu-murase/mruby-hs-regexp