Sha256: 2fda5d40a51439f370c194ea2efcfdd6e48b9b9f3f63ee5087d7a6ca55f54f8d

Contents?: true

Size: 1.23 KB

Versions: 48

Compression:

Stored size: 1.23 KB

Contents

# frozen_string_literal: true

module Rouge
  module Lexers
    load_lexer 'markdown.rb'

    class APIBlueprint < Markdown
      title 'API Blueprint'
      desc 'Markdown based API description language.'

      tag 'apiblueprint'
      aliases 'apiblueprint', 'apib'
      filenames '*.apib'
      mimetypes 'text/vnd.apiblueprint'

      prepend :root do
        # Metadata
        rule(/(\S+)(:\s*)(.*)$/) do
          groups Name::Variable, Punctuation, Literal::String
        end

        # Resource Group
        rule(/^(#+)(\s*Group\s+)(.*)$/) do
          groups Punctuation, Keyword, Generic::Heading
        end

        # Resource \ Action
        rule(/^(#+)(.*)(\[.*\])$/) do
          groups Punctuation, Generic::Heading, Literal::String
        end

        # Relation
        rule(/^([\+\-\*])(\s*Relation:)(\s*.*)$/) do
          groups Punctuation, Keyword, Literal::String
        end

        # MSON
        rule(/^(\s+[\+\-\*]\s*)(Attributes|Parameters)(.*)$/) do
          groups Punctuation, Keyword, Literal::String
        end

        # Request/Response
        rule(/^([\+\-\*]\s*)(Request|Response)(\s+\d\d\d)?(.*)$/) do
          groups Punctuation, Keyword, Literal::Number, Literal::String
        end
      end
    end
  end
end

Version data entries

48 entries across 48 versions & 3 rubygems

Version Path
rouge-3.26.0 lib/rouge/lexers/apiblueprint.rb
rouge-3.25.0 lib/rouge/lexers/apiblueprint.rb
rouge-3.24.0 lib/rouge/lexers/apiblueprint.rb
rouge-3.23.0 lib/rouge/lexers/apiblueprint.rb
rouge-3.22.0 lib/rouge/lexers/apiblueprint.rb
rouge-3.21.0 lib/rouge/lexers/apiblueprint.rb
rouge-3.20.0 lib/rouge/lexers/apiblueprint.rb
rouge-3.19.0 lib/rouge/lexers/apiblueprint.rb
rouge-3.18.0 lib/rouge/lexers/apiblueprint.rb
rouge-3.17.0 lib/rouge/lexers/apiblueprint.rb
rouge-3.16.0 lib/rouge/lexers/apiblueprint.rb
rouge-3.15.0 lib/rouge/lexers/apiblueprint.rb
rouge-3.14.0 lib/rouge/lexers/apiblueprint.rb
rouge-3.13.0 lib/rouge/lexers/apiblueprint.rb
rouge-3.12.0 lib/rouge/lexers/apiblueprint.rb
rouge-3.11.1 lib/rouge/lexers/apiblueprint.rb
rouge-3.11.0 lib/rouge/lexers/apiblueprint.rb
rouge-3.10.0 lib/rouge/lexers/apiblueprint.rb
rouge-3.9.0 lib/rouge/lexers/apiblueprint.rb
rouge-3.8.0 lib/rouge/lexers/apiblueprint.rb