From a4ed5e49a20741b006ace90d2887a1d5720c37be Mon Sep 17 00:00:00 2001 From: Rene Saarsoo Date: Mon, 17 Dec 2012 17:33:39 +0200 Subject: [PATCH] Prototype of @cfg tag implemented as a class. --- lib/jsduck/builtins/cfg.rb | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 lib/jsduck/builtins/cfg.rb diff --git a/lib/jsduck/builtins/cfg.rb b/lib/jsduck/builtins/cfg.rb new file mode 100644 index 00000000..bbff8c19 --- /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 -- GitLab