ruby-lsp 0.0.2 → 0.1.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 (83) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +9 -1
  3. data/.github/workflows/publish_docs.yml +32 -0
  4. data/.rubocop.yml +25 -0
  5. data/CHANGELOG.md +23 -0
  6. data/Gemfile +8 -4
  7. data/Gemfile.lock +64 -13
  8. data/README.md +58 -1
  9. data/Rakefile +5 -0
  10. data/VERSION +1 -1
  11. data/bin/tapioca +29 -0
  12. data/dev.yml +3 -0
  13. data/exe/ruby-lsp +19 -3
  14. data/lib/ruby-lsp.rb +2 -0
  15. data/lib/ruby_lsp/cli.rb +23 -7
  16. data/lib/ruby_lsp/document.rb +98 -6
  17. data/lib/ruby_lsp/handler.rb +119 -18
  18. data/lib/ruby_lsp/internal.rb +7 -0
  19. data/lib/ruby_lsp/requests/base_request.rb +19 -5
  20. data/lib/ruby_lsp/requests/code_actions.rb +30 -9
  21. data/lib/ruby_lsp/requests/diagnostics.rb +29 -77
  22. data/lib/ruby_lsp/requests/document_highlight.rb +111 -0
  23. data/lib/ruby_lsp/requests/document_symbol.rb +75 -16
  24. data/lib/ruby_lsp/requests/folding_ranges.rb +63 -19
  25. data/lib/ruby_lsp/requests/formatting.rb +19 -2
  26. data/lib/ruby_lsp/requests/rubocop_request.rb +21 -8
  27. data/lib/ruby_lsp/requests/selection_ranges.rb +114 -0
  28. data/lib/ruby_lsp/requests/semantic_highlighting.rb +132 -61
  29. data/lib/ruby_lsp/requests/support/rubocop_diagnostic.rb +100 -0
  30. data/lib/ruby_lsp/requests/support/selection_range.rb +20 -0
  31. data/lib/ruby_lsp/requests/support/semantic_token_encoder.rb +70 -0
  32. data/lib/ruby_lsp/requests/support/syntax_error_diagnostic.rb +32 -0
  33. data/lib/ruby_lsp/requests.rb +10 -0
  34. data/lib/ruby_lsp/store.rb +23 -2
  35. data/rakelib/check_docs.rake +57 -0
  36. data/ruby-lsp.gemspec +2 -1
  37. data/sorbet/config +4 -0
  38. data/sorbet/rbi/.rubocop.yml +8 -0
  39. data/sorbet/rbi/gems/ansi@1.5.0.rbi +338 -0
  40. data/sorbet/rbi/gems/ast@2.4.2.rbi +522 -0
  41. data/sorbet/rbi/gems/builder@3.2.4.rbi +418 -0
  42. data/sorbet/rbi/gems/coderay@1.1.3.rbi +8 -0
  43. data/sorbet/rbi/gems/debug@1.5.0.rbi +1273 -0
  44. data/sorbet/rbi/gems/diff-lcs@1.5.0.rbi +867 -0
  45. data/sorbet/rbi/gems/io-console@0.5.11.rbi +8 -0
  46. data/sorbet/rbi/gems/irb@1.4.1.rbi +376 -0
  47. data/sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi +7325 -0
  48. data/sorbet/rbi/gems/method_source@1.0.0.rbi +8 -0
  49. data/sorbet/rbi/gems/minitest-reporters@1.5.0.rbi +612 -0
  50. data/sorbet/rbi/gems/minitest@5.15.0.rbi +994 -0
  51. data/sorbet/rbi/gems/parallel@1.22.1.rbi +163 -0
  52. data/sorbet/rbi/gems/parser@3.1.2.0.rbi +3968 -0
  53. data/sorbet/rbi/gems/prettier_print@0.1.0.rbi +734 -0
  54. data/sorbet/rbi/gems/pry@0.14.1.rbi +8 -0
  55. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +227 -0
  56. data/sorbet/rbi/gems/rake@13.0.6.rbi +1853 -0
  57. data/sorbet/rbi/gems/rbi@0.0.14.rbi +2337 -0
  58. data/sorbet/rbi/gems/regexp_parser@2.5.0.rbi +1854 -0
  59. data/sorbet/rbi/gems/reline@0.3.1.rbi +1274 -0
  60. data/sorbet/rbi/gems/rexml@3.2.5.rbi +3852 -0
  61. data/sorbet/rbi/gems/rubocop-ast@1.18.0.rbi +4180 -0
  62. data/sorbet/rbi/gems/rubocop-minitest@0.20.0.rbi +1369 -0
  63. data/sorbet/rbi/gems/rubocop-rake@0.6.0.rbi +246 -0
  64. data/sorbet/rbi/gems/rubocop-shopify@2.6.0.rbi +8 -0
  65. data/sorbet/rbi/gems/rubocop-sorbet@0.6.8.rbi +652 -0
  66. data/sorbet/rbi/gems/rubocop@1.30.0.rbi +36729 -0
  67. data/sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi +732 -0
  68. data/sorbet/rbi/gems/spoom@1.1.11.rbi +1600 -0
  69. data/sorbet/rbi/gems/syntax_tree@2.7.1.rbi +6777 -0
  70. data/sorbet/rbi/gems/tapioca@0.8.1.rbi +1972 -0
  71. data/sorbet/rbi/gems/thor@1.2.1.rbi +2921 -0
  72. data/sorbet/rbi/gems/unicode-display_width@2.1.0.rbi +27 -0
  73. data/sorbet/rbi/gems/unparser@0.6.5.rbi +2789 -0
  74. data/sorbet/rbi/gems/webrick@1.7.0.rbi +1779 -0
  75. data/sorbet/rbi/gems/yard-sorbet@0.6.1.rbi +289 -0
  76. data/sorbet/rbi/gems/yard@0.9.27.rbi +13048 -0
  77. data/sorbet/rbi/shims/fiddle.rbi +4 -0
  78. data/sorbet/rbi/shims/hash.rbi +6 -0
  79. data/sorbet/rbi/shims/rdoc.rbi +4 -0
  80. data/sorbet/tapioca/config.yml +13 -0
  81. data/sorbet/tapioca/require.rb +7 -0
  82. metadata +74 -6
  83. data/shipit.production.yml +0 -1
