Sha256: e410680bce394b27ae3da5455213e6d26777f781e61b8be9ac5234eebdcaedea

Contents?: true

Size: 1.3 KB

Versions: 20

Compression:

Stored size: 1.3 KB

Contents

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'

      def self.analyze_text(text)
        return 1 if text.start_with?('FORMAT: 1A\n')
      end

      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

20 entries across 18 versions & 5 rubygems

Version Path
files.com-1.0.55 docs/vendor/bundle/ruby/2.5.0/gems/rouge-2.2.1/lib/rouge/lexers/apiblueprint.rb
rouge_ecl-1.0.0 lib/rouge/lexers/apiblueprint.rb
rouge-2.2.1 lib/rouge/lexers/apiblueprint.rb
rouge-2.2.0 lib/rouge/lexers/apiblueprint.rb
rougegal-2.1.2 lib/rouge/lexers/apiblueprint.rb
tdiary-5.0.5 vendor/bundle/gems/tdiary-5.0.4/vendor/bundle/gems/rouge-2.0.7/lib/rouge/lexers/apiblueprint.rb
tdiary-5.0.5 vendor/bundle/gems/rouge-2.1.1/lib/rouge/lexers/apiblueprint.rb
tdiary-5.0.5 vendor/bundle/gems/rouge-2.0.7/lib/rouge/lexers/apiblueprint.rb
rouge-2.1.1 lib/rouge/lexers/apiblueprint.rb
rouge-2.1.0 lib/rouge/lexers/apiblueprint.rb
tdiary-5.0.4 vendor/bundle/gems/rouge-2.0.7/lib/rouge/lexers/apiblueprint.rb
rouge-2.0.7 lib/rouge/lexers/apiblueprint.rb
rouge-2.0.6 lib/rouge/lexers/apiblueprint.rb
rouge-2.0.5 lib/rouge/lexers/apiblueprint.rb
rouge-2.0.3 lib/rouge/lexers/apiblueprint.rb
rouge-2.0.2 lib/rouge/lexers/apiblueprint.rb
rouge-2.0.1 lib/rouge/lexers/apiblueprint.rb
rouge-2.0.0 lib/rouge/lexers/apiblueprint.rb
rouge-1.11.1 lib/rouge/lexers/apiblueprint.rb
rouge-1.11.0 lib/rouge/lexers/apiblueprint.rb