solargraph 0.28.3 → 0.28.4
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.
- checksums.yaml +4 -4
- data/lib/solargraph/language_server/message/completion_item/resolve.rb +0 -3
- data/lib/solargraph/page.rb +2 -4
- data/lib/solargraph/pin.rb +0 -1
- data/lib/solargraph/pin/base.rb +0 -2
- data/lib/solargraph/pin/documenting.rb +30 -7
- data/lib/solargraph/version.rb +1 -1
- data/lib/solargraph/workspace.rb +19 -4
- metadata +53 -54
- data/lib/solargraph/pin/helper.rb +0 -41
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0fd24fe0b737e17e14772aa13d7b948b5721ba99f3a0855682e78503ca337816
|
4
|
+
data.tar.gz: 1e907c9e1f5fa10537c406fdd512574da4dce74354d0d16accb04d91794c29a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 77d273f6d65def59c5d4661a3479948fffce730fe9aebdff94cdc24dbefed1be8d60633e469a2d3f8c9941d1463980ed0db71eef7bdffe1182b6d9abc1835af6
|
7
|
+
data.tar.gz: e836999b24c652aa457a32db9f29a46264b91401c1fe6f4a86dc62baf9fce78e49f8795b6e957919ddcca21924c7ccc57a54d030f6183095dfa5d1663ab650d6
|
data/lib/solargraph/page.rb
CHANGED
@@ -3,6 +3,7 @@ require 'tilt'
|
|
3
3
|
require 'kramdown'
|
4
4
|
require 'htmlentities'
|
5
5
|
require 'coderay'
|
6
|
+
require 'reverse_markdown'
|
6
7
|
|
7
8
|
module Solargraph
|
8
9
|
class Page
|
@@ -18,11 +19,8 @@ module Solargraph
|
|
18
19
|
end
|
19
20
|
|
20
21
|
def htmlify text
|
21
|
-
helper = Solargraph::Pin::Helper.new
|
22
|
-
html = helper.html_markup_rdoc(text)
|
23
|
-
conv = ReverseMarkdown.convert(html, github_flavored: true)
|
24
22
|
Kramdown::Document.new(
|
25
|
-
|
23
|
+
text.to_s.lines.map{|l| l.gsub(/^ /, "\t")}.join,
|
26
24
|
input: 'GFM',
|
27
25
|
entity_output: :symbolic,
|
28
26
|
syntax_highlighter_opts: {
|
data/lib/solargraph/pin.rb
CHANGED
data/lib/solargraph/pin/base.rb
CHANGED
@@ -1,18 +1,41 @@
|
|
1
|
+
require 'rdoc'
|
2
|
+
require 'reverse_markdown'
|
3
|
+
require 'kramdown'
|
4
|
+
|
1
5
|
module Solargraph
|
2
6
|
module Pin
|
7
|
+
# A module to add the Pin::Base#documentation method.
|
8
|
+
#
|
3
9
|
module Documenting
|
4
10
|
# @return [String]
|
5
11
|
def documentation
|
6
|
-
|
7
|
-
|
8
|
-
|
12
|
+
@documentation ||= begin
|
13
|
+
html = Kramdown::Document.new(
|
14
|
+
normalize_indentation(docstring.to_s),
|
15
|
+
input: 'GFM',
|
16
|
+
entity_output: :symbolic,
|
17
|
+
syntax_highlighter: nil
|
18
|
+
).to_html
|
19
|
+
ReverseMarkdown.convert(html, github_flavored: true)
|
9
20
|
end
|
10
|
-
@documentation
|
11
21
|
end
|
12
22
|
|
13
|
-
|
14
|
-
|
23
|
+
private
|
24
|
+
|
25
|
+
# @param text [String]
|
26
|
+
# @return [String]
|
27
|
+
def normalize_indentation text
|
28
|
+
text.lines.map { |l| remove_odd_spaces(l).gsub(/^ /, "\t") }.join
|
29
|
+
end
|
30
|
+
|
31
|
+
# @param line [String]
|
32
|
+
# @return [String]
|
33
|
+
def remove_odd_spaces line
|
34
|
+
return line unless line.start_with?(' ')
|
35
|
+
spaces = line.match(/^ +/)[0].length
|
36
|
+
return line unless spaces.odd?
|
37
|
+
line[1..-1]
|
15
38
|
end
|
16
39
|
end
|
17
40
|
end
|
18
|
-
end
|
41
|
+
end
|
data/lib/solargraph/version.rb
CHANGED
data/lib/solargraph/workspace.rb
CHANGED
@@ -139,23 +139,38 @@ module Solargraph
|
|
139
139
|
end
|
140
140
|
end
|
141
141
|
|
142
|
+
# Generate require paths from gemspecs if they exist or assume the default
|
143
|
+
# lib directory.
|
144
|
+
#
|
145
|
+
# @return [Array<String>]
|
142
146
|
def generate_require_paths
|
143
147
|
return configured_require_paths if directory.empty? || !gemspec?
|
144
148
|
result = []
|
145
149
|
gemspecs.each do |file|
|
150
|
+
base = File.dirname(file)
|
146
151
|
# @todo Evaluating gemspec files violates the goal of not running
|
147
152
|
# workspace code, but this is how Gem::Specification.load does it
|
148
153
|
# anyway.
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
154
|
+
begin
|
155
|
+
spec = eval(File.read(file), binding, file)
|
156
|
+
next unless Gem::Specification === spec
|
157
|
+
result.concat spec.require_paths.map{ |path| File.join(base, path) } unless spec.nil?
|
158
|
+
rescue Exception => e
|
159
|
+
# Don't die if we have an error during eval-ing a gem spec.
|
160
|
+
# Concat the default lib directory instead.
|
161
|
+
# @todo Should the client be informed of the error through
|
162
|
+
# diagnostics or some other mechanism?
|
163
|
+
result.push File.join(base, 'lib')
|
164
|
+
end
|
153
165
|
end
|
154
166
|
result.concat config.require_paths
|
155
167
|
result.push File.join(directory, 'lib') if result.empty?
|
156
168
|
result
|
157
169
|
end
|
158
170
|
|
171
|
+
# Get additional require paths defined in the configuration.
|
172
|
+
#
|
173
|
+
# @return [Array<String>]
|
159
174
|
def configured_require_paths
|
160
175
|
return ['lib'] if directory.empty?
|
161
176
|
return [File.join(directory, 'lib')] if config.require_paths.empty?
|
metadata
CHANGED
@@ -1,83 +1,97 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: solargraph
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.28.
|
4
|
+
version: 0.28.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Fred Snyder
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-10-
|
11
|
+
date: 2018-10-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: coderay
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '1.1'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '1.1'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: eventmachine
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '1.2'
|
34
34
|
- - ">="
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version:
|
36
|
+
version: 1.2.5
|
37
37
|
type: :runtime
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
41
|
- - "~>"
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: '
|
43
|
+
version: '1.2'
|
44
44
|
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
|
-
version:
|
46
|
+
version: 1.2.5
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
48
|
+
name: htmlentities
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - "~>"
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
53
|
+
version: '4.3'
|
54
|
+
- - ">="
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 4.3.4
|
54
57
|
type: :runtime
|
55
58
|
prerelease: false
|
56
59
|
version_requirements: !ruby/object:Gem::Requirement
|
57
60
|
requirements:
|
58
61
|
- - "~>"
|
59
62
|
- !ruby/object:Gem::Version
|
60
|
-
version: '
|
63
|
+
version: '4.3'
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: 4.3.4
|
61
67
|
- !ruby/object:Gem::Dependency
|
62
|
-
name:
|
68
|
+
name: kramdown
|
63
69
|
requirement: !ruby/object:Gem::Requirement
|
64
70
|
requirements:
|
65
71
|
- - "~>"
|
66
72
|
- !ruby/object:Gem::Version
|
67
|
-
version: '1.
|
68
|
-
- - ">="
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
version: 1.2.5
|
73
|
+
version: '1.16'
|
71
74
|
type: :runtime
|
72
75
|
prerelease: false
|
73
76
|
version_requirements: !ruby/object:Gem::Requirement
|
74
77
|
requirements:
|
75
78
|
- - "~>"
|
76
79
|
- !ruby/object:Gem::Version
|
77
|
-
version: '1.
|
78
|
-
|
80
|
+
version: '1.16'
|
81
|
+
- !ruby/object:Gem::Dependency
|
82
|
+
name: parser
|
83
|
+
requirement: !ruby/object:Gem::Requirement
|
84
|
+
requirements:
|
85
|
+
- - "~>"
|
79
86
|
- !ruby/object:Gem::Version
|
80
|
-
version:
|
87
|
+
version: '2.4'
|
88
|
+
type: :runtime
|
89
|
+
prerelease: false
|
90
|
+
version_requirements: !ruby/object:Gem::Requirement
|
91
|
+
requirements:
|
92
|
+
- - "~>"
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: '2.4'
|
81
95
|
- !ruby/object:Gem::Dependency
|
82
96
|
name: reverse_markdown
|
83
97
|
requirement: !ruby/object:Gem::Requirement
|
@@ -99,81 +113,81 @@ dependencies:
|
|
99
113
|
- !ruby/object:Gem::Version
|
100
114
|
version: 1.0.5
|
101
115
|
- !ruby/object:Gem::Dependency
|
102
|
-
name:
|
116
|
+
name: rubocop
|
103
117
|
requirement: !ruby/object:Gem::Requirement
|
104
118
|
requirements:
|
105
119
|
- - "~>"
|
106
120
|
- !ruby/object:Gem::Version
|
107
|
-
version: '
|
121
|
+
version: '0.52'
|
108
122
|
type: :runtime
|
109
123
|
prerelease: false
|
110
124
|
version_requirements: !ruby/object:Gem::Requirement
|
111
125
|
requirements:
|
112
126
|
- - "~>"
|
113
127
|
- !ruby/object:Gem::Version
|
114
|
-
version: '
|
128
|
+
version: '0.52'
|
115
129
|
- !ruby/object:Gem::Dependency
|
116
|
-
name:
|
130
|
+
name: thor
|
117
131
|
requirement: !ruby/object:Gem::Requirement
|
118
132
|
requirements:
|
119
133
|
- - "~>"
|
120
134
|
- !ruby/object:Gem::Version
|
121
|
-
version: '
|
135
|
+
version: '0.19'
|
122
136
|
- - ">="
|
123
137
|
- !ruby/object:Gem::Version
|
124
|
-
version:
|
138
|
+
version: 0.19.4
|
125
139
|
type: :runtime
|
126
140
|
prerelease: false
|
127
141
|
version_requirements: !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
143
|
- - "~>"
|
130
144
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
145
|
+
version: '0.19'
|
132
146
|
- - ">="
|
133
147
|
- !ruby/object:Gem::Version
|
134
|
-
version:
|
148
|
+
version: 0.19.4
|
135
149
|
- !ruby/object:Gem::Dependency
|
136
|
-
name:
|
150
|
+
name: tilt
|
137
151
|
requirement: !ruby/object:Gem::Requirement
|
138
152
|
requirements:
|
139
153
|
- - "~>"
|
140
154
|
- !ruby/object:Gem::Version
|
141
|
-
version: '
|
155
|
+
version: '2.0'
|
142
156
|
type: :runtime
|
143
157
|
prerelease: false
|
144
158
|
version_requirements: !ruby/object:Gem::Requirement
|
145
159
|
requirements:
|
146
160
|
- - "~>"
|
147
161
|
- !ruby/object:Gem::Version
|
148
|
-
version: '
|
162
|
+
version: '2.0'
|
149
163
|
- !ruby/object:Gem::Dependency
|
150
|
-
name:
|
164
|
+
name: yard
|
151
165
|
requirement: !ruby/object:Gem::Requirement
|
152
166
|
requirements:
|
153
167
|
- - "~>"
|
154
168
|
- !ruby/object:Gem::Version
|
155
|
-
version: '0.
|
169
|
+
version: '0.9'
|
156
170
|
type: :runtime
|
157
171
|
prerelease: false
|
158
172
|
version_requirements: !ruby/object:Gem::Requirement
|
159
173
|
requirements:
|
160
174
|
- - "~>"
|
161
175
|
- !ruby/object:Gem::Version
|
162
|
-
version: '0.
|
176
|
+
version: '0.9'
|
163
177
|
- !ruby/object:Gem::Dependency
|
164
|
-
name:
|
178
|
+
name: pry
|
165
179
|
requirement: !ruby/object:Gem::Requirement
|
166
180
|
requirements:
|
167
181
|
- - "~>"
|
168
182
|
- !ruby/object:Gem::Version
|
169
|
-
version:
|
170
|
-
type: :
|
183
|
+
version: 0.11.3
|
184
|
+
type: :development
|
171
185
|
prerelease: false
|
172
186
|
version_requirements: !ruby/object:Gem::Requirement
|
173
187
|
requirements:
|
174
188
|
- - "~>"
|
175
189
|
- !ruby/object:Gem::Version
|
176
|
-
version:
|
190
|
+
version: 0.11.3
|
177
191
|
- !ruby/object:Gem::Dependency
|
178
192
|
name: rspec
|
179
193
|
requirement: !ruby/object:Gem::Requirement
|
@@ -208,20 +222,6 @@ dependencies:
|
|
208
222
|
- - "~>"
|
209
223
|
- !ruby/object:Gem::Version
|
210
224
|
version: '0.14'
|
211
|
-
- !ruby/object:Gem::Dependency
|
212
|
-
name: pry
|
213
|
-
requirement: !ruby/object:Gem::Requirement
|
214
|
-
requirements:
|
215
|
-
- - "~>"
|
216
|
-
- !ruby/object:Gem::Version
|
217
|
-
version: 0.11.3
|
218
|
-
type: :development
|
219
|
-
prerelease: false
|
220
|
-
version_requirements: !ruby/object:Gem::Requirement
|
221
|
-
requirements:
|
222
|
-
- - "~>"
|
223
|
-
- !ruby/object:Gem::Version
|
224
|
-
version: 0.11.3
|
225
225
|
description: IDE tools for code completion and inline documentation
|
226
226
|
email: admin@castwide.com
|
227
227
|
executables:
|
@@ -319,7 +319,6 @@ files:
|
|
319
319
|
- lib/solargraph/pin/documenting.rb
|
320
320
|
- lib/solargraph/pin/duck_method.rb
|
321
321
|
- lib/solargraph/pin/global_variable.rb
|
322
|
-
- lib/solargraph/pin/helper.rb
|
323
322
|
- lib/solargraph/pin/instance_variable.rb
|
324
323
|
- lib/solargraph/pin/keyword.rb
|
325
324
|
- lib/solargraph/pin/local_variable.rb
|
@@ -1,41 +0,0 @@
|
|
1
|
-
require 'yard'
|
2
|
-
|
3
|
-
module Solargraph
|
4
|
-
module Pin
|
5
|
-
class Helper
|
6
|
-
include YARD::Templates::Helpers::HtmlHelper
|
7
|
-
|
8
|
-
attr_accessor :object
|
9
|
-
attr_accessor :serializer
|
10
|
-
|
11
|
-
def initialize object = nil
|
12
|
-
@object = object
|
13
|
-
end
|
14
|
-
|
15
|
-
def url_for(object)
|
16
|
-
'.'
|
17
|
-
end
|
18
|
-
|
19
|
-
def html_markup_rdoc(text)
|
20
|
-
# @todo The :rdoc markup class might not be immediately available.
|
21
|
-
# If not, return nil for now under the assumption that the problem
|
22
|
-
# will eventually fix itself.
|
23
|
-
return nil if markup_class(:rdoc).nil?
|
24
|
-
super
|
25
|
-
end
|
26
|
-
|
27
|
-
def options
|
28
|
-
if @options.nil?
|
29
|
-
@options = YARD::Templates::TemplateOptions.new
|
30
|
-
@options[:type] = :rdoc
|
31
|
-
end
|
32
|
-
@options
|
33
|
-
end
|
34
|
-
|
35
|
-
# HACK: The linkify method just returns the arguments as plain text
|
36
|
-
def linkify *args
|
37
|
-
args.join(', ')
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|