diff --git a/lib/jsduck/builtins/cfg.rb b/lib/jsduck/builtins/cfg.rb new file mode 100644 index 0000000000000000000000000000000000000000..bbff8c19c2bffb28df10e0c08c71f2e216b094d6 --- /dev/null +++ b/lib/jsduck/builtins/cfg.rb @@ -0,0 +1,24 @@ +module JsDuck::Builtins + # Implementation of @cfg tag. + class Cfg + def initialize + @pattern = "cfg" + end + + def parse(p) + p.add_tag(:cfg) + p.maybe_type + p.maybe_name_with_default + maybe_required(p) + end + + # matches: "(required)" + def maybe_required(p) + p.skip_horiz_white + if p.look(/\(required\)/i) + p.match(/\(required\)/i) + p.current_tag[:optional] = false + end + end + end +end