# Custom tags for JSDuck 5.x
# See also:
-# - https://github.com/senchalabs/jsduck/wiki/Tags
# - https://github.com/senchalabs/jsduck/wiki/Custom-tags
# - https://github.com/senchalabs/jsduck/wiki/Custom-tags/7f5c32e568eab9edc8e3365e935bcb836cb11f1d
require 'jsduck/tag/tag'
@repeatable = true
end
- def parse_doc(scanner, position)
+ def parse_doc(scanner, _position)
if @multiline
- return { :tagname => @tagname, :doc => :multiline }
+ return { tagname: @tagname, doc: :multiline }
else
text = scanner.match(/.*$/)
- return { :tagname => @tagname, :doc => text }
+ return { tagname: @tagname, doc: text }
end
end
- def process_doc(context, tags, position)
+ def process_doc(context, tags, _position)
context[@tagname] = tags
end
class SourceTag < CommonTag
def initialize
@tagname = :source
- @pattern = "source"
+ @pattern = 'source'
super
end
class SeeTag < CommonTag
def initialize
@tagname = :see
- @pattern = "see"
+ @pattern = 'see'
super
end
<<-EOHTML
<h3 class="pa">Related</h3>
<ul>
- #{ context[@tagname].map { |tag| tag[:doc] }.join("\n") }
+ #{context[@tagname].map { |tag| tag[:doc] }.join("\n")}
</ul>
EOHTML
end
def render_long_see(tag, formatter, position)
- if tag =~ /\A([^\s]+)( .*)?\Z/m
- name = $1
- doc = $2 ? ': ' + $2 : ''
+ match = /\A([^\s]+)( .*)?\Z/m.match(tag)
+
+ if match
+ name = match[1]
+ doc = match[2] ? ': ' + match[2] : ''
return formatter.format("{@link #{name}} #{doc}")
else
JsDuck::Logger.warn(nil, 'Unexpected @see argument: "' + tag + '"', position)
def to_html(context)
<<-EOHTML
<h3 class="pa">Context</h3>
- #{ context[@tagname].last[:doc] }
+ #{context[@tagname].last[:doc]}
EOHTML
end
def render_long_context(tag, formatter, position)
- if tag =~ /\A([^\s]+)/m
- name = $1
+ match = /\A([^\s]+)/m.match(tag)
+
+ if match
+ name = match[1]
return formatter.format("`context` : {@link #{name}}")
else
JsDuck::Logger.warn(nil, 'Unexpected @context argument: "' + tag + '"', position)