summaryrefslogtreecommitdiffhomepage
path: root/lib/yard/mruby/handlers/c/header
diff options
context:
space:
mode:
authorSeba Gamboa <[email protected]>2015-09-28 18:29:41 -0300
committerSeba Gamboa <[email protected]>2015-09-28 18:29:41 -0300
commit73326c64a5e720f7d31b1e52ef9fda341895e800 (patch)
tree065b8ed13fa31c8a910433fe41be8f1bbd213aac /lib/yard/mruby/handlers/c/header
parent2c3c127806e64ecc32b995913778252a2212c6a9 (diff)
downloadyard-mruby-73326c64a5e720f7d31b1e52ef9fda341895e800.tar.gz
yard-mruby-73326c64a5e720f7d31b1e52ef9fda341895e800.zip
Handle #define directives
Diffstat (limited to 'lib/yard/mruby/handlers/c/header')
-rw-r--r--lib/yard/mruby/handlers/c/header/define_handler.rb23
1 files changed, 23 insertions, 0 deletions
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