Sha256: c8b7a0dd04b3388f2a125a46781f79804485f41f8fc37ebd7eb7eee59c09fb75

Contents?: true

Size: 998 Bytes

Versions: 1

Compression:

Stored size: 998 Bytes

Contents

require 'bundler/setup'
require 'mustermann/visualizer'

def self.example(type, *patterns)
  print Hansi.render(:bold, "  #{type}: ".ljust(14))
  patterns.each do |pattern|
    pattern     = Mustermann.new(pattern, type: type)
    space_after = pattern.to_s.size > 24 ? " " : " " * (25 - pattern.to_s.size)
    highlight   = Mustermann::Visualizer.highlight(pattern)
    print highlight.to_ansi + space_after
  end
  puts
end

puts
example(:cake,     '/:prefix/**')
example(:express,  '/:prefix+/:id(\d+)', '/:page/:slug+')
example(:flask,    '/<prefix>/<int:id>', '/user/<int(min=0):id>')
example(:identity, '/image.png')
example(:pyramid,  '/{prefix:.*}/{id}',  '/{page}/*slug')
example(:rails,    '/:slug(.:ext)')
example(:regexp,   '/(?<slug>[^/]+)',    '/(?:page|user)/(\d+)')
example(:shell,    '/**/*',              '/\{a,b\}/{a,b}')
example(:simple,   '/:page/*slug')
example(:sinatra,  '/:page/*slug',         '/users/{id}?')
example(:template, '/{+pre}/{page}{?q,p}', '/users/{id}?')
puts

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mustermann-visualizer-0.4.0 examples/highlighting.rb