Class: Elisp::DocStringParser

Inherits:
Object
  • Object
show all
Defined in:
lib/elisp/doc_string_parser.rb

Defined Under Namespace

Classes: Code, Copyright, Email, HTMLURL, Text

Constant Summary collapse

URI_PATTERN =
URI::RFC2396_PARSER.make_regexp
URI_PATTERN_WITH_ANGLES =
/[<](?<uri>#{ URI_PATTERN })[>]/
EMAIL =
Regexp.new(URI::MailTo::EMAIL_REGEXP.to_s
.sub(/\A[(][?]-mix:\\A/, "(?-mix:")
.sub(/\\z[)]\z/, ")"))
EMAIL_WITH_ANGLES =
/[<](?<address>#{ EMAIL })[>]/

Instance Method Summary collapse

Constructor Details

#initialize(source) ⇒ DocStringParser

Returns a new instance of DocStringParser.



28
29
30
# File 'lib/elisp/doc_string_parser.rb', line 28

def initialize(source)
  @scanner = StringScanner.new(source)
end

Instance Method Details

#htmlObject



32
33
34
# File 'lib/elisp/doc_string_parser.rb', line 32

def html
  parse.map(&:html).join
end

#pandoc_json_objectsObject



36
37
38
# File 'lib/elisp/doc_string_parser.rb', line 36

def pandoc_json_objects
  parse.map(&:pandoc_json_object)
end