rucoa 0.10.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +8 -2
  3. data/Gemfile.lock +3 -3
  4. data/README.md +4 -1
  5. data/data/definitions_ruby_3_1 +6594 -6594
  6. data/lib/rucoa/configuration.rb +22 -12
  7. data/lib/rucoa/definition_store.rb +270 -158
  8. data/lib/rucoa/definitions/method_definition.rb +11 -11
  9. data/lib/rucoa/definitions/module_definition.rb +14 -0
  10. data/lib/rucoa/handler_concerns/configuration_requestable.rb +7 -7
  11. data/lib/rucoa/handler_concerns/diagnostics_publishable.rb +11 -11
  12. data/lib/rucoa/handler_concerns/text_document_position_parameters.rb +29 -0
  13. data/lib/rucoa/handler_concerns/text_document_uri_parameters.rb +21 -0
  14. data/lib/rucoa/handler_concerns.rb +2 -0
  15. data/lib/rucoa/handlers/base.rb +9 -9
  16. data/lib/rucoa/handlers/initialize_handler.rb +1 -0
  17. data/lib/rucoa/handlers/initialized_handler.rb +16 -16
  18. data/lib/rucoa/handlers/text_document_code_action_handler.rb +12 -12
  19. data/lib/rucoa/handlers/text_document_completion_handler.rb +85 -99
  20. data/lib/rucoa/handlers/text_document_definition_handler.rb +11 -30
  21. data/lib/rucoa/handlers/text_document_did_close_handler.rb +2 -8
  22. data/lib/rucoa/handlers/text_document_did_open_handler.rb +3 -7
  23. data/lib/rucoa/handlers/text_document_document_highlight_handler.rb +256 -0
  24. data/lib/rucoa/handlers/text_document_document_symbol_handler.rb +47 -76
  25. data/lib/rucoa/handlers/text_document_formatting_handler.rb +15 -23
  26. data/lib/rucoa/handlers/text_document_hover_handler.rb +24 -43
  27. data/lib/rucoa/handlers/text_document_range_formatting_handler.rb +17 -25
  28. data/lib/rucoa/handlers/text_document_selection_range_handler.rb +11 -19
  29. data/lib/rucoa/handlers/text_document_signature_help_handler.rb +17 -36
  30. data/lib/rucoa/handlers.rb +1 -0
  31. data/lib/rucoa/node_concerns/body.rb +1 -1
  32. data/lib/rucoa/node_concerns/qualified_name.rb +5 -5
  33. data/lib/rucoa/node_concerns/rescue.rb +21 -0
  34. data/lib/rucoa/node_concerns.rb +1 -0
  35. data/lib/rucoa/node_inspector.rb +17 -6
  36. data/lib/rucoa/nodes/base.rb +48 -48
  37. data/lib/rucoa/nodes/begin_node.rb +2 -0
  38. data/lib/rucoa/nodes/block_node.rb +24 -0
  39. data/lib/rucoa/nodes/case_node.rb +24 -0
  40. data/lib/rucoa/nodes/const_node.rb +26 -26
  41. data/lib/rucoa/nodes/def_node.rb +14 -13
  42. data/lib/rucoa/nodes/ensure_node.rb +19 -0
  43. data/lib/rucoa/nodes/for_node.rb +8 -0
  44. data/lib/rucoa/nodes/if_node.rb +32 -0
  45. data/lib/rucoa/nodes/resbody_node.rb +8 -0
  46. data/lib/rucoa/nodes/rescue_node.rb +17 -0
  47. data/lib/rucoa/nodes/send_node.rb +40 -0
  48. data/lib/rucoa/nodes/until_node.rb +8 -0
  49. data/lib/rucoa/nodes/when_node.rb +8 -0
  50. data/lib/rucoa/nodes/while_node.rb +8 -0
  51. data/lib/rucoa/nodes.rb +10 -1
  52. data/lib/rucoa/parser_builder.rb +16 -2
  53. data/lib/rucoa/range.rb +9 -3
  54. data/lib/rucoa/rbs/class_definition_mapper.rb +1 -0
  55. data/lib/rucoa/rbs/constant_definition_mapper.rb +5 -5
  56. data/lib/rucoa/rbs/method_definition_mapper.rb +18 -18
  57. data/lib/rucoa/rbs/module_definition_mapper.rb +17 -12
  58. data/lib/rucoa/rbs/ruby_definitions_loader.rb +5 -5
  59. data/lib/rucoa/rubocop/configuration_checker.rb +7 -7
  60. data/lib/rucoa/server.rb +25 -24
  61. data/lib/rucoa/source.rb +5 -5
  62. data/lib/rucoa/source_store.rb +8 -8
  63. data/lib/rucoa/version.rb +1 -1
  64. data/lib/rucoa/yard/definition_generators/attribute_reader_definition_generator.rb +17 -1
  65. data/lib/rucoa/yard/definition_generators/attribute_writer_definition_generator.rb +17 -1
  66. data/lib/rucoa/yard/definition_generators/class_definition_generator.rb +1 -0
  67. data/lib/rucoa/yard/definition_generators/method_definition_generator.rb +14 -1
  68. data/lib/rucoa/yard/definition_generators/module_definition_generator.rb +6 -0
  69. metadata +16 -3
  70. data/lib/rucoa/nodes/defs_node.rb +0 -33
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rucoa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakamura
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-09-24 00:00:00.000000000 Z
11
+ date: 2022-09-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: parser
@@ -104,6 +104,8 @@ files:
104
104
  - lib/rucoa/handler_concerns.rb