@@ -0,0 +1,4 @@
1
+ # typed: true
2
+
3
+ module Fiddle::CParser; end
4
+ module Fiddle::Importer; end
@@ -0,0 +1,6 @@
1
+ # typed: true
2
+
3
+ class Hash
4
+ sig { returns(String) }
5
+ def to_json; end
6
+ end
@@ -0,0 +1,4 @@
1
+ # typed: true
2
+
3
+ module RDoc; end
4
+ class RDoc::Task; end
@@ -0,0 +1,13 @@
1
+ gem:
2
+ # Add your `gem` command parameters here:
3
+ #
4
+ # exclude:
5
+ # - gem_name
6
+ # doc: true
7
+ # workers: 5
8
+ dsl:
9
+ # Add your `dsl` command parameters here:
10
+ #
11
+ # exclude:
12
+ # - SomeGeneratorName
13
+ # workers: 5
@@ -0,0 +1,7 @@
1
+ # typed: strict
2
+ # frozen_string_literal: true
3
+
4
+ # Add your extra requires here (`bin/tapioca require` can be used to boostrap this list)
5
+
6
+ require "language_server-protocol"
7
+ require "syntax_tree"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-lsp
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shopify
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-26 00:00:00.000000000 Z
11
+ date: 2022-06-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: language_server-protocol
@@ -38,20 +38,34 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: sorbet-runtime
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: syntax_tree
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
59
  - - ">="
46
60
  - !ruby/object:Gem::Version
47
- version: '2.3'
61
+ version: '2.4'
48
62
  type: :runtime
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
66
  - - ">="
53
67
  - !ruby/object:Gem::Version
54
- version: '2.3'
68
+ version: '2.4'
55
69
  description: A simple language server for ruby
56
70
  email:
57
71
  - ruby@shopify.com
@@ -64,6 +78,7 @@ files:
64
78
  - ".github/probots.yml"
65
79
  - ".github/pull_request_template.md"
66
80
  - ".github/workflows/ci.yml"
81
+ - ".github/workflows/publish_docs.yml"
67
82
  - ".gitignore"
68
83
  - ".rubocop.yml"
69
84
  - ".vscode/extensions.json"
@@ -78,6 +93,7 @@ files:
78
93
  - Rakefile
79
94
  - VERSION
80
95
  - bin/rubocop
96
+ - bin/tapioca
81
97
  - bin/test
82
98
  - dev.yml
83
99
  - exe/ruby-lsp
@@ -85,19 +101,71 @@ files:
85
101
  - lib/ruby_lsp/cli.rb
86
102
  - lib/ruby_lsp/document.rb
87
103
  - lib/ruby_lsp/handler.rb
104
+ - lib/ruby_lsp/internal.rb
88
105
  - lib/ruby_lsp/requests.rb
89
106
  - lib/ruby_lsp/requests/base_request.rb
90
107
  - lib/ruby_lsp/requests/code_actions.rb
91
108
  - lib/ruby_lsp/requests/diagnostics.rb
109
+ - lib/ruby_lsp/requests/document_highlight.rb
92
110
  - lib/ruby_lsp/requests/document_symbol.rb
93
111
  - lib/ruby_lsp/requests/folding_ranges.rb
