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.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +9 -9
  3. data/.rspec +2 -2
  4. data/.travis.yml +4 -4
  5. data/CODE_OF_CONDUCT.md +13 -13
  6. data/Gemfile +4 -4
  7. data/LICENSE.txt +21 -21
  8. data/README.md +31 -31
  9. data/Rakefile +6 -6
  10. data/bin/console +14 -14
  11. data/bin/setup +7 -7
  12. data/exe/mrbdoc +5 -5
  13. data/lib/yard-mruby.rb +1 -1
  14. data/lib/yard/mruby.rb +9 -9
  15. data/lib/yard/mruby/cli.rb +1 -1
  16. data/lib/yard/mruby/cli/yardoc.rb +14 -14
  17. data/lib/yard/mruby/code_objects.rb +6 -6
  18. data/lib/yard/mruby/code_objects/define_object.rb +8 -8
  19. data/lib/yard/mruby/code_objects/function_object.rb +72 -72
  20. data/lib/yard/mruby/code_objects/header_base_object.rb +15 -15
  21. data/lib/yard/mruby/code_objects/header_object.rb +30 -30
  22. data/lib/yard/mruby/code_objects/headers_root.rb +14 -14
  23. data/lib/yard/mruby/code_objects/typedef_object.rb +8 -8
  24. data/lib/yard/mruby/handlers.rb +1 -1
  25. data/lib/yard/mruby/handlers/c.rb +4 -4
  26. data/lib/yard/mruby/handlers/c/header.rb +5 -5
  27. data/lib/yard/mruby/handlers/c/header/base.rb +30 -30
  28. data/lib/yard/mruby/handlers/c/header/define_handler.rb +23 -23
  29. data/lib/yard/mruby/handlers/c/header/function_handler.rb +33 -33
  30. data/lib/yard/mruby/handlers/c/header/header_decl_handler.rb +20 -20
  31. data/lib/yard/mruby/handlers/c/header/typedef_handler.rb +31 -31
  32. data/lib/yard/mruby/handlers/c/source.rb +7 -7
  33. data/lib/yard/mruby/handlers/c/source/base.rb +56 -56
  34. data/lib/yard/mruby/handlers/c/source/class_handler.rb +35 -35
  35. data/lib/yard/mruby/handlers/c/source/init_handler.rb +16 -16
  36. data/lib/yard/mruby/handlers/c/source/method_handler.rb +25 -25
  37. data/lib/yard/mruby/handlers/c/source/module_handler.rb +34 -34
  38. data/lib/yard/mruby/handlers/c/source/symbol_handler.rb +16 -16
  39. data/lib/yard/mruby/parser.rb +1 -1
  40. data/lib/yard/mruby/parser/c.rb +4 -4
  41. data/lib/yard/mruby/parser/c/directive_statement.rb +6 -6
  42. data/lib/yard/mruby/parser/c/header_parser.rb +49 -49
  43. data/lib/yard/mruby/parser/c/parser.rb +10 -10
  44. data/lib/yard/mruby/parser/c/source_parser.rb +9 -9
  45. data/lib/yard/mruby/tags.rb +2 -2
  46. data/lib/yard/mruby/templates.rb +9 -9
  47. data/lib/yard/mruby/templates/helpers.rb +1 -1
  48. data/lib/yard/mruby/templates/helpers/html_helper.rb +32 -32
  49. data/lib/yard/mruby/version.rb +5 -5
  50. data/sample/.gitignore +5 -5
  51. data/sample/.inch.yml +3 -3
  52. data/sample/.travis.yml +2 -2
  53. data/sample/.yardopts +4 -4
  54. data/sample/CODE_OF_CONDUCT.md +13 -13
  55. data/sample/Gemfile +5 -5
  56. data/sample/LICENSE.txt +21 -21
  57. data/sample/README.md +12 -12
  58. data/sample/build_config.rb +9 -9
  59. data/sample/include/sample.h +37 -37
  60. data/sample/mrbgem.rake +15 -15
  61. data/sample/mrblib/sample.rb +14 -14
  62. data/sample/src/sample.c +34 -34
  63. data/sample/test/sample_spec.rb +11 -11
  64. data/templates/default/fulldoc/html/full_list_functions.erb +10 -10
  65. data/templates/default/fulldoc/html/full_list_headers.erb +10 -10
  66. data/templates/default/fulldoc/html/setup.rb +62 -62
  67. data/templates/default/function_details/html/function_signature.erb +10 -10
  68. data/templates/default/function_details/html/header.erb +3 -3
  69. data/templates/default/function_details/html/source.erb +10 -10
  70. data/templates/default/function_details/setup.rb +12 -12
  71. data/templates/default/header/html/define_summary.erb +11 -11
  72. data/templates/default/header/html/function_details_list.erb +7 -7
  73. data/templates/default/header/html/function_summary.erb +12 -12
  74. data/templates/default/header/html/functions.erb +1 -1
  75. data/templates/default/header/html/header.erb +1 -1
  76. data/templates/default/header/html/includes.erb +1 -1
  77. data/templates/default/header/html/item_summary.erb +19 -19
  78. data/templates/default/header/html/pre_docstring.erb +1 -1
  79. data/templates/default/header/html/setup.rb +32 -32
  80. data/templates/default/header/html/typedef_summary.erb +11 -11
  81. data/templates/default/headersroot/html/headers_list.erb +6 -6
  82. data/templates/default/headersroot/html/setup.rb +10 -10
  83. data/templates/default/layout/html/footer.erb +5 -5
  84. data/templates/default/layout/html/setup.rb +52 -52
  85. data/templates/default/tags/html/iso.erb +3 -3
  86. data/templates/default/tags/html/mrbgem.erb +3 -3
  87. data/templates/default/tags/setup.rb +10 -10
  88. data/yard-mruby.gemspec +27 -27
  89. metadata +7 -7
