Sha256: 6946c89f0e06b8c9afd14e0914998f9f0f4134fbe50abed0c1c2fceef8013449
Contents?: true
Size: 1.47 KB
Versions: 9
Compression:
Stored size: 1.47 KB
Contents
# -*- coding: utf-8 -*- # # frozen_string_literal: true module Rouge module Lexers class TOML < RegexLexer title "TOML" desc 'the TOML configuration format (https://github.com/mojombo/toml)' tag 'toml' filenames '*.toml', 'Pipfile' mimetypes 'text/x-toml' identifier = /\S+/ state :basic do rule %r/\s+/, Text rule %r/#.*?$/, Comment rule %r/(true|false)/, Keyword::Constant rule %r/(?<!=)\s*\[[\S]+\]/, Name::Namespace rule %r/\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z/, Literal::Date rule %r/(\d+\.\d*|\d*\.\d+)([eE][+-]?[0-9]+)?j?/, Num::Float rule %r/\d+[eE][+-]?[0-9]+j?/, Num::Float rule %r/\-?\d+/, Num::Integer end state :root do mixin :basic rule %r/(#{identifier})(\s*)(=)/ do groups Name::Property, Text, Punctuation push :value end end state :value do rule %r/\n/, Text, :pop! mixin :content end state :content do mixin :basic rule %r/"/, Str, :dq mixin :esc_str rule %r/\,/, Punctuation rule %r/\[/, Punctuation, :array end state :dq do rule %r/"/, Str, :pop! mixin :esc_str rule %r/[^\\"]+/, Str end state :esc_str do rule %r/\\[0t\tn\n "\\r]/, Str::Escape end state :array do mixin :content rule %r/\]/, Punctuation, :pop! end end end end
Version data entries
9 entries across 9 versions & 1 rubygems