94
112
  - lib/ruby_lsp/requests/formatting.rb
95
113
  - lib/ruby_lsp/requests/rubocop_request.rb
114
+ - lib/ruby_lsp/requests/selection_ranges.rb
96
115
  - lib/ruby_lsp/requests/semantic_highlighting.rb
116
+ - lib/ruby_lsp/requests/support/rubocop_diagnostic.rb
117
+ - lib/ruby_lsp/requests/support/selection_range.rb
118
+ - lib/ruby_lsp/requests/support/semantic_token_encoder.rb
119
+ - lib/ruby_lsp/requests/support/syntax_error_diagnostic.rb
97
120
  - lib/ruby_lsp/store.rb
121
+ - rakelib/check_docs.rake
98
122
  - ruby-lsp.gemspec
99
123
  - service.yml
100
- - shipit.production.yml
124
+ - sorbet/config
125
+ - sorbet/rbi/.rubocop.yml
126
+ - sorbet/rbi/gems/ansi@1.5.0.rbi
127
+ - sorbet/rbi/gems/ast@2.4.2.rbi
128
+ - sorbet/rbi/gems/builder@3.2.4.rbi
129
+ - sorbet/rbi/gems/coderay@1.1.3.rbi
130
+ - sorbet/rbi/gems/debug@1.5.0.rbi
131
+ - sorbet/rbi/gems/diff-lcs@1.5.0.rbi
132
+ - sorbet/rbi/gems/io-console@0.5.11.rbi
133
+ - sorbet/rbi/gems/irb@1.4.1.rbi
134
+ - sorbet/rbi/gems/language_server-protocol@3.16.0.3.rbi
135
+ - sorbet/rbi/gems/method_source@1.0.0.rbi
136
+ - sorbet/rbi/gems/minitest-reporters@1.5.0.rbi
137
+ - sorbet/rbi/gems/minitest@5.15.0.rbi
138
+ - sorbet/rbi/gems/parallel@1.22.1.rbi
139
+ - sorbet/rbi/gems/parser@3.1.2.0.rbi
140
+ - sorbet/rbi/gems/prettier_print@0.1.0.rbi
141
+ - sorbet/rbi/gems/pry@0.14.1.rbi
142
+ - sorbet/rbi/gems/rainbow@3.1.1.rbi
143
+ - sorbet/rbi/gems/rake@13.0.6.rbi
144
+ - sorbet/rbi/gems/rbi@0.0.14.rbi
145
+ - sorbet/rbi/gems/regexp_parser@2.5.0.rbi
146
+ - sorbet/rbi/gems/reline@0.3.1.rbi
147
+ - sorbet/rbi/gems/rexml@3.2.5.rbi
148
+ - sorbet/rbi/gems/rubocop-ast@1.18.0.rbi
149
+ - sorbet/rbi/gems/rubocop-minitest@0.20.0.rbi
150
+ - sorbet/rbi/gems/rubocop-rake@0.6.0.rbi
151
+ - sorbet/rbi/gems/rubocop-shopify@2.6.0.rbi
152
+ - sorbet/rbi/gems/rubocop-sorbet@0.6.8.rbi
153
+ - sorbet/rbi/gems/rubocop@1.30.0.rbi
154
+ - sorbet/rbi/gems/ruby-progressbar@1.11.0.rbi
155
+ - sorbet/rbi/gems/spoom@1.1.11.rbi
156
+ - sorbet/rbi/gems/syntax_tree@2.7.1.rbi
157
+ - sorbet/rbi/gems/tapioca@0.8.1.rbi
158
+ - sorbet/rbi/gems/thor@1.2.1.rbi
159
+ - sorbet/rbi/gems/unicode-display_width@2.1.0.rbi
160
+ - sorbet/rbi/gems/unparser@0.6.5.rbi
161
+ - sorbet/rbi/gems/webrick@1.7.0.rbi
162
+ - sorbet/rbi/gems/yard-sorbet@0.6.1.rbi
163
+ - sorbet/rbi/gems/yard@0.9.27.rbi
164
+ - sorbet/rbi/shims/fiddle.rbi
165
+ - sorbet/rbi/shims/hash.rbi
166
+ - sorbet/rbi/shims/rdoc.rbi
167
+ - sorbet/tapioca/config.yml
168
+ - sorbet/tapioca/require.rb
101
169
  homepage: https://github.com/Shopify/ruby-lsp
102
170
  licenses:
103
171
  - MIT
@@ -118,7 +186,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
118
186
  - !ruby/object:Gem::Version
119
187
  version: '0'
120
188
  requirements: []
121
- rubygems_version: 3.2.20
189
+ rubygems_version: 3.3.3
122
190
  signing_key:
123
191
  specification_version: 4
124
192
  summary: A simple language server for ruby
@@ -1 +0,0 @@
1
- # default config