language_server-protocol 3.14.0.0 → 3.14.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5176de1e7f223ecd27f7b85449a9c0f8ff07405a6cd87fb79f5ca56de532b170
4
- data.tar.gz: 6702521a27fe19bd8c56f94341066ca06c92e47d5f749451c3dddfc7947dbfba
3
+ metadata.gz: 421a684037f06cc7621698f2e85f9032a5d8f67a469a4d36266bbdef355af192
4
+ data.tar.gz: 46566651baf77dc574777806f6b2d0fb8d7a43015380b9f688dc772d0cdf8ac9
5
5
  SHA512:
6
- metadata.gz: a39910787614a138d310a1d7808124671e79c519322602126a10abcf79571dd3fe7d53e56c117eb13fb6e116f1a87f1463dc7a732c4032139ba54b51c923c8fe
7
- data.tar.gz: 9effbc1ef1149b92d38229561a0b0f1d86d4d80218d4c1bc8901ef5dceab60e0f08780440dc4f2bae0d20a4d2b3e75780be5cfae752441f112d1431a17f4bded
6
+ metadata.gz: bd257d1aab4eb25a25765826ffbe7924d8dc5e76a7645289da8d3863ef7d873156e2ca30bed215768bc873fdf5c9fb29043604d56d4322fcc2a47cdfed00af0d
7
+ data.tar.gz: 23005ed19a166de779eecd57643d5eebec4c7aad3172a8af50f840080f102248aba6d98df6274a1157c117d85885341b893e871831a1f0629b16783f3e63171a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Change log
2
2
 
3
+ ## 3.14.0.1
4
+
5
+ - Drop Ruby < 2.4
6
+ - Add Transport::Io (Thanks to @soutaro)
7
+
3
8
  ## 3.14.0.0
4
9
 
5
10
  - Update Language Server Protocol version to 3.14.0
data/circle.yml CHANGED
@@ -30,10 +30,6 @@ jobs:
30
30
  <<: *test
31
31
  ruby-2-4:
32
32
  <<: *test
33
- ruby-2-3:
34
- <<: *test
35
- ruby-2-2:
36
- <<: *test
37
33
 
38
34
  workflows:
39
35
  version: 2
@@ -42,5 +38,3 @@ workflows:
42
38
  - ruby-2-6
43
39
  - ruby-2-5
44
40
  - ruby-2-4
45
- - ruby-2-3
46
- - ruby-2-2
@@ -7,10 +7,6 @@ services:
7
7
  <<: *latest
8
8
  ruby-2-4:
9
9
  <<: *latest
10
- ruby-2-3:
11
- <<: *latest
12
- ruby-2-2:
13
- <<: *latest
14
10
  node:
15
11
  <<: *latest
16
12
  volumes:
@@ -6,14 +6,11 @@ services:
6
6
  - $HOME/.gitconfig:/home/ruby/.gitconfig:ro
7
7
  - $HOME/.ssh:/home/ruby/.ssh:ro
8
8
  - $HOME/.gem:/home/ruby/.gem
9
+ - $HOME/.netrc:/home/ruby/.netrc
9
10
  ruby-2-5:
10
11
  <<: *latest
11
12
  ruby-2-4:
12
13
  <<: *latest
13
- ruby-2-3:
14
- <<: *latest
15
- ruby-2-2:
16
- <<: *latest
17
14
  node:
18
15
  volumes:
19
16
  - .:/app:cached
data/docker-compose.yml CHANGED
@@ -5,7 +5,7 @@ services:
5
5
  context: .
6
6
  dockerfile: Dockerfile.development
7
7
  args:
8
- RUBY_VERSION: 2.6.0
8
+ RUBY_VERSION: 2.6.3
9
9
  volumes:
10
10
  - vendor:/vendor
11
11
  - home:/home/ruby
@@ -14,25 +14,13 @@ services:
14
14
  build:
15
15
  <<: *build
16
16
  args:
17
- RUBY_VERSION: 2.5.3
17
+ RUBY_VERSION: 2.5.5
18
18
  ruby-2-4:
19
19
  <<: *latest
20
20
  build:
21
21
  <<: *build
22
22
  args:
23
- RUBY_VERSION: 2.4.5
24
- ruby-2-3:
25
- <<: *latest
26
- build:
27
- <<: *build
28
- args:
29
- RUBY_VERSION: 2.3.8
30
- ruby-2-2:
31
- <<: *latest
32
- build:
33
- <<: *build
34
- args:
35
- RUBY_VERSION: 2.2.10
23
+ RUBY_VERSION: 2.4.6
36
24
  node:
37
25
  build:
38
26
  context: .
@@ -21,6 +21,8 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ["lib"]
23
23
 
24
+ spec.required_ruby_version = ">= 2.4.0"
25
+
24
26
  spec.add_development_dependency "bundler", "~> 1.15"
25
27
  spec.add_development_dependency "rake", "~> 10.0"
26
28
  spec.add_development_dependency "minitest", "~> 5.0"
