Sha256: 31a7024b319fa15793343563959220b63de2968dedb8fdded00f73fed865a985
Contents?: true
Size: 815 Bytes
Versions: 4
Compression:
Stored size: 815 Bytes
Contents
# -*- coding: utf-8 -*- # # frozen_string_literal: true module Rouge module Lexers class JSON < RegexLexer title 'JSON' desc "JavaScript Object Notation (json.org)" tag 'json' filenames '*.json' mimetypes 'application/json', 'application/vnd.api+json', 'application/hal+json' state :root do rule /\s+/m, Text::Whitespace rule /"/, Str::Double, :string rule /(?:true|false|null)\b/, Keyword::Constant rule /[{},:\[\]]/, Punctuation rule /-?(?:0|[1-9]\d*)\.\d+(?:e[+-]?\d+)?/i, Num::Float rule /-?(?:0|[1-9]\d*)(?:e[+-]?\d+)?/i, Num::Integer end state :string do rule /[^\\"]+/, Str::Double rule /\\./, Str::Escape rule /"/, Str::Double, :pop! end end end end
Version data entries
4 entries across 4 versions & 2 rubygems
Version | Path |
---|---|
rouge-3.4.1 | lib/rouge/lexers/json.rb |
rouge-3.4.0 | lib/rouge/lexers/json.rb |
rouge-alda-3.3.0 | lib/rouge/lexers/json.rb |
rouge-3.3.0 | lib/rouge/lexers/json.rb |