summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--lib/yard/mruby/handlers/c/header.rb1
-rw-r--r--lib/yard/mruby/handlers/c/header/header_decl_handler.rb20
2 files changed, 21 insertions, 0 deletions
diff --git a/lib/yard/mruby/handlers/c/header.rb b/lib/yard/mruby/handlers/c/header.rb
index 590386f..60848cd 100644
--- a/lib/yard/mruby/handlers/c/header.rb
+++ b/lib/yard/mruby/handlers/c/header.rb
@@ -1,2 +1,3 @@
require_relative 'header/base'
require_relative 'header/function_handler'
+require_relative 'header/header_decl_handler'
diff --git a/lib/yard/mruby/handlers/c/header/header_decl_handler.rb b/lib/yard/mruby/handlers/c/header/header_decl_handler.rb
new file mode 100644
index 0000000..00c8e11
--- /dev/null
+++ b/lib/yard/mruby/handlers/c/header/header_decl_handler.rb
@@ -0,0 +1,20 @@
+module YARD::MRuby::Handlers::C::Header
+ class HeaderDeclHandler < Base
+ MATCH = /
+ ^MRB_BEGIN_DECL
+ /mx
+
+ handles MATCH
+ statement_class ToplevelStatement
+
+ process do
+ header = self.header(statement.file)
+
+ if statement.comments
+ register_docstring(header, statement.comments.source, statement)
+ end
+ end
+
+ end
+end
+