ruby-lsp 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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