105
105
  - lib/rucoa/handler_concerns/configuration_requestable.rb
106
106
  - lib/rucoa/handler_concerns/diagnostics_publishable.rb
107
+ - lib/rucoa/handler_concerns/text_document_position_parameters.rb
108
+ - lib/rucoa/handler_concerns/text_document_uri_parameters.rb
107
109
  - lib/rucoa/handlers.rb
108
110
  - lib/rucoa/handlers/base.rb
109
111
  - lib/rucoa/handlers/exit_handler.rb
@@ -116,6 +118,7 @@ files:
116
118
  - lib/rucoa/handlers/text_document_did_change_handler.rb
117
119
  - lib/rucoa/handlers/text_document_did_close_handler.rb
118
120
  - lib/rucoa/handlers/text_document_did_open_handler.rb
121
+ - lib/rucoa/handlers/text_document_document_highlight_handler.rb
119
122
  - lib/rucoa/handlers/text_document_document_symbol_handler.rb
120
123
  - lib/rucoa/handlers/text_document_formatting_handler.rb
121
124
  - lib/rucoa/handlers/text_document_hover_handler.rb
@@ -129,22 +132,32 @@ files:
129
132
  - lib/rucoa/node_concerns.rb
130
133
  - lib/rucoa/node_concerns/body.rb
131
134
  - lib/rucoa/node_concerns/qualified_name.rb
135
+ - lib/rucoa/node_concerns/rescue.rb
132
136
  - lib/rucoa/node_inspector.rb
133
137
  - lib/rucoa/nodes.rb
134
138
  - lib/rucoa/nodes/base.rb
135
139
  - lib/rucoa/nodes/begin_node.rb
140
+ - lib/rucoa/nodes/block_node.rb
141
+ - lib/rucoa/nodes/case_node.rb
136
142
  - lib/rucoa/nodes/casgn_node.rb
137
143
  - lib/rucoa/nodes/cbase_node.rb
138
144
  - lib/rucoa/nodes/class_node.rb
139
145
  - lib/rucoa/nodes/const_node.rb
140
146
  - lib/rucoa/nodes/def_node.rb
141
- - lib/rucoa/nodes/defs_node.rb
147
+ - lib/rucoa/nodes/ensure_node.rb
148
+ - lib/rucoa/nodes/for_node.rb
149
+ - lib/rucoa/nodes/if_node.rb
142
150
  - lib/rucoa/nodes/lvar_node.rb
143
151
  - lib/rucoa/nodes/module_node.rb
152
+ - lib/rucoa/nodes/resbody_node.rb
153
+ - lib/rucoa/nodes/rescue_node.rb
144
154
  - lib/rucoa/nodes/sclass_node.rb
145
155
  - lib/rucoa/nodes/send_node.rb
146
156
  - lib/rucoa/nodes/str_node.rb
147
157
  - lib/rucoa/nodes/sym_node.rb
158
+ - lib/rucoa/nodes/until_node.rb
159
+ - lib/rucoa/nodes/when_node.rb
160
+ - lib/rucoa/nodes/while_node.rb
148
161
  - lib/rucoa/parse_result.rb
149
162
  - lib/rucoa/parser.rb
150
163
  - lib/rucoa/parser_builder.rb
@@ -1,33 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Rucoa
4
- module Nodes
5
- class DefsNode < Base
6
- # @return [String]
7
- def qualified_name
8
- [
9
- namespace,
10
- method_marker,
11
- name
12
- ].join
13
- end
14
-
15
- # @return [String]
16
- def name
17
- children[1].to_s
18
- end
19
-
20
- # @return [Boolean]
21
- def singleton?
22
- true
23
- end
24
-
25
- private
26
-
27
- # @return [String]
28
- def method_marker
29
- '.'
30
- end
31
- end
32
- end
33
- end