lsp-protocol 0.0.4 → 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/lsp.rb +14 -0
  3. data/lsp-protocol.gemspec +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 239a639762813d65f2039b8023e07355ef6f235e33086bae243c9acc2379500c
4
- data.tar.gz: 3916e4176f0f871d41f8d5d33ef2b35d002c59ddcac5360506c6ba385c1a4e02
3
+ metadata.gz: fded7d142743940e36e6b8a38630cae77df4fc6f243436e32e9a513d00363293
4
+ data.tar.gz: 951ea21544f22fc937cf6a795eb71b0e01867511dfeae72a73193ac731e235c6
5
5
  SHA512:
6
- metadata.gz: 34f2b7bfd7b7f645073513a8c69b091eb70fa51109847573b74c77c8e38615a55a9333a8a1ea49b1a0de9960644d1e3ad6a279091c2eb037e946ed9537606424
7
- data.tar.gz: a2554f4d80e7610667fe4ef8ec15c44b8c1fd8af4f6dfc844db4bb28bd285cbddc3200b2f9551248ab6fcfc689e34d96bd3cc0fab86fc4461244e3bdda9151bc
6
+ metadata.gz: 3f3457bcca090879e4f21506f78bab7813c64ba01b8c20d8bcccbaae8f0436602524e708c5a0a7eb1434eecaeeccb55831f08ff437ece95d44119cae7ca94724
7
+ data.tar.gz: b5592d39d55e99be34d1f01decc93097edcf3964135e0e25aad5c71ec08d426071f2d68d3804f7ab896b4e69653e3df261708a017f58e9ca2c35c8c57a0031ca
data/lib/lsp.rb CHANGED
@@ -1,6 +1,9 @@
1
1
  module Lsp
2
2
  TextDocumentIdentifier = Struct.new(:uri)
3
3
 
4
+ DidChangeTextDocumentParams = Struct.new(:text_document, :content_changes)
5
+ TextDocumentContentChangeEvent = Struct.new(:text)
6
+ VersionedTextDocumentIdentifier = Struct.new(:uri, :version)
4
7
  TextDocumentPositionParams = Struct.new(:text_document, :position)
5
8
  InitializeRequest = Struct.new(:root_uri)
6
9
  CompletionItem = Struct.new(:label, :text_edit) do
@@ -114,6 +117,17 @@ module Lsp
114
117
  TextDocumentIdentifier.new(
115
118
  URI(params.fetch(:textDocument).fetch(:uri))),
116
119
  Position.from_hash(params.fetch(:position))))
120
+ when "textDocument/didChange"
121
+ handle_text_document_did_change(
122
+ DidChangeTextDocumentParams.new(
123
+ VersionedTextDocumentIdentifier.new(
124
+ URI(params.fetch(:textDocument).fetch(:uri)),
125
+ params.fetch(:textDocument).fetch(:version)),
126
+ params.fetch(:contentChanges).map do |contentChange|
127
+ next if contentChange[:range]
128
+ TextDocumentContentChangeEvent.new(
129
+ contentChange.fetch(:text))
130
+ end.compact))
117
131
  else
118
132
  ResponseMessage.new(nil, ResponseError::MethodNotFound.new)
119
133
  end
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = 'lsp-protocol'
7
- spec.version = '0.0.4'
7
+ spec.version = '0.0.5'
8
8
  spec.licenses = ['MIT']
9
9
  spec.authors = ['Rafał Łasocha']
10
10
  spec.email = 'lsp@swistak35.com'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lsp-protocol
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rafał Łasocha
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-01 00:00:00.000000000 Z
11
+ date: 2018-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler