diff options
Diffstat (limited to 'lib/yard/mruby/handlers')
| -rw-r--r-- | lib/yard/mruby/handlers/c/header.rb | 1 | ||||
| -rw-r--r-- | lib/yard/mruby/handlers/c/header/define_handler.rb | 23 |
2 files changed, 24 insertions, 0 deletions
diff --git a/lib/yard/mruby/handlers/c/header.rb b/lib/yard/mruby/handlers/c/header.rb index 60848cd..9c955f2 100644 --- a/lib/yard/mruby/handlers/c/header.rb +++ b/lib/yard/mruby/handlers/c/header.rb @@ -1,3 +1,4 @@ require_relative 'header/base' require_relative 'header/function_handler' +require_relative 'header/define_handler' require_relative 'header/header_decl_handler' diff --git a/lib/yard/mruby/handlers/c/header/define_handler.rb b/lib/yard/mruby/handlers/c/header/define_handler.rb index e69de29..1a061db 100644 --- a/lib/yard/mruby/handlers/c/header/define_handler.rb +++ b/lib/yard/mruby/handlers/c/header/define_handler.rb @@ -0,0 +1,23 @@ +module YARD::MRuby::Handlers::C::Header + class DefineHandler < Base + MATCH = / + \#\s*define\s*(\w+) + /mx + + handles MATCH + statement_class YARD::MRuby::Parser::C::DirectiveStatement + + process do + header = self.header(statement.file) + + statement.declaration.scan(MATCH) do |match| + register DefineObject.new(header, match.first) do |obj| + if statement.comments + register_docstring(obj, statement.comments.source, statement) + end + end + end + + end + end +end |