@@ -1,56 +1,56 @@
1
- module YARD::MRuby::Handlers
2
- module C
3
- module Source
4
- class Base < YARD::Handlers::C::Base
5
-
6
- DEFAULT_NAMESPACES = {
7
- # 'mrb->top_self' => '',
8
- 'object_class' => 'Object',
9
- 'class_class' => 'Class',
10
- 'module_class' => 'Module',
11
- 'proc_class' => 'Proc',
12
- 'string_class' => 'String',
13
- 'array_class' => 'Array',
14
- 'hash_class' => 'Hash',
15
- 'float_class' => 'Float',
16
- 'fixnum_class' => 'Fixnum',
17
- 'true_class' => 'TrueClass',
18
- 'false_class' => 'FalseClass',
19
- 'nil_class' => 'NilClass',
20
- 'symbol_class' => 'Symbol',
21
- 'kernel_module' => 'Kernel',
22
- 'eException_class' => 'Exception',
23
- 'eStandardError_class' => 'StandardError'
24
- }
25
-
26
- def namespace_for_variable(var)
27
- DEFAULT_NAMESPACES[ var[/^\w+->(\w+)$/, 1] ] || super
28
- end
29
-
30
- def handle_class(var_name, class_name, parent, stmt, in_module = nil)
31
- object = super(var_name, class_name, parent, in_module)
32
-
33
- if stmt.comments
34
- register_docstring(object, stmt.comments.source, stmt)
35
- end
36
-
37
- object
38
- end
39
-
40
- def handle_module(var_name, module_name, stmt, in_module = nil)
41
- object = super(var_name, module_name, in_module)
42
-
43
- if stmt.comments
44
- register_docstring(object, stmt.comments.source, stmt)
45
- end
46
-
47
- object
48
- end
49
-
50
- end
51
-
52
- end
53
-
54
- YARD::Handlers::Processor.register_handler_namespace :source, Source
55
- end
56
- end
1
+ module YARD::MRuby::Handlers
2
+ module C
3
+ module Source
4
+ class Base < YARD::Handlers::C::Base
5
+
6
+ DEFAULT_NAMESPACES = {
7
+ # 'mrb->top_self' => '',
8
+ 'object_class' => 'Object',
9
+ 'class_class' => 'Class',
10
+ 'module_class' => 'Module',
11
+ 'proc_class' => 'Proc',
12
+ 'string_class' => 'String',
13
+ 'array_class' => 'Array',
14
+ 'hash_class' => 'Hash',
15
+ 'float_class' => 'Float',
16
+ 'fixnum_class' => 'Fixnum',
17
+ 'true_class' => 'TrueClass',
18
+ 'false_class' => 'FalseClass',
19
+ 'nil_class' => 'NilClass',
20
+ 'symbol_class' => 'Symbol',
21
+ 'kernel_module' => 'Kernel',
22
+ 'eException_class' => 'Exception',
23
+ 'eStandardError_class' => 'StandardError'
24
+ }
25
+
26
+ def namespace_for_variable(var)
27
+ DEFAULT_NAMESPACES[ var[/^\w+->(\w+)$/, 1] ] || super
28
+ end
29
+
30
+ def handle_class(var_name, class_name, parent, stmt, in_module = nil)
31
+ object = super(var_name, class_name, parent, in_module)
32
+
33
+ if stmt.comments
34
+ register_docstring(object, stmt.comments.source, stmt)
35
+ end
36
+
37
+ object
38
+ end
39
+
40
+ def handle_module(var_name, module_name, stmt, in_module = nil)
41
+ object = super(var_name, module_name, in_module)
42
+
43
+ if stmt.comments
44
+ register_docstring(object, stmt.comments.source, stmt)
45
+ end
46
+
47
+ object
48
+ end
49
+
50
+ end
51
+
52
+ end
53
+
54
+ YARD::Handlers::Processor.register_handler_namespace :source, Source
55
+ end
56
+ end
@@ -1,35 +1,35 @@
1
- module YARD::MRuby::Handlers::C::Source
2
- class ClassHandler < Base
3
-
4
- TOP_LEVEL_CLASS = /([\w]+)\s*=\s*mrb_define_class\s*
5
- \(
6
- \s*\w+\s*,
7
- \s*"(\w+)"\s*,
8
- \s*([\w\->]+)\s*
9
- \)
10
- /mx
11
-
12
- NAMESPACED_CLASS = /([\w]+)\s*=\s*mrb_define_class_under\s*
13
- \(
14
- \s*\w+\s*,
15
- \s*(\w+)\s*,
16
- \s*"(\w+)"\s*,
17
- \s*([\w\->]+)\s*
18
- \)
19
- /mx
20
-
21
- handles TOP_LEVEL_CLASS
22
- handles NAMESPACED_CLASS
23
-
24
- statement_class BodyStatement
25
-
26
- process do
27
- statement.source.scan(TOP_LEVEL_CLASS) do |var_name, class_name, parent|
28
- handle_class(var_name, class_name, parent, statement)
29
- end
30
- statement.source.scan(NAMESPACED_CLASS) do |var_name, in_module, class_name, parent|
31
- handle_class(var_name, class_name, parent, statement, in_module)
32
- end
33
- end
34
- end
35
- end
1
+ module YARD::MRuby::Handlers::C::Source
2
+ class ClassHandler < Base
3
+
4
+ TOP_LEVEL_CLASS = /([\w]+)\s*=\s*mrb_define_class\s*
5
+ \(
6
+ \s*\w+\s*,
7
+ \s*"(\w+)"\s*,
8
+ \s*([\w\->]+)\s*
9
+ \)
10
+ /mx
11
+
12
+ NAMESPACED_CLASS = /([\w]+)\s*=\s*mrb_define_class_under\s*
13
+ \(
14
+ \s*\w+\s*,
15
+ \s*(\w+)\s*,
16
+ \s*"(\w+)"\s*,
17
+ \s*([\w\->]+)\s*
18
+ \)
19
+ /mx
20
+
21
+ handles TOP_LEVEL_CLASS
22
+ handles NAMESPACED_CLASS
23
+
24
+ statement_class BodyStatement
25
+
26
+ process do
27
+ statement.source.scan(TOP_LEVEL_CLASS) do |var_name, class_name, parent|
28
+ handle_class(var_name, class_name, parent, statement)
29
+ end
30
+ statement.source.scan(NAMESPACED_CLASS) do |var_name, in_module, class_name, parent|
31
+ handle_class(var_name, class_name, parent, statement, in_module)
32
+ end
33
+ end
34
+ end
35
+ end
@@ -1,16 +1,16 @@
1
- module YARD::MRuby::Handlers::C::Source
2
- class InitHandler < Base
3
- MATCH1 = /mrb_\w+_gem_init\s*\(/mx
4
- MATCH2 = /mrb_init_/mx
5
-
6
- handles MATCH1
7
- handles MATCH2
8
- statement_class ToplevelStatement
9
-
10
- process do
11
- parse_block
12
- end
13
-
14
- end
15
- end
16
-
1
+ module YARD::MRuby::Handlers::C::Source
2
+ class InitHandler < Base
3
+ MATCH1 = /mrb_\w+_gem_init\s*\(/mx
4
+ MATCH2 = /mrb_init_/mx
5
+
6
+ handles MATCH1
7
+ handles MATCH2
8
+ statement_class ToplevelStatement
9
+
10
+ process do
11
+ parse_block
12
+ end
13
+
14
+ end
15
+ end
16
+
@@ -1,25 +1,25 @@
1
- module YARD::MRuby::Handlers::C::Source
2
- class MethodHandler < Base
3
- MATCH1 = /mrb_define_(
4
- method |
5
- singleton_method |
6
- module_function
7
- )
8
- \s*\(
9
- \s*\w+\s*,
10
- \s*(\w+)\s*,
11
- \s*"([^"]+)"\s*,
12
- \s*(\w+)\s*,
13
- /mx
14
-
15
- handles MATCH1
16
- statement_class BodyStatement
17
-
18
- process do
19
- statement.source.scan(MATCH1) do |type,var_name, name, func_name|
20
- handle_method(type, var_name, name, func_name)
21
- end
22
- end
23
-
24
- end
25
- end
1
+ module YARD::MRuby::Handlers::C::Source
2
+ class MethodHandler < Base
3
+ MATCH1 = /mrb_define_(
4
+ method |
5
+ singleton_method |
6
+ module_function
7
+ )
8
+ \s*\(
9
+ \s*\w+\s*,
10
+ \s*(\w+)\s*,
11
+ \s*"([^"]+)"\s*,
12
+ \s*(\w+)\s*,
13
+ /mx
14
+
15
+ handles MATCH1
16
+ statement_class BodyStatement
17
+
18
+ process do
19
+ statement.source.scan(MATCH1) do |type,var_name, name, func_name|
20
+ handle_method(type, var_name, name, func_name)
21
+ end
22
+ end
23
+
24
+ end
25
+ end
@@ -1,34 +1,34 @@
1
- module YARD::MRuby::Handlers::C::Source
2
- class ModuleHandler < Base
3
-
4
- TOP_LEVEL_MODULE = /([\w]+)\s*=\s*mrb_define_module\s*
5
- \(
6
- \s*\w+\s*,
7
- \s*"(\w+)"\s*
8
- \)
9
- /mx
10
-
11
- NAMESPACED_MODULE = /([\w]+)\s*=\s*mrb_define_module_under\s*
12
- \(
13
- \s*\w+\s*,
14
- \s*(\w+)\s*,
15
- \s*"(\w+)"\s*
16
- \)
17
- /mx
18
-
19
- handles TOP_LEVEL_MODULE
20
- handles NAMESPACED_MODULE
21
-
22
- statement_class BodyStatement
23
-
24
- process do
25
- statement.source.scan(TOP_LEVEL_MODULE) do |var_name, module_name|
26
- handle_module(var_name, module_name, statement)
27
- end
28
- statement.source.scan(NAMESPACED_MODULE) do |var_name, in_module, module_name|
29
- handle_module(var_name, module_name, statement, in_module)
30
- end
31
- end
32
- end
33
- end
34
-
1
+ module YARD::MRuby::Handlers::C::Source
2
+ class ModuleHandler < Base
3
+
4
+ TOP_LEVEL_MODULE = /([\w]+)\s*=\s*mrb_define_module\s*
5
+ \(
6
+ \s*\w+\s*,
7
+ \s*"(\w+)"\s*
8
+ \)
9
+ /mx
10
+
11
+ NAMESPACED_MODULE = /([\w]+)\s*=\s*mrb_define_module_under\s*
12
+ \(
13
+ \s*\w+\s*,
14
+ \s*(\w+)\s*,
15
+ \s*"(\w+)"\s*
16
+ \)
17
+ /mx
18
+
19
+ handles TOP_LEVEL_MODULE
20
+ handles NAMESPACED_MODULE
21
+
22
+ statement_class BodyStatement
23
+
24
+ process do
25
+ statement.source.scan(TOP_LEVEL_MODULE) do |var_name, module_name|
26
+ handle_module(var_name, module_name, statement)
27
+ end
28
+ statement.source.scan(NAMESPACED_MODULE) do |var_name, in_module, module_name|
29
+ handle_module(var_name, module_name, statement, in_module)
30
+ end
31
+ end
32
+ end
33
+ end
34
+
@@ -1,16 +1,16 @@
1
- module YARD::MRuby::Handlers::C::Source
2
- # Keeps track of function bodies for symbol lookup during MRuby method declarations
3
- class SymbolHandler < Base
4
-
5
- MATCH = /
6
- mrb_value\s*(\w+)\s*\(\s*mrb_state\s*\*\s*\w+,\s*mrb_value\s*\w+\s*\)
7
- /mx
8
-
9
- handles MATCH
10
- statement_class ToplevelStatement
11
-
12
- process do
13
- symbols[statement.source[MATCH, 1]] = statement
14
- end
15
- end
16
- end
1
+ module YARD::MRuby::Handlers::C::Source
2
+ # Keeps track of function bodies for symbol lookup during MRuby method declarations
3
+ class SymbolHandler < Base
4
+
5
+ MATCH = /
6
+ mrb_value\s*(\w+)\s*\(\s*mrb_state\s*\*\s*\w+,\s*mrb_value\s*\w+\s*\)
7
+ /mx
8
+
9
+ handles MATCH
10
+ statement_class ToplevelStatement
11
+
12
+ process do
13
+ symbols[statement.source[MATCH, 1]] = statement
14
+ end
15
+ end
16
+ end
@@ -1 +1 @@
1
- require_relative 'parser/c'
1
+ require_relative 'parser/c'
@@ -1,4 +1,4 @@
1
- require_relative 'c/parser'
2
- require_relative 'c/source_parser'
3
- require_relative 'c/header_parser'
4
- require_relative 'c/directive_statement'
1
+ require_relative 'c/parser'
2
+ require_relative 'c/source_parser'
3
+ require_relative 'c/header_parser'
4
+ require_relative 'c/directive_statement'
@@ -1,6 +1,6 @@
1
- module YARD::MRuby::Parser::C
2
- class DirectiveStatement < YARD::Parser::C::Statement
3
- attr_accessor :declaration
4
- attr_accessor :comments
5
- end
6
- end
1
+ module YARD::MRuby::Parser::C
2
+ class DirectiveStatement < YARD::Parser::C::Statement
3
+ attr_accessor :declaration
4
+ attr_accessor :comments
5
+ end
6
+ end
@@ -1,49 +1,49 @@
1
- module YARD::MRuby::Parser::C
2
- class HeaderParser < Parser
3
-
4
- # Consumes a directive and generates a DirectiveStatement
5
- def consume_directive
6
- super if @in_body_statements
7
-
8
- @newline = false
9
- start = @index
10
- line = @line
11
- statement = DirectiveStatement.new(nil, @file, line)
12
- @statements << statement
13
- attach_comment(statement)
14
-
15
- multiline = false
16
- advance_loop do
17
- chr = char
18
- case chr
19
- when '\\'; multiline=true; advance
20
- when /\s/; consume_whitespace
21
- else advance
22
- end
23
-
24
- if @newline
25
- if multiline
26
- multiline = false
27
- else
28
- break
29
- end
30
- end
31
- end
32
-
33
- decl = @content[start...@index]
34
-
35
- statement.declaration = decl
36
- end
37
-
38
- def consume_body_statements
39
- @in_body_statements = true
40
- result = super
41
- @in_body_statements = false
42
- result
43
- end
44
- end
45
-
46
- #
47
- # Register all header files (.h) to be processed with the above HeaderParser
48
- YARD::Parser::SourceParser.register_parser_type :header, HeaderParser, 'h'
49
- end
1
+ module YARD::MRuby::Parser::C
2
+ class HeaderParser < Parser
3
+
4
+ # Consumes a directive and generates a DirectiveStatement
5
+ def consume_directive
6
+ super if @in_body_statements
7
+
8
+ @newline = false
9
+ start = @index
10
+ line = @line
11
+ statement = DirectiveStatement.new(nil, @file, line)
12
+ @statements << statement
13
+ attach_comment(statement)
14
+
15
+ multiline = false
16
+ advance_loop do
17
+ chr = char
18
+ case chr
19
+ when '\\'; multiline=true; advance
20
+ when /\s/; consume_whitespace
21
+ else advance
22
+ end
23
+
24
+ if @newline
25
+ if multiline
26
+ multiline = false
27
+ else
28
+ break
29
+ end
30
+ end
31
+ end
32
+
33
+ decl = @content[start...@index]
34
+
35
+ statement.declaration = decl
36
+ end
37
+
38
+ def consume_body_statements
39
+ @in_body_statements = true
40
+ result = super
41
+ @in_body_statements = false
42
+ result
43
+ end
44
+ end
45
+
46
+ #
47
+ # Register all header files (.h) to be processed with the above HeaderParser
48
+ YARD::Parser::SourceParser.register_parser_type :header, HeaderParser, 'h'
49
+ end