Method: Markascend::Parser#parse_block_code

Defined in:
lib/markascend/parser.rb

#parse_block_codeObject



147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
# File 'lib/markascend/parser.rb', line 147

def parse_block_code
  if lang = @src.scan(/\|\ *(?!\d)\w*\ *\n/)
    lang = lang[1..-1].strip
    if lang.empty? and @env.hi
      lang = @env.hi
    end
    block = @src.scan(/
      (
        \ *\n      # empty line
      |
        \ {2,}.*\n # line indented equal to 2 or more than 2
      )*
    /x)
    block.gsub!(/^  /, '')
    block.rstrip!
    @out << (::Markascend.hilite block, lang)
    true
  end
end