yard-mruby 0.2.2 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +9 -9
- data/.rspec +2 -2
- data/.travis.yml +4 -4
- data/CODE_OF_CONDUCT.md +13 -13
- data/Gemfile +4 -4
- data/LICENSE.txt +21 -21
- data/README.md +31 -31
- data/Rakefile +6 -6
- data/bin/console +14 -14
- data/bin/setup +7 -7
- data/exe/mrbdoc +5 -5
- data/lib/yard-mruby.rb +1 -1
- data/lib/yard/mruby.rb +9 -9
- data/lib/yard/mruby/cli.rb +1 -1
- data/lib/yard/mruby/cli/yardoc.rb +14 -14
- data/lib/yard/mruby/code_objects.rb +6 -6
- data/lib/yard/mruby/code_objects/define_object.rb +8 -8
- data/lib/yard/mruby/code_objects/function_object.rb +72 -72
- data/lib/yard/mruby/code_objects/header_base_object.rb +15 -15
- data/lib/yard/mruby/code_objects/header_object.rb +30 -30
- data/lib/yard/mruby/code_objects/headers_root.rb +14 -14
- data/lib/yard/mruby/code_objects/typedef_object.rb +8 -8
- data/lib/yard/mruby/handlers.rb +1 -1
- data/lib/yard/mruby/handlers/c.rb +4 -4
- data/lib/yard/mruby/handlers/c/header.rb +5 -5
- data/lib/yard/mruby/handlers/c/header/base.rb +30 -30
- data/lib/yard/mruby/handlers/c/header/define_handler.rb +23 -23
- data/lib/yard/mruby/handlers/c/header/function_handler.rb +33 -33
- data/lib/yard/mruby/handlers/c/header/header_decl_handler.rb +20 -20
- data/lib/yard/mruby/handlers/c/header/typedef_handler.rb +31 -31
- data/lib/yard/mruby/handlers/c/source.rb +7 -7
- data/lib/yard/mruby/handlers/c/source/base.rb +56 -56
- data/lib/yard/mruby/handlers/c/source/class_handler.rb +35 -35
- data/lib/yard/mruby/handlers/c/source/init_handler.rb +16 -16
- data/lib/yard/mruby/handlers/c/source/method_handler.rb +25 -25
- data/lib/yard/mruby/handlers/c/source/module_handler.rb +34 -34
- data/lib/yard/mruby/handlers/c/source/symbol_handler.rb +16 -16
- data/lib/yard/mruby/parser.rb +1 -1
- data/lib/yard/mruby/parser/c.rb +4 -4
- data/lib/yard/mruby/parser/c/directive_statement.rb +6 -6
- data/lib/yard/mruby/parser/c/header_parser.rb +49 -49
- data/lib/yard/mruby/parser/c/parser.rb +10 -10
- data/lib/yard/mruby/parser/c/source_parser.rb +9 -9
- data/lib/yard/mruby/tags.rb +2 -2
- data/lib/yard/mruby/templates.rb +9 -9
- data/lib/yard/mruby/templates/helpers.rb +1 -1
- data/lib/yard/mruby/templates/helpers/html_helper.rb +32 -32
- data/lib/yard/mruby/version.rb +5 -5
- data/sample/.gitignore +5 -5
- data/sample/.inch.yml +3 -3
- data/sample/.travis.yml +2 -2
- data/sample/.yardopts +4 -4
- data/sample/CODE_OF_CONDUCT.md +13 -13
- data/sample/Gemfile +5 -5
- data/sample/LICENSE.txt +21 -21
- data/sample/README.md +12 -12
- data/sample/build_config.rb +9 -9
- data/sample/include/sample.h +37 -37
- data/sample/mrbgem.rake +15 -15
- data/sample/mrblib/sample.rb +14 -14
- data/sample/src/sample.c +34 -34
- data/sample/test/sample_spec.rb +11 -11
- data/templates/default/fulldoc/html/full_list_functions.erb +10 -10
- data/templates/default/fulldoc/html/full_list_headers.erb +10 -10
- data/templates/default/fulldoc/html/setup.rb +62 -62
- data/templates/default/function_details/html/function_signature.erb +10 -10
- data/templates/default/function_details/html/header.erb +3 -3
- data/templates/default/function_details/html/source.erb +10 -10
- data/templates/default/function_details/setup.rb +12 -12
- data/templates/default/header/html/define_summary.erb +11 -11
- data/templates/default/header/html/function_details_list.erb +7 -7
- data/templates/default/header/html/function_summary.erb +12 -12
- data/templates/default/header/html/functions.erb +1 -1
- data/templates/default/header/html/header.erb +1 -1
- data/templates/default/header/html/includes.erb +1 -1
- data/templates/default/header/html/item_summary.erb +19 -19
- data/templates/default/header/html/pre_docstring.erb +1 -1
- data/templates/default/header/html/setup.rb +32 -32
- data/templates/default/header/html/typedef_summary.erb +11 -11
- data/templates/default/headersroot/html/headers_list.erb +6 -6
- data/templates/default/headersroot/html/setup.rb +10 -10
- data/templates/default/layout/html/footer.erb +5 -5
- data/templates/default/layout/html/setup.rb +52 -52
- data/templates/default/tags/html/iso.erb +3 -3
- data/templates/default/tags/html/mrbgem.erb +3 -3
- data/templates/default/tags/setup.rb +10 -10
- data/yard-mruby.gemspec +27 -27
- metadata +7 -7
@@ -1,15 +1,15 @@
|
|
1
|
-
module YARD::MRuby::CodeObjects
|
2
|
-
|
3
|
-
# A FunctionObject represents a MRuby C API function declaration inside a header inside an include directory
|
4
|
-
class HeaderBaseObject < YARD::CodeObjects::Base
|
5
|
-
|
6
|
-
def header
|
7
|
-
self.namespace
|
8
|
-
end
|
9
|
-
|
10
|
-
# Header objects's shouln't be namespaced
|
11
|
-
def path
|
12
|
-
self.name.to_s
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
1
|
+
module YARD::MRuby::CodeObjects
|
2
|
+
|
3
|
+
# A FunctionObject represents a MRuby C API function declaration inside a header inside an include directory
|
4
|
+
class HeaderBaseObject < YARD::CodeObjects::Base
|
5
|
+
|
6
|
+
def header
|
7
|
+
self.namespace
|
8
|
+
end
|
9
|
+
|
10
|
+
# Header objects's shouln't be namespaced
|
11
|
+
def path
|
12
|
+
self.name.to_s
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -1,30 +1,30 @@
|
|
1
|
-
module YARD::MRuby::CodeObjects
|
2
|
-
|
3
|
-
# A HeaderObject represents a MRuby header inside an include directory
|
4
|
-
# It groups C Functions and define macros.
|
5
|
-
class HeaderObject < YARD::CodeObjects::NamespaceObject
|
6
|
-
def functions
|
7
|
-
children.find_all {|d| d.is_a?(FunctionObject) }
|
8
|
-
end
|
9
|
-
|
10
|
-
def defines
|
11
|
-
children.find_all {|d| d.is_a?(DefineObject) }
|
12
|
-
end
|
13
|
-
|
14
|
-
def typedefs
|
15
|
-
children.find_all {|d| d.is_a?(TypedefObject) }
|
16
|
-
end
|
17
|
-
|
18
|
-
def path
|
19
|
-
self.name
|
20
|
-
end
|
21
|
-
|
22
|
-
def title
|
23
|
-
super.to_s
|
24
|
-
end
|
25
|
-
|
26
|
-
def inheritance_tree(*args)
|
27
|
-
return [self]
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
1
|
+
module YARD::MRuby::CodeObjects
|
2
|
+
|
3
|
+
# A HeaderObject represents a MRuby header inside an include directory
|
4
|
+
# It groups C Functions and define macros.
|
5
|
+
class HeaderObject < YARD::CodeObjects::NamespaceObject
|
6
|
+
def functions
|
7
|
+
children.find_all {|d| d.is_a?(FunctionObject) }
|
8
|
+
end
|
9
|
+
|
10
|
+
def defines
|
11
|
+
children.find_all {|d| d.is_a?(DefineObject) }
|
12
|
+
end
|
13
|
+
|
14
|
+
def typedefs
|
15
|
+
children.find_all {|d| d.is_a?(TypedefObject) }
|
16
|
+
end
|
17
|
+
|
18
|
+
def path
|
19
|
+
self.name
|
20
|
+
end
|
21
|
+
|
22
|
+
def title
|
23
|
+
super.to_s
|
24
|
+
end
|
25
|
+
|
26
|
+
def inheritance_tree(*args)
|
27
|
+
return [self]
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
@@ -1,14 +1,14 @@
|
|
1
|
-
module YARD::MRuby::CodeObjects
|
2
|
-
|
3
|
-
class HeadersRoot < YARD::CodeObjects::NamespaceObject
|
4
|
-
def headers
|
5
|
-
children
|
6
|
-
end
|
7
|
-
|
8
|
-
def inheritance_tree(*args)
|
9
|
-
return [self]
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
HEADERS_ROOT = HeadersRoot.new(:root, "headers")
|
14
|
-
end
|
1
|
+
module YARD::MRuby::CodeObjects
|
2
|
+
|
3
|
+
class HeadersRoot < YARD::CodeObjects::NamespaceObject
|
4
|
+
def headers
|
5
|
+
children
|
6
|
+
end
|
7
|
+
|
8
|
+
def inheritance_tree(*args)
|
9
|
+
return [self]
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
HEADERS_ROOT = HeadersRoot.new(:root, "headers")
|
14
|
+
end
|
@@ -1,8 +1,8 @@
|
|
1
|
-
module YARD::MRuby::CodeObjects
|
2
|
-
|
3
|
-
# A TypedefObject represents a MRuby C API typedef declaration inside a header inside an include directory
|
4
|
-
class TypedefObject < HeaderBaseObject
|
5
|
-
end
|
6
|
-
end
|
7
|
-
|
8
|
-
|
1
|
+
module YARD::MRuby::CodeObjects
|
2
|
+
|
3
|
+
# A TypedefObject represents a MRuby C API typedef declaration inside a header inside an include directory
|
4
|
+
class TypedefObject < HeaderBaseObject
|
5
|
+
end
|
6
|
+
end
|
7
|
+
|
8
|
+
|
data/lib/yard/mruby/handlers.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
require_relative 'handlers/c'
|
1
|
+
require_relative 'handlers/c'
|
@@ -1,4 +1,4 @@
|
|
1
|
-
require_relative 'c/source'
|
2
|
-
require_relative 'c/header'
|
3
|
-
|
4
|
-
YARD::Handlers::Processor.namespace_for_handler.delete(:c)
|
1
|
+
require_relative 'c/source'
|
2
|
+
require_relative 'c/header'
|
3
|
+
|
4
|
+
YARD::Handlers::Processor.namespace_for_handler.delete(:c)
|
@@ -1,5 +1,5 @@
|
|
1
|
-
require_relative 'header/base'
|
2
|
-
require_relative 'header/function_handler'
|
3
|
-
require_relative 'header/define_handler'
|
4
|
-
require_relative 'header/header_decl_handler'
|
5
|
-
require_relative 'header/typedef_handler'
|
1
|
+
require_relative 'header/base'
|
2
|
+
require_relative 'header/function_handler'
|
3
|
+
require_relative 'header/define_handler'
|
4
|
+
require_relative 'header/header_decl_handler'
|
5
|
+
require_relative 'header/typedef_handler'
|
@@ -1,30 +1,30 @@
|
|
1
|
-
module YARD::MRuby::Handlers
|
2
|
-
module C
|
3
|
-
module Header
|
4
|
-
class Base < YARD::Handlers::C::Base
|
5
|
-
include YARD::MRuby::CodeObjects
|
6
|
-
|
7
|
-
def header(path)
|
8
|
-
# Remove include prefix
|
9
|
-
path = path.gsub(/^.*include\//,'')
|
10
|
-
|
11
|
-
headers[path] ||= begin
|
12
|
-
header = HeaderObject.new(HEADERS_ROOT, path)
|
13
|
-
register header
|
14
|
-
header
|
15
|
-
end
|
16
|
-
|
17
|
-
|
18
|
-
end
|
19
|
-
|
20
|
-
def headers
|
21
|
-
globals.mruby_headers ||= {}
|
22
|
-
end
|
23
|
-
|
24
|
-
end
|
25
|
-
|
26
|
-
end
|
27
|
-
|
28
|
-
YARD::Handlers::Processor.register_handler_namespace :header, Header
|
29
|
-
end
|
30
|
-
end
|
1
|
+
module YARD::MRuby::Handlers
|
2
|
+
module C
|
3
|
+
module Header
|
4
|
+
class Base < YARD::Handlers::C::Base
|
5
|
+
include YARD::MRuby::CodeObjects
|
6
|
+
|
7
|
+
def header(path)
|
8
|
+
# Remove include prefix
|
9
|
+
path = path.gsub(/^.*include\//,'')
|
10
|
+
|
11
|
+
headers[path] ||= begin
|
12
|
+
header = HeaderObject.new(HEADERS_ROOT, path)
|
13
|
+
register header
|
14
|
+
header
|
15
|
+
end
|
16
|
+
|
17
|
+
|
18
|
+
end
|
19
|
+
|
20
|
+
def headers
|
21
|
+
globals.mruby_headers ||= {}
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
YARD::Handlers::Processor.register_handler_namespace :header, Header
|
29
|
+
end
|
30
|
+
end
|
@@ -1,23 +1,23 @@
|
|
1
|
-
module YARD::MRuby::Handlers::C::Header
|
2
|
-
class DefineHandler < Base
|
3
|
-
MATCH = /
|
4
|
-
\#\s*define\s*(\w+)
|
5
|
-
/mx
|
6
|
-
|
7
|
-
handles MATCH
|
8
|
-
statement_class YARD::MRuby::Parser::C::DirectiveStatement
|
9
|
-
|
10
|
-
process do
|
11
|
-
header = self.header(statement.file)
|
12
|
-
|
13
|
-
statement.declaration.scan(MATCH) do |match|
|
14
|
-
register DefineObject.new(header, match.first) do |obj|
|
15
|
-
if statement.comments
|
16
|
-
register_docstring(obj, statement.comments.source, statement)
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
1
|
+
module YARD::MRuby::Handlers::C::Header
|
2
|
+
class DefineHandler < Base
|
3
|
+
MATCH = /
|
4
|
+
\#\s*define\s*(\w+)
|
5
|
+
/mx
|
6
|
+
|
7
|
+
handles MATCH
|
8
|
+
statement_class YARD::MRuby::Parser::C::DirectiveStatement
|
9
|
+
|
10
|
+
process do
|
11
|
+
header = self.header(statement.file)
|
12
|
+
|
13
|
+
statement.declaration.scan(MATCH) do |match|
|
14
|
+
register DefineObject.new(header, match.first) do |obj|
|
15
|
+
if statement.comments
|
16
|
+
register_docstring(obj, statement.comments.source, statement)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -1,33 +1,33 @@
|
|
1
|
-
module YARD::MRuby::Handlers::C::Header
|
2
|
-
class FunctionHandler < Base
|
3
|
-
MATCH = /
|
4
|
-
MRB_(API|INLINE)\s+
|
5
|
-
((struct\s+)?\w+(\s*\*)?)\s*
|
6
|
-
((\w+\s+)+)?(\w+)\s*
|
7
|
-
\(([\w\s\*,\.]*)\)
|
8
|
-
/mx
|
9
|
-
|
10
|
-
handles MATCH
|
11
|
-
statement_class ToplevelStatement
|
12
|
-
|
13
|
-
process do
|
14
|
-
handle_function(statement)
|
15
|
-
end
|
16
|
-
|
17
|
-
def handle_function(statement)
|
18
|
-
header = self.header(statement.file)
|
19
|
-
|
20
|
-
statement.source.scan(MATCH) do |type, retype, _,_,_,_, name, parameters|
|
21
|
-
register FunctionObject.new(header, name) do |obj|
|
22
|
-
if statement.comments
|
23
|
-
register_docstring(obj, statement.comments.source, statement)
|
24
|
-
end
|
25
|
-
|
26
|
-
obj.return_type = retype
|
27
|
-
obj.parse_parameter_types(parameters)
|
28
|
-
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
1
|
+
module YARD::MRuby::Handlers::C::Header
|
2
|
+
class FunctionHandler < Base
|
3
|
+
MATCH = /
|
4
|
+
MRB_(API|INLINE)\s+
|
5
|
+
((struct\s+)?\w+(\s*\*)?)\s*
|
6
|
+
((\w+\s+)+)?(\w+)\s*
|
7
|
+
\(([\w\s\*,\.]*)\)
|
8
|
+
/mx
|
9
|
+
|
10
|
+
handles MATCH
|
11
|
+
statement_class ToplevelStatement
|
12
|
+
|
13
|
+
process do
|
14
|
+
handle_function(statement)
|
15
|
+
end
|
16
|
+
|
17
|
+
def handle_function(statement)
|
18
|
+
header = self.header(statement.file)
|
19
|
+
|
20
|
+
statement.source.scan(MATCH) do |type, retype, _,_,_,_, name, parameters|
|
21
|
+
register FunctionObject.new(header, name) do |obj|
|
22
|
+
if statement.comments
|
23
|
+
register_docstring(obj, statement.comments.source, statement)
|
24
|
+
end
|
25
|
+
|
26
|
+
obj.return_type = retype
|
27
|
+
obj.parse_parameter_types(parameters)
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -1,20 +1,20 @@
|
|
1
|
-
module YARD::MRuby::Handlers::C::Header
|
2
|
-
class HeaderDeclHandler < Base
|
3
|
-
MATCH = /
|
4
|
-
MRB_BEGIN_DECL
|
5
|
-
/mx
|
6
|
-
|
7
|
-
handles MATCH
|
8
|
-
statement_class ToplevelStatement
|
9
|
-
|
10
|
-
process do
|
11
|
-
header = self.header(statement.file)
|
12
|
-
|
13
|
-
if statement.comments
|
14
|
-
register_docstring(header, statement.comments.source, statement)
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
1
|
+
module YARD::MRuby::Handlers::C::Header
|
2
|
+
class HeaderDeclHandler < Base
|
3
|
+
MATCH = /
|
4
|
+
MRB_BEGIN_DECL
|
5
|
+
/mx
|
6
|
+
|
7
|
+
handles MATCH
|
8
|
+
statement_class ToplevelStatement
|
9
|
+
|
10
|
+
process do
|
11
|
+
header = self.header(statement.file)
|
12
|
+
|
13
|
+
if statement.comments
|
14
|
+
register_docstring(header, statement.comments.source, statement)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
@@ -1,31 +1,31 @@
|
|
1
|
-
module YARD::MRuby::Handlers::C::Header
|
2
|
-
class TypedefHandler < Base
|
3
|
-
MATCH = /
|
4
|
-
typedef
|
5
|
-
(\s+(\*)?([A-Za-z0-9_\*]+))+
|
6
|
-
;
|
7
|
-
/mx
|
8
|
-
|
9
|
-
|
10
|
-
handles MATCH
|
11
|
-
statement_class ToplevelStatement
|
12
|
-
|
13
|
-
process do
|
14
|
-
handle_typedef(statement)
|
15
|
-
end
|
16
|
-
|
17
|
-
def handle_typedef(statement)
|
18
|
-
header = self.header(statement.file)
|
19
|
-
|
20
|
-
statement.source.scan(MATCH) do |match|
|
21
|
-
name = match.last
|
22
|
-
register TypedefObject.new(header, name) do |obj|
|
23
|
-
if statement.comments
|
24
|
-
register_docstring(obj, statement.comments.source, statement)
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
1
|
+
module YARD::MRuby::Handlers::C::Header
|
2
|
+
class TypedefHandler < Base
|
3
|
+
MATCH = /
|
4
|
+
typedef
|
5
|
+
(\s+(\*)?([A-Za-z0-9_\*]+))+
|
6
|
+
;
|
7
|
+
/mx
|
8
|
+
|
9
|
+
|
10
|
+
handles MATCH
|
11
|
+
statement_class ToplevelStatement
|
12
|
+
|
13
|
+
process do
|
14
|
+
handle_typedef(statement)
|
15
|
+
end
|
16
|
+
|
17
|
+
def handle_typedef(statement)
|
18
|
+
header = self.header(statement.file)
|
19
|
+
|
20
|
+
statement.source.scan(MATCH) do |match|
|
21
|
+
name = match.last
|
22
|
+
register TypedefObject.new(header, name) do |obj|
|
23
|
+
if statement.comments
|
24
|
+
register_docstring(obj, statement.comments.source, statement)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -1,7 +1,7 @@
|
|
1
|
-
require_relative 'source/base'
|
2
|
-
require_relative 'source/init_handler'
|
3
|
-
require_relative 'source/symbol_handler'
|
4
|
-
require_relative 'source/class_handler'
|
5
|
-
require_relative 'source/module_handler'
|
6
|
-
require_relative 'source/method_handler'
|
7
|
-
|
1
|
+
require_relative 'source/base'
|
2
|
+
require_relative 'source/init_handler'
|
3
|
+
require_relative 'source/symbol_handler'
|
4
|
+
require_relative 'source/class_handler'
|
5
|
+
require_relative 'source/module_handler'
|
6
|
+
require_relative 'source/method_handler'
|
7
|
+
|