solargraph 0.39.17 → 0.40.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +4 -8
- data/CHANGELOG.md +1003 -0
- data/SPONSORS.md +1 -0
- data/lib/solargraph.rb +2 -4
- data/lib/solargraph/api_map.rb +61 -64
- data/lib/solargraph/api_map/cache.rb +2 -2
- data/lib/solargraph/api_map/store.rb +8 -7
- data/lib/solargraph/{bundle.rb → bench.rb} +6 -2
- data/lib/solargraph/compat.rb +14 -0
- data/lib/solargraph/convention.rb +13 -4
- data/lib/solargraph/convention/base.rb +16 -8
- data/lib/solargraph/convention/gemfile.rb +2 -5
- data/lib/solargraph/convention/gemspec.rb +3 -6
- data/lib/solargraph/convention/rspec.rb +3 -6
- data/lib/solargraph/diagnostics/rubocop_helpers.rb +1 -20
- data/lib/solargraph/environ.rb +11 -6
- data/lib/solargraph/language_server/host.rb +5 -0
- data/lib/solargraph/language_server/message/extended/check_gem_version.rb +6 -1
- data/lib/solargraph/language_server/message/text_document/definition.rb +1 -1
- data/lib/solargraph/language_server/message/text_document/formatting.rb +47 -20
- data/lib/solargraph/library.rb +6 -8
- data/lib/solargraph/parser/legacy/node_methods.rb +9 -0
- data/lib/solargraph/parser/legacy/node_processors/ivasgn_node.rb +1 -1
- data/lib/solargraph/parser/legacy/node_processors/send_node.rb +34 -22
- data/lib/solargraph/parser/node_processor/base.rb +3 -0
- data/lib/solargraph/parser/rubyvm/node_methods.rb +18 -1
- data/lib/solargraph/parser/rubyvm/node_processors/args_node.rb +12 -12
- data/lib/solargraph/parser/rubyvm/node_processors/ivasgn_node.rb +1 -1
- data/lib/solargraph/parser/rubyvm/node_processors/opt_arg_node.rb +1 -6
- data/lib/solargraph/parser/rubyvm/node_processors/send_node.rb +38 -28
- data/lib/solargraph/pin.rb +0 -3
- data/lib/solargraph/pin/common.rb +1 -1
- data/lib/solargraph/pin/conversions.rb +1 -1
- data/lib/solargraph/pin/documenting.rb +3 -9
- data/lib/solargraph/pin/method.rb +141 -7
- data/lib/solargraph/pin/method_alias.rb +1 -1
- data/lib/solargraph/position.rb +2 -14
- data/lib/solargraph/source.rb +11 -7
- data/lib/solargraph/source/chain.rb +3 -3
- data/lib/solargraph/source/source_chainer.rb +1 -1
- data/lib/solargraph/source_map.rb +4 -1
- data/lib/solargraph/source_map/clip.rb +3 -2
- data/lib/solargraph/source_map/mapper.rb +10 -6
- data/lib/solargraph/type_checker.rb +52 -46
- data/lib/solargraph/type_checker/checks.rb +5 -1
- data/lib/solargraph/type_checker/param_def.rb +1 -1
- data/lib/solargraph/type_checker/rules.rb +5 -1
- data/lib/solargraph/version.rb +1 -1
- data/lib/solargraph/workspace/config.rb +15 -0
- data/lib/solargraph/yard_map.rb +38 -47
- data/lib/solargraph/yard_map/core_fills.rb +185 -0
- data/lib/solargraph/yard_map/helpers.rb +16 -0
- data/lib/solargraph/yard_map/mapper.rb +11 -5
- data/lib/solargraph/{pin/yard_pin/constant.rb → yard_map/mapper/to_constant.rb} +6 -6
- data/lib/solargraph/yard_map/mapper/to_method.rb +78 -0
- data/lib/solargraph/{pin/yard_pin/namespace.rb → yard_map/mapper/to_namespace.rb} +6 -6
- data/lib/solargraph/yard_map/rdoc_to_yard.rb +1 -1
- data/lib/solargraph/yard_map/stdlib_fills.rb +43 -0
- data/lib/solargraph/{pin/yard_pin/method.rb → yard_map/to_method.rb} +29 -30
- data/solargraph.gemspec +5 -5
- metadata +22 -36
- data/lib/solargraph/core_fills.rb +0 -164
- data/lib/solargraph/pin/attribute.rb +0 -49
- data/lib/solargraph/pin/base_method.rb +0 -149
- data/lib/solargraph/pin/yard_pin.rb +0 -12
- data/lib/solargraph/pin/yard_pin/yard_mixin.rb +0 -20
- data/lib/solargraph/stdlib_fills.rb +0 -40
- data/travis-bundler.rb +0 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eff7d664014ae6d25990957afb4328baafe88ff76ef892db8b3d50791860845e
|
4
|
+
data.tar.gz: 8038c884a63ce269f1a0faaf635e4c295fadd61c456ba2665c84a17b4f03a031
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a7b95e2ba342b191642a1d5ea228243a60b9211f6c05cab2acf09ddcaab3efb25cef488ca910964e0ac1c32edacc2f0ced4eef09fa819b03d2919af4ac734ca7
|
7
|
+
data.tar.gz: 6990c07591d43fdb583484c00fc5221d228850fa75e12b5cd2632413a21c1984f634ce2655371d9be7016a035e23fe622469418779bf3285f03a087a38c394ae
|
data/.travis.yml
CHANGED
@@ -1,12 +1,10 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
|
-
- 2.1
|
4
|
-
- 2.2
|
5
|
-
- 2.3
|
6
3
|
- 2.4
|
7
4
|
- 2.5
|
8
5
|
- 2.6
|
9
6
|
- 2.7
|
7
|
+
- 3.0
|
10
8
|
- jruby-head
|
11
9
|
matrix:
|
12
10
|
include:
|
@@ -17,12 +15,10 @@ matrix:
|
|
17
15
|
- rvm: 2.7
|
18
16
|
os: osx
|
19
17
|
allow_failures:
|
20
|
-
- rvm: 2.7
|
21
|
-
os: osx
|
22
18
|
- rvm: jruby-head
|
23
|
-
|
19
|
+
- rvm: 3.0
|
24
20
|
before_install:
|
25
|
-
-
|
26
|
-
-
|
21
|
+
- gem update --system
|
22
|
+
- gem install bundler
|
27
23
|
before_script: yard gems
|
28
24
|
script: rspec
|
data/CHANGELOG.md
ADDED
@@ -0,0 +1,1003 @@
|
|
1
|
+
## 0.40.4 - March 3, 2021
|
2
|
+
- Fix optarg and blockarg ordering
|
3
|
+
- Override specialization for #initialize
|
4
|
+
- Find definitions with cursor after double colon
|
5
|
+
|
6
|
+
## 0.40.3 - February 7, 2021
|
7
|
+
- Simplify and allow to configure rubocop formatter (#403)
|
8
|
+
- Type checker shows tag in param type errors (#398)
|
9
|
+
- Handle bare private_constant (#408)
|
10
|
+
- Type checker handles splatted variables (#396)
|
11
|
+
|
12
|
+
## 0.40.2 - January 18, 2021
|
13
|
+
- Type checker ignores splatted calls in arity (#396)
|
14
|
+
- Allow Parser 3.0 (#400)
|
15
|
+
|
16
|
+
## 0.40.1 - December 28, 2020
|
17
|
+
- Use temp directory for RuboCop formatting (#397)
|
18
|
+
- NodeMethods reads splatted hashes (#396)
|
19
|
+
|
20
|
+
## 0.40.0 - December 14, 2020
|
21
|
+
- Fix alias behavior
|
22
|
+
- Consolidate method pin classes
|
23
|
+
- Consolidate YARD pins
|
24
|
+
- CheckGemVersion can use Bundler for updates
|
25
|
+
- Tempfile fills
|
26
|
+
- Support rubocop 1.0 (#381)
|
27
|
+
- Require Ruby >= 2.4.0 (#394)
|
28
|
+
- Map visibility calls with method arguments (#395)
|
29
|
+
- Switch maruku to kramdown
|
30
|
+
- Remove nokogiri dependency
|
31
|
+
- Detect internal_or_core? for strict type checking
|
32
|
+
- ApiMap#catalog merges environs for all sources in bench
|
33
|
+
|
34
|
+
## 0.39.17 - September 28, 2020
|
35
|
+
- Handle YARD pins in alias resolution
|
36
|
+
|
37
|
+
## 0.39.16 - September 27, 2020
|
38
|
+
- Include acts like extend inside sclass
|
39
|
+
- Improved alias resolution
|
40
|
+
- Parse args from YARD method objects
|
41
|
+
- Resolve included namespaces with conflicts
|
42
|
+
- Chains infer from multiple variable assignments
|
43
|
+
- Array and Hash core fills
|
44
|
+
- String.new core fill
|
45
|
+
|
46
|
+
## 0.39.15 - August 18, 2020
|
47
|
+
- Backwards compatibility for typecheck subcommand
|
48
|
+
- Handle dangling colons on tag hovers
|
49
|
+
- NodeChainer handles chains with multiple blocks
|
50
|
+
|
51
|
+
## 0.39.14 - August 13, 2020
|
52
|
+
- Fix return nodes from case statements (#350)
|
53
|
+
- Treat for loops as closures (#349)
|
54
|
+
- Array#zip core fill (#353)
|
55
|
+
- Exit with 1 if type check finds problems (#354)
|
56
|
+
|
57
|
+
## 0.39.13 - August 3, 2020
|
58
|
+
- YardPin::Method skips invalid parameters (#345)
|
59
|
+
- Complete and define complex type tags
|
60
|
+
|
61
|
+
## 0.39.12 - July 18, 2020
|
62
|
+
- Completion and hover on tags in comments (#247)
|
63
|
+
- Formatting change in RuboCop 0.87.0
|
64
|
+
- Use `ensure` block for File.unlink tempfile (#342)
|
65
|
+
- Fix super handling in call_nodes_from
|
66
|
+
|
67
|
+
## 0.39.11 - July 3, 2020
|
68
|
+
- Fix line numbering in bare parse directives
|
69
|
+
- Bracket handling
|
70
|
+
|
71
|
+
## 0.39.10 - July 1, 2020
|
72
|
+
- RDoc comments can be strings
|
73
|
+
|
74
|
+
## 0.39.9 - June 20, 2020
|
75
|
+
- Fixed directive parsing
|
76
|
+
- Relocate pins from @!parse macros
|
77
|
+
- Return all symbols for empty queries (#328)
|
78
|
+
- Log number of files
|
79
|
+
- RdocToYard includes method line numbers
|
80
|
+
|
81
|
+
## 0.39.8 - May 26, 2020
|
82
|
+
- File < IO reference
|
83
|
+
- Updated yardoc archive
|
84
|
+
- Chain integers with trailing periods
|
85
|
+
- Map autoload paths
|
86
|
+
- Set Encoding.default_external
|
87
|
+
- Faster store index
|
88
|
+
- ApiMap#catalog rebinds blocks
|
89
|
+
- Fixed binder inheritance
|
90
|
+
- Remove ApiMap mutex
|
91
|
+
- Set overrides
|
92
|
+
|
93
|
+
## 0.39.7 - May 4, 2020
|
94
|
+
- RubyVM convert_hash node check
|
95
|
+
- File URI space encoding bug
|
96
|
+
|
97
|
+
## 0.39.6 - May 3, 2020
|
98
|
+
- Workspace evaluates gem spec in toplevel binding (#316)
|
99
|
+
- Rescue StandardError instead of Exception
|
100
|
+
- Correct method parameter order
|
101
|
+
- Gracefully handle misunderstood macros (#323)
|
102
|
+
|
103
|
+
## 0.39.5 - May 2, 2020
|
104
|
+
- Nil check in name_type_tag template
|
105
|
+
- Update obsolete method calls for Ruby 2.7
|
106
|
+
- YardMap rejects external pins
|
107
|
+
- RubyVM mapper handles Bundler.require calls
|
108
|
+
- RDocToYard clears serialized cache
|
109
|
+
- Workspace evaluates gem specs without binding
|
110
|
+
- Documentor clears gem caches
|
111
|
+
|
112
|
+
## 0.39.4 - April 30, 2020
|
113
|
+
- RDocToYard update and spec (#315)
|
114
|
+
- Map function calls to visibility methods
|
115
|
+
- Cache source code line arrays
|
116
|
+
- Fix RuboCop errors
|
117
|
+
|
118
|
+
## 0.39.3 - April 28, 2020
|
119
|
+
- Mapper handles private_class_method without arguments (#312)
|
120
|
+
- Fix pin positions from YARD directives (#313)
|
121
|
+
- Rescue errors from pin caches
|
122
|
+
|
123
|
+
## 0.39.2 - April 26, 2020
|
124
|
+
- Fix legacy super/zsuper node processing
|
125
|
+
- Map parameters to updated module functions
|
126
|
+
- Include mass assignment in call nodes
|
127
|
+
|
128
|
+
## 0.39.1 - April 26, 2020
|
129
|
+
- Additional return node checks from case statements in legacy
|
130
|
+
- Check super call arity
|
131
|
+
|
132
|
+
## 0.39.0 - April 26, 2020
|
133
|
+
- RubyVM parser for Ruby 2.6+
|
134
|
+
- Lambda node processor
|
135
|
+
- Faster CommentRipper
|
136
|
+
- Implement TypeChecker levels
|
137
|
+
- Type inference improvements
|
138
|
+
- Prefer @return to @type in constant tags
|
139
|
+
- Support @abstract tags
|
140
|
+
- Improved recipient node detection
|
141
|
+
- Host#diagnose rescues FileNotFoundError
|
142
|
+
- Fuzzier inheritance checks
|
143
|
+
- Refactored uri queue synchronization (#289)
|
144
|
+
- Constant resolution finds nearest names (#287)
|
145
|
+
- Arity checks
|
146
|
+
- Additional CoreFills for numeric types and operators
|
147
|
+
- Chains track splat arguments
|
148
|
+
- Support case statements in type inference
|
149
|
+
- Support prepended modules (#302)
|
150
|
+
- TypeChecker validates constants
|
151
|
+
- Rescue ENOENT errors when loading sources (#308)
|
152
|
+
- Formatting message handles empty files
|
153
|
+
- Avoid lazy initialization of Mutex
|
154
|
+
- ApiMap inner queries use Set instead of Array
|
155
|
+
|
156
|
+
## 0.38.6 - March 22, 2020
|
157
|
+
- Ignore Bundler warnings when parsing JSON (#273)
|
158
|
+
- Chain inference stack uses pin identities (#293)
|
159
|
+
- Fix super_and_sub? name collisions (#288, #290)
|
160
|
+
- Fix various Bundler and Travis bugs
|
161
|
+
|
162
|
+
## 0.38.5 - January 26, 2020
|
163
|
+
- Namespace conflict resolution
|
164
|
+
- Pin context uses closure context in class scope
|
165
|
+
- Format file without extension (#266)
|
166
|
+
|
167
|
+
## 0.38.4 - January 21, 2020
|
168
|
+
- Literal link generates ComplexType
|
169
|
+
- Remove pin cache from chain inference
|
170
|
+
- Avoid duplicates in combined LSP documentation
|
171
|
+
- YardMap skips workspace gems
|
172
|
+
|
173
|
+
## 0.38.3 - January 19, 2020
|
174
|
+
- Refactored YardMap require processing
|
175
|
+
- Object/BasicObject inheritance handling in method detection
|
176
|
+
- StdlibFills and YardMap integration (#226)
|
177
|
+
- Include scope gates in local variable detection
|
178
|
+
- Reduce namespace pins in YARD pin generation
|
179
|
+
- Support multiple return tags in method return types
|
180
|
+
- File core fills
|
181
|
+
- Benchmark stdlib fill
|
182
|
+
- Redorder methods to include core after other classes
|
183
|
+
- Method type inference uses chains and includes block nodes (#264)
|
184
|
+
- Infer from overloaded methods with local variable arguments
|
185
|
+
- Add Array#map! to core fills
|
186
|
+
|
187
|
+
## 0.38.2 - January 9, 2020
|
188
|
+
- Include visibility in method documentation
|
189
|
+
- Bundler >= 2.1 uses with_unbundled_env (#252)
|
190
|
+
- Remove irb from dependencies (#258)
|
191
|
+
- Update embedded docs (#259)
|
192
|
+
- Object#inspect core fill
|
193
|
+
- ApiMap finds constants in superclasses
|
194
|
+
- STDIO constant variables
|
195
|
+
- Filter duplicate pins in completionItem/resolve
|
196
|
+
- Travis updates
|
197
|
+
|
198
|
+
## 0.38.1 - January 2, 2020
|
199
|
+
- Hash#[]= type checking
|
200
|
+
- Experimental @param_typle tag
|
201
|
+
- TypeChecker argument checks inherit param tags from superclasses
|
202
|
+
- Miscellaneous core overrides
|
203
|
+
- Boolean literals and type checking
|
204
|
+
- Update Thor (#254)
|
205
|
+
- CI against Ruby 2.7 (#253)
|
206
|
+
|
207
|
+
## 0.38.0 - November 22, 2019
|
208
|
+
- Drop htmlentities dependency (#224)
|
209
|
+
- Blank lines do not affect indentation in documentation
|
210
|
+
- Use backticks for code blocks in generated markdown
|
211
|
+
- Register additional HTML tags in ReverseMarkdown
|
212
|
+
- Guard against nil pin comments (#231)
|
213
|
+
- Speedup Solargraph::ApiMap::Store#fqns_pin (#232)
|
214
|
+
- RuboCop formatting integration through API (#239)
|
215
|
+
- Qualify literal value types (#240)
|
216
|
+
- Switch back to Maruku for documentation generation
|
217
|
+
- Refactored dependencies to improve startup time
|
218
|
+
- Test if ns is nil to avoid exception (#245)
|
219
|
+
- Nil check when parsing comments (#243)
|
220
|
+
|
221
|
+
## 0.37.2 - August 25, 2019
|
222
|
+
- Generate documentation without conversions
|
223
|
+
|
224
|
+
## 0.37.1 - August 19, 2019
|
225
|
+
- No escape in completion item detail
|
226
|
+
|
227
|
+
## 0.37.0 - August 19, 2019
|
228
|
+
- Replace Maruku with YARD RDocMarkup
|
229
|
+
- Refactored Cursor#recipient
|
230
|
+
- Remove HTML entity escaping
|
231
|
+
- Messages check enablePages for links
|
232
|
+
- Escape method for templates
|
233
|
+
- Escape type tags with backslashes
|
234
|
+
- Updated gem dependencies
|
235
|
+
|
236
|
+
## 0.36.0 - August 12, 2019
|
237
|
+
- Replace redcarpet with maruku
|
238
|
+
- Check for nil nodes in variable probes (#221)
|
239
|
+
|
240
|
+
## 0.35.2 - August 6, 2019
|
241
|
+
- Chains resolve block variable types.
|
242
|
+
|
243
|
+
## 0.35.1 - July 29, 2019
|
244
|
+
- Infer variable types from assignments with unparenthesized arguments
|
245
|
+
- (#212)
|
246
|
+
|
247
|
+
## 0.35.0 - July 19, 2019
|
248
|
+
- Track blocks in chain links
|
249
|
+
- Array overloads
|
250
|
+
- Fix NoMethodError for empty overload tags
|
251
|
+
- TypeChecker validates block args
|
252
|
+
- Object#to_s override
|
253
|
+
- Pin::BaseVariable uses clips for probles
|
254
|
+
- Add ability to read from a global config file (#210)
|
255
|
+
- SourceChainer falls back to fixed phrases in repaired sources
|
256
|
+
- Find return nodes in blocks
|
257
|
+
|
258
|
+
## 0.34.3 - July 14, 2019
|
259
|
+
- Refactor to reduce frequent allocations
|
260
|
+
- Only send renameOptions to clients with prepareSupport (#207)
|
261
|
+
- Add pin locations to scans
|
262
|
+
- TypeChecker finds params for hash args by name
|
263
|
+
- Drop empty register/unregister events (#209)
|
264
|
+
- Pin::Parameter type inference
|
265
|
+
- Detect yielded blocks in calls
|
266
|
+
- SourceMap::Mapper maps overrides
|
267
|
+
|
268
|
+
## 0.34.2 - July 3, 2019
|
269
|
+
- Documentor uses an external process to collect specs
|
270
|
+
- Bundle subcommand passes rebuild option to Documentor
|
271
|
+
- Refactored bundle dependency reads
|
272
|
+
- Fixed Travis issues
|
273
|
+
|
274
|
+
## 0.34.1 - June 26, 2019
|
275
|
+
- Refactored bundler/require handling
|
276
|
+
- Fix clip completion from repaired sources
|
277
|
+
- Bundler issues in Travis
|
278
|
+
|
279
|
+
## 0.34.0 - June 25, 2019
|
280
|
+
- Keyword argument names in autocomplete
|
281
|
+
- `solargraph bundle` and related cache commands
|
282
|
+
- RDoc to YARD conversion
|
283
|
+
- More TypeChecker validation
|
284
|
+
- Environs and Conventions
|
285
|
+
- Core overrides
|
286
|
+
- `@overload` tag support
|
287
|
+
- Handle splats in overloads
|
288
|
+
- Scope gates
|
289
|
+
- Type Class/Module reduction hack
|
290
|
+
- Duck type checking
|
291
|
+
- frozen_string_literal
|
292
|
+
- Faster YardMap loading
|
293
|
+
|
294
|
+
## 0.33.2 - June 20, 2019
|
295
|
+
- Fixed resolution of `self` keyword
|
296
|
+
- Chain inference depth limits
|
297
|
+
- Source#references skips nodes without the requested symbol
|
298
|
+
- Refactored Library without `checkout` method
|
299
|
+
- Parameter merges require same closures
|
300
|
+
- Completion item descriptions contain unique links
|
301
|
+
|
302
|
+
## 0.33.1 - June 18, 2019
|
303
|
+
- Ignore attribute directives without names (castwide/vscode-solargraph#124)
|
304
|
+
- Chain and/or/begin/kwbegin nodes
|
305
|
+
- TypeCheck diagnostics run on workspace files only by default
|
306
|
+
- Mapper updates directive positions (#176)
|
307
|
+
- Track pins in TypeChecker problems.
|
308
|
+
|
309
|
+
## 0.33.0 - June 18, 2019
|
310
|
+
- Deprecated plugin architecture
|
311
|
+
- Closure pins for enhanced context and scope detection
|
312
|
+
- Block resolution
|
313
|
+
- Major Pin refactoring
|
314
|
+
- Single parameter pin for blocks and methods
|
315
|
+
- Major NodeProcessor refactoring
|
316
|
+
- Block rebinding
|
317
|
+
- Resolve method aliases
|
318
|
+
- Namespace scope gates (WIP)
|
319
|
+
- Improved ApiMap::Store indexing
|
320
|
+
- ApiMap block recipient cache
|
321
|
+
- Refactored pin and local mapping
|
322
|
+
- Host synchronization fixes
|
323
|
+
- Rebind instance_eval, class_eval, and module_eval blocks
|
324
|
+
- Improved string detection
|
325
|
+
- Use @param tags for parameter pin documentation
|
326
|
+
- Go To Definition works on require paths (castwide/vscode-solagraph#104)
|
327
|
+
- Mapper processes singleton method directives
|
328
|
+
- Resolve self return types based on current context
|
329
|
+
- Exclude inner node comments from documentation
|
330
|
+
- Infer hash element types from value parameters
|
331
|
+
- Pin::BaseMethod typifies from super methods
|
332
|
+
- Ignore FileNotFoundError in textDocument/signatureHelp
|
333
|
+
- Class#new and Class.new return types
|
334
|
+
- Chain::Call resolves `self` return types
|
335
|
+
- Deprecated Pin::Method#infer method
|
336
|
+
- Pin::Method#probe returns unique tags
|
337
|
+
- Errant dstr detection
|
338
|
+
- Source does not detect string? at end of interpolation
|
339
|
+
- String detection in unsynchronized sources
|
340
|
+
- Reduced node comparisons in Source#string_at?
|
341
|
+
- Superclass qualification for instance variables
|
342
|
+
- Pin::Attribute#probe infers types from instance variables
|
343
|
+
- First version of TypeChecker and its reporter
|
344
|
+
- Strict type checking
|
345
|
+
- Source::Chain::Call does not typify/probe/proxy pins
|
346
|
+
- Probe for detail in hover and resolve
|
347
|
+
- JIT pin probes
|
348
|
+
- Command-line typecheck
|
349
|
+
- Clip#complete skips unparsed sources
|
350
|
+
- Check parameter types for super_and_sub?
|
351
|
+
- Object#! CoreFill.
|
352
|
+
- `scan` subcommand
|
353
|
+
- Detect class variables by scope gates
|
354
|
+
- Move METHODS_RETURNING_SELF to CUSTOM_RETURN_TYPES
|
355
|
+
- Host::Dispatch catalogs attachments to implicit and generic libraries (#139)
|
356
|
+
- Preliminary support for `@overload` tags
|
357
|
+
- `self` resolution in ComplexTypes
|
358
|
+
|
359
|
+
## 0.32.4 - May 27, 2019
|
360
|
+
- Backport update
|
361
|
+
|
362
|
+
## 0.32.3 - May 14, 2019
|
363
|
+
- - ApiMap#get_namespace_type selects namespace pins (#183)
|
364
|
+
- - Fixed type inference for Class.new and Class#new exceptions
|
365
|
+
|
366
|
+
## 0.32.2 - May 6, 2019
|
367
|
+
- - Gemspec changes
|
368
|
+
- - Recommend LanguageClient-neovim instead of vim-solargraph (#180)
|
369
|
+
- - Added Eclipse plugin information (#181)
|
370
|
+
- - Refactored cataloging
|
371
|
+
- - workspace/didChangeWatchedFiles catalogs libraries (#139)
|
372
|
+
|
373
|
+
## 0.32.1 - April 7, 2019
|
374
|
+
- completionItem/resolve returns nil for empty documentation
|
375
|
+
|
376
|
+
## 0.32.0 - April 4, 2019
|
377
|
+
- Add implementation of textDocument/prepareRename (#158)
|
378
|
+
- Update to Backport 1.0
|
379
|
+
- Source handles comments that start with multiple hashes
|
380
|
+
- Add Ruby 2.6.1 to CI
|
381
|
+
- Updated JRuby version support
|
382
|
+
- Infer return types from top-level references
|
383
|
+
- SourceChainer handles ! and ? outside of method suffixes (#166)
|
384
|
+
- CompletionItem uses MarkupContent for documentation (#173)
|
385
|
+
- Add Object#tap to core documentation. (#172)
|
386
|
+
- Source and Mapper handle invalid UTF-8 byte sequences (#33)
|
387
|
+
- Exceptions while mapping emit warning messages
|
388
|
+
- Process private_class_method for attributes (#171)
|
389
|
+
- Qualify namespaces from includes in the root namespace (#170)
|
390
|
+
- Faster YARD object location
|
391
|
+
|
392
|
+
## 0.31.3 - February 7, 2019
|
393
|
+
- Location of directive context depends on tag name
|
394
|
+
- Regenerated core docs
|
395
|
+
- Don't escape colon in URI (#150)
|
396
|
+
- Reduce file_to_uri conversions to avoid discrepancies
|
397
|
+
- SourceMap::Clip#locals corrects cursor positions outside of the root context
|
398
|
+
- Host::Sources notifies observers with URIs
|
399
|
+
- Finish synchronizing sources with unbalanced lines
|
400
|
+
- Use ComplexType.try_parse to avoid exceptions for syntax errors
|
401
|
+
|
402
|
+
## 0.31.2 - January 27, 2019
|
403
|
+
- Use YARD documentation rules to associate directives with namespaces
|
404
|
+
- Handle non-unique pin locations in completionItem/resolve
|
405
|
+
- Clip#complete handles @yieldself and @yieldpublic contexts
|
406
|
+
- Host::Dispatch filters library updates (castwide/vscode-solargraph#99)
|
407
|
+
- Qualify included namespaces (#148)
|
408
|
+
|
409
|
+
## 0.31.1 - January 20, 2019
|
410
|
+
- Unsynchronized sources can still try to use existing nodes for chains
|
411
|
+
- Host filters document symbols for unique locations
|
412
|
+
- Server response logging in debug
|
413
|
+
- Host keeps deleted files open in sources
|
414
|
+
- CoreGen tweaks
|
415
|
+
- Fix negative argument error in Source#stringify_comment_array (#141)
|
416
|
+
- Library#references_from includes parameter pins (#135)
|
417
|
+
- Block nodes are foldable
|
418
|
+
- Source detects comment positions past the range on the ending line
|
419
|
+
- workspace/didChangeConfiguration ignores null settings (#144)
|
420
|
+
|
421
|
+
## 0.31.0 - January 13, 2019
|
422
|
+
- Removed deprecated Library methods
|
423
|
+
- Tweaked foldable comment ranges
|
424
|
+
- Host::Dispatch module for managing open sources and libraries
|
425
|
+
- YardMap::CoreGen module for generating documentation from Ruby source
|
426
|
+
- Improved communication between hosts and adapters
|
427
|
+
- Refactored Host methods
|
428
|
+
- `@!domain` directive uses [type] syntax
|
429
|
+
- Make SourceMap#query_symbols use fuzzy matching. (#132)
|
430
|
+
- Threaded ApiMap cataloging
|
431
|
+
- Fixed fencepost error in Position.from_offset
|
432
|
+
- Lazy method alias resolution
|
433
|
+
- Library#references_from returns unique locations
|
434
|
+
- Additional info logs
|
435
|
+
- Asynchronous source parsing
|
436
|
+
- Unsychronized source support for faster completion requests (castwide/vscode-solargraph#95)
|
437
|
+
- Faster source comment parsing
|
438
|
+
- Host only diagnoses synchronized sources
|
439
|
+
|
440
|
+
## 0.30.2 - December 31, 2018
|
441
|
+
- Workspace/library mapping errors (castwide/solargraph#124)
|
442
|
+
- RuboCop diagnostics handle validation errors
|
443
|
+
- Map visibility methods with parameters
|
444
|
+
- Allow overriding core doc cache directory (castwide/solargraph#125)
|
445
|
+
|
446
|
+
## 0.30.1 - December 27, 2018
|
447
|
+
- Library#catalog avoids rebuilding ApiMaps that are already synchronized
|
448
|
+
- Host#locate_pin finds YARD pins
|
449
|
+
- completionItem/resolve merges documentation from multiple pins
|
450
|
+
|
451
|
+
## 0.30.0 - December 22, 2018
|
452
|
+
- Multi-root workspaces
|
453
|
+
- Folding ranges
|
454
|
+
- Logging with levels
|
455
|
+
- Environment info
|
456
|
+
- Replace EventMachine with Backport
|
457
|
+
- Gems without yardocs fall back to stdlib
|
458
|
+
- Formatting requires shellwords
|
459
|
+
- Use Pathname to normalize require paths
|
460
|
+
|
461
|
+
## 0.29.5 - December 18, 2018
|
462
|
+
- Source::Change repairs preceding periods and colons.
|
463
|
+
- Pins use typify and probe methods for type inference.
|
464
|
+
- NodeChainer supports or_asgn nodes.
|
465
|
+
- NodeMethods.returns_from supports and/or nodes.
|
466
|
+
- Library uses single source checkout.
|
467
|
+
- ApiMap includes BasicObject and operators in method queries.
|
468
|
+
- Refactored CheckGemVersion.
|
469
|
+
|
470
|
+
## 0.29.4 - December 7, 2018
|
471
|
+
- Parameter type checks in implicit type inference.
|
472
|
+
- Additional implicit method type detection cases.
|
473
|
+
- Chains match constants on complete symbols.
|
474
|
+
|
475
|
+
## 0.29.3 - December 5, 2018
|
476
|
+
- Missing parameter in send_notification call.
|
477
|
+
- Typo in checkGemVersion message.
|
478
|
+
|
479
|
+
## 0.29.2 - December 5, 2018
|
480
|
+
- Pin type checks for module_function, private_class_method, and private_constant.
|
481
|
+
- ApiMap#catalog checks for added and removed sources.
|
482
|
+
|
483
|
+
## 0.29.1 - November 30, 2018
|
484
|
+
- Alias method reference error.
|
485
|
+
|
486
|
+
## 0.29.0 - November 26, 2018
|
487
|
+
- Map method aliases.
|
488
|
+
- Removed coderay dependency.
|
489
|
+
- Initial support for named macros.
|
490
|
+
- First implementation of deep method inference.
|
491
|
+
- See references in @return tags.
|
492
|
+
- Literal regexp support.
|
493
|
+
- Additional CoreFills.
|
494
|
+
- Mapper uses NodeProcessor.
|
495
|
+
- Pin::BlockParameter checks param tags by index.
|
496
|
+
- Clip#complete handles unfinished constants with trailing nodes.
|
497
|
+
- Library performs case-insensitive strips of symbol references.
|
498
|
+
- Unparsed sources have nil nodes.
|
499
|
+
- NodeProcessor recurses into nodes by default.
|
500
|
+
- Namespace conflicts in method queries.
|
501
|
+
- SourceMap::Clip#complete method visibility.
|
502
|
+
- Enable gem dependency mapping.
|
503
|
+
|
504
|
+
## 0.28.4 - October 26, 2018
|
505
|
+
- Pin::Documenting#documentation converts without RDoc (castwide/solargraph#97)
|
506
|
+
- Rescue errors in gemspec evaluation (castwide/solargraph#100)
|
507
|
+
|
508
|
+
## 0.28.3 - October 21, 2018
|
509
|
+
- Deprecated overwrite features.
|
510
|
+
- Pin::MethodParameter finds unnamed param tags by index.
|
511
|
+
- Workspace does not cache loaded gems.
|
512
|
+
- Explicit range in textDocument/formatting result (castwide/vscode-solargraph#83).
|
513
|
+
- SourceMap::Mapper maps alias and alias_method.
|
514
|
+
- Source::Chain avoids recursive variable assignments (castwide/solargraph#96).
|
515
|
+
- Pin scope reference in Chain::Head.
|
516
|
+
- Clip does not define arbitrary comments.
|
517
|
+
|
518
|
+
## 0.28.2 - October 2, 2018
|
519
|
+
- Map aliases.
|
520
|
+
- Refactored diagnostics.
|
521
|
+
- SourceChainer checks for nil source error ranges.
|
522
|
+
- Clips handle partially completed constants.
|
523
|
+
- ApiMap method queries return one pin for root methods.
|
524
|
+
- Clip#complete detects unstarted inner constants.
|
525
|
+
|
526
|
+
## 0.28.1 - September 18, 2018
|
527
|
+
- YardMap adds superclass, include, and extend references.
|
528
|
+
|
529
|
+
## 0.28.0 - September 16, 2018
|
530
|
+
- ApiMap sorts constants by name within namespaces.
|
531
|
+
- Simplified source parsing.
|
532
|
+
- SourceChainer requires parsed and unrepaired source for node chaining.
|
533
|
+
- Source#synchronize does not flag repaired sources unparsed.
|
534
|
+
- References extend pins.
|
535
|
+
- Source::Change#repair handles multiple periods and colons.
|
536
|
+
- Chain::Constant uses chained context.
|
537
|
+
- Chain rebased constants.
|
538
|
+
- Deprecated Chain::Definition.
|
539
|
+
- SourceMap::Mapper includes symbol pins in standard pin array.
|
540
|
+
- YardMap ignores duplicate requires of the same gem.
|
541
|
+
- textDocument/rename hack for variables.
|
542
|
+
- Completing duck types searches for all duck-typed methods and includes Object.
|
543
|
+
|
544
|
+
## 0.27.1 - September 10, 2018
|
545
|
+
- Default Host#library instance.
|
546
|
+
|
547
|
+
## 0.27.0 - September 9, 2018
|
548
|
+
- New Cursor and Clip components replace Fragments.
|
549
|
+
- Split Sources into Sources (text and nodes) and SourceMaps (pins and other map-related data).
|
550
|
+
- Improved Source synchronization.
|
551
|
+
- Standardized chain generation on NodeChainer.
|
552
|
+
- Redesigned server threading.
|
553
|
+
- Host::Cataloger is responsible for updating ApiMaps.
|
554
|
+
- Host::Diagnoser is responsible for running diagnostics.
|
555
|
+
- Server checks gem versions inline instead of running an external process.
|
556
|
+
- New Library synchronization.
|
557
|
+
- ApiMap#catalog uses Bundles for updates.
|
558
|
+
- SourceMap::Mapper processes directives.
|
559
|
+
- Improved SourceMap and Pin merging.
|
560
|
+
- Chains support `super` and `self` keywords.
|
561
|
+
|
562
|
+
## 0.26.1 - August 31, 2018
|
563
|
+
- Update variable pins when synchronizing sources.
|
564
|
+
|
565
|
+
## 0.26.0 - August 30, 2018
|
566
|
+
- Major refactoring.
|
567
|
+
- More ComplexType integration.
|
568
|
+
- Use Chains for pin resolution and type inference.
|
569
|
+
- Deprecated ApiMap::Probe for Chains.
|
570
|
+
- Force UTF-8 encoding without normalizing.
|
571
|
+
- CallChainer parses simple call chains.
|
572
|
+
- Fragments are responsible for define, complete, and signify.
|
573
|
+
- Method visibility in ApiMap#get_complex_type_methods.
|
574
|
+
|
575
|
+
## 0.25.1 - August 20, 2018
|
576
|
+
- Revised hack in Host change thread for mismatches in version numbers and content changes
|
577
|
+
- Mapper#code_for corrects for EOL conversions in parser
|
578
|
+
- Fix TypeError on hover (castwide/solargraph#82)
|
579
|
+
- All fragment components return strings
|
580
|
+
- ComplexType supports fixed parameters
|
581
|
+
- ComplexType supports hash parameters with key => value syntax
|
582
|
+
|
583
|
+
## 0.25.0 - August 17, 2018
|
584
|
+
- RuboCop reporter uses an inline operation instead of an external process
|
585
|
+
- Resolve class and instance variable types from signatures
|
586
|
+
- Source attempts fast pin merges
|
587
|
+
- Refactored docstring parsing
|
588
|
+
- Pins can merge comments
|
589
|
+
- Variable pins use complex return types
|
590
|
+
- MethodParameter pin merges return types
|
591
|
+
- Handle self in ApiMap#qualify
|
592
|
+
- First implementation of new YardMap
|
593
|
+
- ApiMap::Store does not delete yard pins on source updates
|
594
|
+
- ApiMap changes to use new YardMap and store
|
595
|
+
- RequireNotFound uses ApiMap#unresolved_requires
|
596
|
+
- YardMap stdlib support
|
597
|
+
- Synchronize required path changes
|
598
|
+
- ComplexType ignores curly brackets
|
599
|
+
- Synchronize YardMap with source updates
|
600
|
+
- YardMap cache and ApiMap::Store synchronization
|
601
|
+
- Method completion filter
|
602
|
+
- ApiMap#define ignores keywords
|
603
|
+
- Removed manual garbage collection
|
604
|
+
- Docstring comparisons for pin merges
|
605
|
+
- Removed extra whitespace from method pin documentation
|
606
|
+
- textDocument/completion returns empty result marked incomplete while document is changing
|
607
|
+
- YardMap generates stdlib pins in one pass and caches results
|
608
|
+
- Disabled version order hack in Host change thread
|
609
|
+
- textDocument/formatting uses nil ranges for overwriting
|
610
|
+
|
611
|
+
## 0.24.1 - August 9, 2018
|
612
|
+
- No completion items for void return types
|
613
|
+
- ApiMap#complete qualifies pin return types
|
614
|
+
- Add space to = in attribute writer methods
|
615
|
+
- Redirect YARD logger to stderr
|
616
|
+
|
617
|
+
## 0.24.0 - August 5, 2018
|
618
|
+
- Complex types
|
619
|
+
- Include duck-typed methods in completion items
|
620
|
+
- Fragments correct EOL discrepancies in comment ranges
|
621
|
+
- TypeNotDefined diagnostics
|
622
|
+
- Mapper suppresses stdout while parsing docstrings
|
623
|
+
|
624
|
+
## 0.23.6 - August 2, 2018
|
625
|
+
- Fragment signatures skip array brackets inside arguments and blocks
|
626
|
+
- Disabled Host#save in DidSave
|
627
|
+
- Source documentation and method visibility
|
628
|
+
- YARD method object visibility
|
629
|
+
- Probe#infer_signature_type qualifies return types
|
630
|
+
- SourceToYard rakes method and attribute pins together
|
631
|
+
- LSP Initialize method prefers rootUri to rootPath
|
632
|
+
|
633
|
+
## 0.23.5 - July 16, 2018
|
634
|
+
- Source identifies files that raise exceptions
|
635
|
+
- ApiMap recognizes self keyword
|
636
|
+
- Refactored diagnostics reporters
|
637
|
+
- Source#all_symbols ignores pins with empty names
|
638
|
+
- Allow ? and ! in fragment signatures
|
639
|
+
- Runtime process checks scope for methods
|
640
|
+
- LiveMap returns constant pins
|
641
|
+
- Probe includes locals when resolving block parameters
|
642
|
+
- Probe resolves word types
|
643
|
+
|
644
|
+
## 0.23.4 - July 9, 2018
|
645
|
+
- Pin::Attribute#parameters is an empty array.
|
646
|
+
- Include attributes in Source method pins.
|
647
|
+
- Removed alphanumeric condition for mapping def pins.
|
648
|
+
- Refactored Source symbol query and pin location.
|
649
|
+
|
650
|
+
## 0.23.3 - July 4, 2018
|
651
|
+
- Fixed workspace/symbol method references
|
652
|
+
- Library#overwrite ignores out-of-sync requests
|
653
|
+
- Dynamic registration fixed
|
654
|
+
|
655
|
+
## 0.23.2 - July 4, 2018
|
656
|
+
- Fixed dynamic registration checks.
|
657
|
+
|
658
|
+
## 0.23.1 - July 4, 2018
|
659
|
+
- Fixed initialize result for clients without dynamic registration.
|
660
|
+
|
661
|
+
## 0.23.0 - July 1, 2018
|
662
|
+
- Dynamic registration for definitions, symbols, rename, and references
|
663
|
+
- Fixed capability registration issues
|
664
|
+
- First version of stdio transport
|
665
|
+
- YardMap object cache
|
666
|
+
- Pin::Attribute supports class method paths
|
667
|
+
- File.realdirpath conversion bug (castwide/solargraph#64)
|
668
|
+
|
669
|
+
## 0.22.0 - May 28, 2018
|
670
|
+
- Ruby 2.5 issues on Travis CI
|
671
|
+
- Fixed in-memory cache issue
|
672
|
+
- Fixed type inference from signatures for literal values
|
673
|
+
- Infer local variable types derived from other local variables
|
674
|
+
- textDocument/references support
|
675
|
+
- textDocument/rename support
|
676
|
+
- Probe infers word pins for nested namespaces
|
677
|
+
- Attribute scopes
|
678
|
+
- RuboCop command specifies config file
|
679
|
+
|
680
|
+
## 0.21.1 - May 13, 2018
|
681
|
+
- Initial support for module_function method visibility.
|
682
|
+
- Map `extend self` calls.
|
683
|
+
- ApiMap#complete filters completion results on the current word.
|
684
|
+
- Refactored YardMap stdlib handling.
|
685
|
+
- Minor Message#send bug in socket transport that raised exceptions in Ruby 2.5.1.
|
686
|
+
- Probe#infer_method_pins fully qualifies context_pin namespace.
|
687
|
+
|
688
|
+
## 0.21.0 - May 7, 2018
|
689
|
+
- ApiMap reads additional required paths from the workspace config.
|
690
|
+
- Source handles encoding errors.
|
691
|
+
- Integrated Travis CI.
|
692
|
+
- ApiMap#signify filters for method pins.
|
693
|
+
- Default client configuration updates.
|
694
|
+
- Fixed RuboCop formatting output.
|
695
|
+
- Removed bundler dependency.
|
696
|
+
- Removed legacy server and related dependencies.
|
697
|
+
- Infer method parameter types.
|
698
|
+
- Include solargraph.formatting in dynamic capability registration.
|
699
|
+
- Class and module method visibility (e.g., Module#private and Module#module_function).
|
700
|
+
|
701
|
+
## 0.20.0 - April 22, 2018
|
702
|
+
- YardMap tracks unresolved requires
|
703
|
+
- More specs
|
704
|
+
- Standardized diagnostics reporters
|
705
|
+
- `rubocop` and `require_not_found` reporters
|
706
|
+
- Unresolved requires are reportable diagnostics instead of errors
|
707
|
+
- LSP handles gem features with extended methods
|
708
|
+
- textDocument/onTypeFormatting completes brackets in string interpolation
|
709
|
+
- Workspace uses gemspecs for require paths
|
710
|
+
- Enabled domain support with @!domain directive in ApiMap and Source
|
711
|
+
- Workaround for unavailable :rdoc markup class
|
712
|
+
- Probe infers global variable pins
|
713
|
+
- Source#all_symbols includes namespaces
|
714
|
+
- Use kramdown instead of redcarpet for document pages
|
715
|
+
|
716
|
+
## 0.19.1 - April 16, 2018
|
717
|
+
- YardMap finds yardocs for gems with or without the bundler.
|
718
|
+
|
719
|
+
## 0.19.0 - April 16, 2018
|
720
|
+
- Major refactoring.
|
721
|
+
- ApiMap does not require AST data.
|
722
|
+
- Prefer line/character positions to offsets.
|
723
|
+
- ApiMap::Probe class for inferring dynamic return types.
|
724
|
+
- Improved local variable handling.
|
725
|
+
- Max workspace size is 5000 files.
|
726
|
+
|
727
|
+
## 0.18.3 - April 10, 2018
|
728
|
+
- castwide/solargraph#33 Enforce UTF-8 encoding when parsing source
|
729
|
+
|
730
|
+
## 0.18.2 - April 6, 2018
|
731
|
+
- RuboCop avoids highlighting more than 1 line per offense.
|
732
|
+
- LSP message synchronization issues.
|
733
|
+
- Prefer non-nil variable assignments in results.
|
734
|
+
- Check for nil assignment nodes in variable pins.
|
735
|
+
- Fragments handle literal value detection for signatures.
|
736
|
+
- Unresolved completion items do not emit errors.
|
737
|
+
- Completion items do not send 'Invalid offset' errors to clients.
|
738
|
+
|
739
|
+
## 0.18.1 - April 5, 2018
|
740
|
+
- First version of the language server.
|
741
|
+
|
742
|
+
## 0.17.3 - March 1, 2018
|
743
|
+
- YardMap rescues Gem::LoadError instead of Gem::MissingSpecError
|
744
|
+
- Server caches ApiMap for nil workspaces.
|
745
|
+
|
746
|
+
## 0.17.2 - February 15, 2018
|
747
|
+
- Visibility tweaks
|
748
|
+
- Refactored YardMap
|
749
|
+
- Process require paths to bundled gems
|
750
|
+
- Core method return type overrides
|
751
|
+
- Server handles nil and empty workspaces
|
752
|
+
|
753
|
+
## 0.17.1 - February 4, 2018
|
754
|
+
- Convert ERB templates to parsable code.
|
755
|
+
- Improved relative constant detection.
|
756
|
+
- Resolve file paths from symbols in required gems.
|
757
|
+
- Use inner method suggestion methods to avoid infinite recursion.
|
758
|
+
|
759
|
+
## 0.17.0 - February 1, 2018
|
760
|
+
- Support Solargraph configurations in workspace folders.
|
761
|
+
- Use @yieldself tag to change block contexts.
|
762
|
+
- Handle whitespace in signatures.
|
763
|
+
- Convert 'self' when inferring signature types.
|
764
|
+
- Handle bare periods without signatures.
|
765
|
+
- Source#fix handles bare periods better.
|
766
|
+
- Deprecate snippets.
|
767
|
+
- Initial support for macro directives.
|
768
|
+
- Changes to YardMap require path resolution.
|
769
|
+
- Server provides /define endpoint for go to definition.
|
770
|
+
- Removed deprecated methods from ApiMap and LiveMap.
|
771
|
+
|
772
|
+
## 0.16.0 - January 17, 2018
|
773
|
+
- Watch and report workspace changes.
|
774
|
+
- Arguments in Runtime method results.
|
775
|
+
- Infer yieldparam types from method owner subtypes.
|
776
|
+
- Select available port from shell.
|
777
|
+
|
778
|
+
## 0.15.4 - January 2, 2018
|
779
|
+
- Include suggestion documentation in /signify response.
|
780
|
+
- Derive unknown method return types from superclasses.
|
781
|
+
- Support for extended modules.
|
782
|
+
- Narrow visibility of private constants and methods.
|
783
|
+
- Infer return types of method chains from variables.
|
784
|
+
|
785
|
+
## 0.15.3 - December 10, 2017
|
786
|
+
- Suggestion has_doc attribute.
|
787
|
+
- Fully qualified namespace in generated MethodObject paths.
|
788
|
+
- Support for private_class_method and private_constant.
|
789
|
+
- Stable suggestion sorting (e.g., local class method comes before superclass method).
|
790
|
+
- Track files in workspace code objects.
|
791
|
+
|
792
|
+
## 0.15.2 - December 5, 2017
|
793
|
+
- Patched critical bug in minimum documentation requirement.
|
794
|
+
|
795
|
+
## 0.15.1 - December 4, 2017
|
796
|
+
- Fixed attribute -> code object mapping error.
|
797
|
+
|
798
|
+
## 0.15.0 - December 3, 2017
|
799
|
+
- CodeMap is workspace-agnostic.
|
800
|
+
- Use YARD code objects for workspace path documentation.
|
801
|
+
- Map pins to code objects.
|
802
|
+
- Infer return types from domain (DSL) methods.
|
803
|
+
- Fixed visibility and results for superclasses.
|
804
|
+
- Experimental @yieldself tag.
|
805
|
+
- Improved syntax error handling in Source.fix.
|
806
|
+
- Gem ships with Ruby 2.2.2 yardocs.
|
807
|
+
- Experimental plugin architecture and Runtime plugin.
|
808
|
+
- Experimental support for updating Ruby core documentation.
|
809
|
+
|
810
|
+
## 0.14.3 - November 30, 2017
|
811
|
+
- * Namespace pins
|
812
|
+
- * Required setting in config
|
813
|
+
- * Ignore non-Ruby files in workspace
|
814
|
+
- * Detect changes in workspace files
|
815
|
+
- * Add return types to class and module suggestions
|
816
|
+
- * Unique variable names in suggestions
|
817
|
+
- * Look for variable nodes with non-nil assignments or type tags
|
818
|
+
- * Server reverted from Puma back to WEBrick
|
819
|
+
- * Stubbed bundler/(setup|require) dependency mapping
|
820
|
+
- * Handle config parsing exceptions
|
821
|
+
- * Disabled Runtime plugin pending further testing
|
822
|
+
- * Handle exceptions in all server endpoints
|
823
|
+
|
824
|
+
## 0.14.2 - November 26, 2017
|
825
|
+
- Heisenbug in Gem::Specification concealed by Bundler behavior.
|
826
|
+
|
827
|
+
## 0.14.1 - November 26, 2017
|
828
|
+
- Disabled Runtime plugin.
|
829
|
+
|
830
|
+
## 0.14.0 - November 26, 2017
|
831
|
+
- LiveMap plugin support.
|
832
|
+
- Rebuild workspace yardoc if it exists (do not create).
|
833
|
+
- Standardized code/filename argument order.
|
834
|
+
- Internal Runtime plugin.
|
835
|
+
- Infer typed from Kernel methods.
|
836
|
+
- Removed unused dependencies.
|
837
|
+
- Add locations to pins and suggestions.
|
838
|
+
- Reduced size of /suggest response by default.
|
839
|
+
- Use /resolve for suggestion detail.
|
840
|
+
- Domain configuration option (experimental DSL support).
|
841
|
+
- Identify constant types.
|
842
|
+
- Optimized namespace type resolution.
|
843
|
+
- Include stdlib in search and document requests.
|
844
|
+
- Undefined variable bug in YardMap.
|
845
|
+
|
846
|
+
## 0.13.3 - November 7, 2017
|
847
|
+
- First support for YARD directives in workspace code.
|
848
|
+
- Experimental LiveMap plugins.
|
849
|
+
- Changes for backwards compatibility to Ruby 2.2.2.
|
850
|
+
- Generate config from default object.
|
851
|
+
|
852
|
+
## 0.13.2 - October 31, 2017
|
853
|
+
- * ApiMap clears namespace map when processing virtual files (duplicate object bug).
|
854
|
+
- * Exception for disagreement between root namespace and signature (root instance method bug).
|
855
|
+
|
856
|
+
## 0.13.1 - October 29, 2017
|
857
|
+
- Added missing return types.
|
858
|
+
- Fixed object(path) resolution.
|
859
|
+
- Corrected docstrings assigned to attribute pins.
|
860
|
+
- Server uses Puma.
|
861
|
+
- Filter server suggestions by default.
|
862
|
+
- Cache pin suggestions.
|
863
|
+
- Improved caches.
|
864
|
+
- YardMap crawls up the scope to find constants.
|
865
|
+
- Use local variable pins to reduce node browsing.
|
866
|
+
- Preparing the workspace also prepares the YardMap.
|
867
|
+
- Deprecated experimental bind tag.
|
868
|
+
- Include restargs (e.g., def foo *bar) in method arguments.
|
869
|
+
- Avoid inferring from signatures in top-level suggestions.
|
870
|
+
- Global variable support.
|
871
|
+
- Remove virtual source's existing pins in ApiMap updates.
|
872
|
+
- Improved performance of signature type inference.
|
873
|
+
|
874
|
+
## 0.13.0 - October 3, 2017
|
875
|
+
- Constant and symbol detection.
|
876
|
+
- Major code refactoring.
|
877
|
+
- Update single files instead of entire workspace.
|
878
|
+
- Eliminated local yardoc generation.
|
879
|
+
|
880
|
+
## 0.12.2 - September 14, 2017
|
881
|
+
- Fixed instance variable scoping bug.
|
882
|
+
- Partial support for constant method suggestions.
|
883
|
+
|
884
|
+
## 0.12.1 - September 12, 2017
|
885
|
+
- More literal value exceptions.
|
886
|
+
- Skip literal strings when building signatures.
|
887
|
+
- Improved ApiMap processing.
|
888
|
+
|
889
|
+
## 0.12.0 - September 12, 2017
|
890
|
+
- ApiMap config excludes test directory by default.
|
891
|
+
- Fixed literal value detection.
|
892
|
+
- Consolidated processes for inferring signatures.
|
893
|
+
- Object resolution detects class methods.
|
894
|
+
- ApiMap collects method and variable pins while processing maps.
|
895
|
+
- Removed bundler requirement.
|
896
|
+
- Avoid preparing workspaces without explicit requests.
|
897
|
+
|
898
|
+
## 0.11.2 - September 5, 2017
|
899
|
+
- Include square brackets in signatures for type inference.
|
900
|
+
- Semi-colons terminate signatures.
|
901
|
+
- Detect literal values at the start of signatures.
|
902
|
+
- Eliminate threads in workspace preparation due to lag and sync issues.
|
903
|
+
- Classes only include instance methods from included modules one level deep.
|
904
|
+
- ApiMap recurses into children for constant nodes.
|
905
|
+
|
906
|
+
## 0.11.1 - August 24, 2017
|
907
|
+
- Find arguments node for singleton methods.
|
908
|
+
- Recurse into class << self when collecting singleton methods.
|
909
|
+
- Detect singleton method visibility.
|
910
|
+
- Find constants in ApiMap.
|
911
|
+
- Inferring signatures detects methods that return self.
|
912
|
+
|
913
|
+
## 0.11.0 - August 16, 2017
|
914
|
+
- Add space to = in attr_accessor suggestions.
|
915
|
+
- Refactored detection of assignment node types.
|
916
|
+
- ApiMap caches assignment node types.
|
917
|
+
- ApiMap checks method visibility.
|
918
|
+
- Smart switching between class and instance scope when inferring signature types.
|
919
|
+
- Private methods are available from included modules.
|
920
|
+
- Avoid infinite loops from variable assignments that reference themselves.
|
921
|
+
- Detect the self keyword when inferring signature types.
|
922
|
+
- Updated gemspec dependencies.
|
923
|
+
|
924
|
+
## 0.10.3 - August 13, 2017
|
925
|
+
- Return to master branch for releases.
|
926
|
+
|
927
|
+
## 0.10.2 - August 11, 2017
|
928
|
+
- Chained method call inference.
|
929
|
+
- Detect class and instance variables in signatures.
|
930
|
+
- ApiMap caches inferred signature types.
|
931
|
+
|
932
|
+
## 0.10.1 - August 11, 2017
|
933
|
+
- CodeMap signature typing detects method arguments.
|
934
|
+
- Miscellaneous nil checks.
|
935
|
+
- Fixed yieldparam detection.
|
936
|
+
- Clean namespace strings for return types with subtypes.
|
937
|
+
|
938
|
+
## 0.10.0 - August 9, 2017
|
939
|
+
- YardMap#get_constants filters for classes, modules, and constants.
|
940
|
+
- Suggestions allow Constant as a kind attribute.
|
941
|
+
- Class variable support.
|
942
|
+
- Detect variables that directly references classes instead of instances.
|
943
|
+
- Detect and infer types for yield params.
|
944
|
+
|
945
|
+
## 0.9.2 - August 7, 2017
|
946
|
+
- Add block parameter variables to suggestions.
|
947
|
+
|
948
|
+
## 0.9.1 - August 1, 2017
|
949
|
+
- YardMap fixes.
|
950
|
+
- Workaround for paths in HTML helper.
|
951
|
+
- Extract default values for optional arguments from code.
|
952
|
+
- Parse param tags in suggestions.
|
953
|
+
- Show return types for method params.
|
954
|
+
- CodeMap detects comments.
|
955
|
+
- Solargraph config subcommand writes to .solargraph.yml.
|
956
|
+
|
957
|
+
## 0.9.0 - June 27, 2017
|
958
|
+
- Run GC after each server request.
|
959
|
+
- ApiMap appends all .rb files in workspace.
|
960
|
+
- Emulate YARD when parsing comments in ApiMap.
|
961
|
+
- Include modules in ApiMap inner instance methods.
|
962
|
+
- Configure ApiMap file options in .solargraph.yml.
|
963
|
+
|
964
|
+
## 0.8.6 - June 14, 2017
|
965
|
+
- ApiMap#update_yardoc sets workspace from thread. Retain docstring in suggestions.
|
966
|
+
- ApiMap#update_yardoc uses .yardopts directly for globs.
|
967
|
+
- CodeMap#filename path separator hack.
|
968
|
+
- Include all arguments in ApiMap instance method suggestions. Nil filename exception in CodeMap.
|
969
|
+
|
970
|
+
## 0.8.5 - June 12, 2017
|
971
|
+
- Exclude Kernel module when querying namespace instance methods.
|
972
|
+
|
973
|
+
## 0.8.4 - June 11, 2017
|
974
|
+
- Sort and filter for suggestions.
|
975
|
+
- CodeMap#namespace_from returns empty string instead of first node for nodes without locations.
|
976
|
+
- Improved error handling.
|
977
|
+
- Suggestions include return types.
|
978
|
+
- Convert RDoc to HTML in Suggestion#documentation.
|
979
|
+
- Instance methods in suggestions include superclass and mixin methods.
|
980
|
+
|
981
|
+
## 0.8.3 - June 8, 2017
|
982
|
+
- Improved detection of cursors inside strings.
|
983
|
+
- Property and Field kinds for suggestions.
|
984
|
+
|
985
|
+
## 0.8.2 - June 3, 2017
|
986
|
+
- Suggestions and inferences for method arguments.
|
987
|
+
|
988
|
+
## 0.8.1 - May 31, 2017
|
989
|
+
- Server uses Webrick.
|
990
|
+
|
991
|
+
## 0.8.0 - May 29, 2017
|
992
|
+
- Method suggestions include arguments.
|
993
|
+
- Use CodeMap#signature_at to get suggestions for method arguments.
|
994
|
+
- Server includes /signify endpoint for method arguments.
|
995
|
+
- First support for hover documentation.
|
996
|
+
- Handle multi-part constants in namespaces, e.g., "class Foo::Bar"
|
997
|
+
- Use #initialize documentation for #new methods.
|
998
|
+
- More HTML formatting helpers.
|
999
|
+
- Improved type detection for local variables.
|
1000
|
+
- Long/complex signature handling.
|
1001
|
+
|
1002
|
+
## 0.7.5 - May 12, 2017
|
1003
|
+
- Improved live error correction and instance variable suggestions.
|