@@ -0,0 +1,47 @@
1
+ require "json"
2
+
3
+ module LanguageServer
4
+ module Protocol
5
+ module Transport
6
+ module Io
7
+ class Reader
8
+ def initialize(io)
9
+ @io = io
10
+ end
11
+
12
+ def read(&block)
13
+ buffer = ""
14
+ header_parsed = false
15
+ content_length = nil
16
+
17
+ while char = io.getc
18
+ buffer << char
19
+
20
+ unless header_parsed
21
+ if buffer[-4..-1] == "\r\n" * 2
22
+ content_length = buffer.match(/Content-Length: (\d+)/i)[1].to_i
23
+
24
+ header_parsed = true
25
+ buffer.clear
26
+ end
27
+ else
28
+ if buffer.bytesize == content_length
29
+ request = JSON.parse(buffer, symbolize_names: true)
30
+
31
+ block.call(request)
32
+
33
+ header_parsed = false
34
+ buffer.clear
35
+ end
36
+ end
37
+ end
38
+ end
39
+
40
+ private
41
+
42
+ attr_reader :io
43
+ end
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,34 @@
1
+ module LanguageServer
2
+ module Protocol
3
+ module Transport
4
+ module Io
5
+ class Writer
6
+ attr_reader :io
7
+
8
+ def initialize(io)
9
+ @io = io
10
+ end
11
+
12
+ def write(response)
13
+ response_str = response.merge(
14
+ jsonrpc: "2.0"
15
+ ).to_json
16
+
17
+ headers = {
18
+ "Content-Length" => response_str.bytesize
19
+ }
20
+
21
+ headers.each do |k, v|
22
+ io.print "#{k}: #{v}\r\n"
23
+ end
24
+
25
+ io.print "\r\n"
26
+
27
+ io.print response_str
28
+ io.flush
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,2 @@
1
+ require "language_server/protocol/transport/io/reader"
2
+ require "language_server/protocol/transport/io/writer"
@@ -1,36 +1,10 @@
1
- require "json"
2
-
3
1
  module LanguageServer
4
2
  module Protocol
5
3
  module Transport
6
4
  module Stdio
7
- class Reader
8
- def read(&block)
9
- buffer = ""
10
- header_parsed = false
11
- content_length = nil
12
-
13
- while char = STDIN.getc
14
- buffer << char
15
-
16
- unless header_parsed
17
- if buffer[-4..-1] == "\r\n" * 2
18
- content_length = buffer.match(/Content-Length: (\d+)/i)[1].to_i
19
-
20
- header_parsed = true
21
- buffer.clear
22
- end
23
- else
24
- if buffer.bytesize == content_length
25
- request = JSON.parse(buffer, symbolize_names: true)
26
-
27
- block.call(request)
28
-
29
- header_parsed = false
30
- buffer.clear
31
- end
32
- end
33
- end
5
+ class Reader < Io::Reader
6
+ def initialize
7
+ super STDIN
34
8
  end
35
9
  end
36
10
  end
@@ -2,24 +2,9 @@ module LanguageServer
2
2
  module Protocol
3
3
  module Transport
4
4
  module Stdio
5
- class Writer
6
- def write(response)
7
- response_str = response.merge(
8
- jsonrpc: "2.0"
9
- ).to_json
10
-
11
- headers = {
12
- "Content-Length" => response_str.bytesize
13
- }
14
-
15
- headers.each do |k, v|
16
- STDOUT.print "#{k}: #{v}\r\n"
17
- end
18
-
19
- STDOUT.print "\r\n"
20
-
21
- STDOUT.print response_str
22
- STDOUT.flush
5
+ class Writer < Io::Writer
6
+ def initialize
7
+ super STDOUT
23
8
  end
24
9
  end
25
10
  end
@@ -1 +1,2 @@
1
+ require "language_server/protocol/transport/io"
1
2
  require "language_server/protocol/transport/stdio"
@@ -1,5 +1,5 @@
1
1
  module LanguageServer
2
2
  module Protocol
3
- VERSION = "3.14.0.0"
3
+ VERSION = "3.14.0.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: language_server-protocol
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.14.0.0
4
+ version: 3.14.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fumiaki MATSUSHIMA
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-01-05 00:00:00.000000000 Z
11
+ date: 2019-04-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -276,6 +276,9 @@ files:
276
276
  - lib/language_server/protocol/interface/workspace_folders_change_event.rb
277
277
  - lib/language_server/protocol/interface/workspace_symbol_params.rb
278
278
  - lib/language_server/protocol/transport.rb
279
+ - lib/language_server/protocol/transport/io.rb
280
+ - lib/language_server/protocol/transport/io/reader.rb
281
+ - lib/language_server/protocol/transport/io/writer.rb
279
282
  - lib/language_server/protocol/transport/stdio.rb
280
283
  - lib/language_server/protocol/transport/stdio/reader.rb
281
284
  - lib/language_server/protocol/transport/stdio/writer.rb
@@ -295,14 +298,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
295
298
  requirements:
296
299
  - - ">="
297
300
  - !ruby/object:Gem::Version
298
- version: '0'
301
+ version: 2.4.0
299
302
  required_rubygems_version: !ruby/object:Gem::Requirement
300
303
  requirements:
301
304
  - - ">="
302
305
  - !ruby/object:Gem::Version
303
306
  version: '0'
304
307
  requirements: []
305
- rubygems_version: 3.0.1
308
+ rubygems_version: 3.0.3
306
309
  signing_key:
307
310
  specification_version: 4
308
311
  summary: A Language Server Protocol SDK