steep 1.8.0 → 1.8.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +12 -0
- data/lib/steep/drivers/checkfile.rb +1 -0
- data/lib/steep/drivers/stats.rb +1 -1
- data/lib/steep/server/master.rb +41 -21
- data/lib/steep/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6f40f4acb0e71a6cfd2b751297f2fc1a9cd18a87545d24cec51c0da5f1e9792e
|
4
|
+
data.tar.gz: 947ea73b078a7c1b9dc37e2855a6e483d1bbc919414b97226a3393bf92cb6bf8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b146bd6a93a59b5ec7a3029b061fc352c1e93c9bd87cfac89783b9a54175f076bc208a6f94adc32fa2a1802fdc94a422f1c64fbca555eb5ad93481ce7ff88b5d
|
7
|
+
data.tar.gz: d746bee9df6ab60f43811ec81a415348927bde046cba2cf7b2dd5e4204438e9dc317456ed9d61358fbbfe22125c569451687b9d528b17d1792e470e29dac43c1
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## 1.8.2 (2024-10-24)
|
4
|
+
|
5
|
+
### Language server
|
6
|
+
|
7
|
+
* Ignore `didChangeWatchedFiles notification` for open files ([#1290](https://github.com/soutaro/steep/pull/1290))
|
8
|
+
|
9
|
+
## 1.8.1 (2024-10-08)
|
10
|
+
|
11
|
+
### Language server
|
12
|
+
|
13
|
+
* Skip sending response to `$/steep/typecheck` request from `steep langserver` ([#1268](https://github.com/soutaro/steep/pull/1268), backport [#1267](https://github.com/soutaro/steep/pull/1267))
|
14
|
+
|
3
15
|
## 1.8.0 (2024-09-30)
|
4
16
|
|
5
17
|
### Type checker core
|
@@ -165,6 +165,7 @@ module Steep
|
|
165
165
|
request.signature_paths << project.absolute_path(path)
|
166
166
|
end
|
167
167
|
|
168
|
+
request.needs_response = true
|
168
169
|
master.start_type_check(request: request, last_request: nil, report_progress_threshold: 0)
|
169
170
|
|
170
171
|
Steep.logger.info { "Starting type checking: #{request_guid}" }
|
data/lib/steep/drivers/stats.rb
CHANGED
@@ -162,7 +162,7 @@ module Steep
|
|
162
162
|
master.job_queue << -> do
|
163
163
|
Steep.logger.info { "Type checking for stats..." }
|
164
164
|
progress = master.work_done_progress(typecheck_guid)
|
165
|
-
master.start_type_check(last_request: nil, progress: progress, include_unchanged: true, report_progress_threshold: 0)
|
165
|
+
master.start_type_check(last_request: nil, progress: progress, include_unchanged: true, report_progress_threshold: 0, needs_response: true)
|
166
166
|
end
|
167
167
|
wait_for_message(reader: client_reader) do |message|
|
168
168
|
message[:id] == typecheck_guid
|
data/lib/steep/server/master.rb
CHANGED
@@ -12,6 +12,7 @@ module Steep
|
|
12
12
|
attr_reader :checked_paths
|
13
13
|
attr_reader :work_done_progress
|
14
14
|
attr_reader :started_at
|
15
|
+
attr_accessor :needs_response
|
15
16
|
|
16
17
|
def initialize(guid:, progress:)
|
17
18
|
@guid = guid
|
@@ -22,6 +23,7 @@ module Steep
|
|
22
23
|
@checked_paths = Set[]
|
23
24
|
@work_done_progress = progress
|
24
25
|
@started_at = Time.now
|
26
|
+
@needs_response = false
|
25
27
|
end
|
26
28
|
|
27
29
|
def uri(path)
|
@@ -700,13 +702,17 @@ module Steep
|
|
700
702
|
end
|
701
703
|
|
702
704
|
when "workspace/didChangeWatchedFiles"
|
705
|
+
updated_watched_files = [] #: Array[Pathname]
|
706
|
+
|
703
707
|
message[:params][:changes].each do |change|
|
704
708
|
uri = change[:uri]
|
705
709
|
type = change[:type]
|
706
710
|
|
707
|
-
path = PathHelper.to_pathname(uri)
|
711
|
+
path = PathHelper.to_pathname!(uri)
|
708
712
|
|
709
713
|
unless controller.priority_paths.include?(path)
|
714
|
+
updated_watched_files << path
|
715
|
+
|
710
716
|
controller.push_changes(path)
|
711
717
|
|
712
718
|
case type
|
@@ -718,10 +724,16 @@ module Steep
|
|
718
724
|
end
|
719
725
|
|
720
726
|
content or raise
|
727
|
+
|
721
728
|
broadcast_notification(CustomMethods::FileReset.notification({ uri: uri, content: content }))
|
722
729
|
end
|
723
730
|
end
|
724
731
|
|
732
|
+
if updated_watched_files.empty?
|
733
|
+
Steep.logger.info { "Exit from workspace/didChangeWatchedFiles notification because all of the changed files are already open" }
|
734
|
+
return
|
735
|
+
end
|
736
|
+
|
725
737
|
if typecheck_automatically
|
726
738
|
start_type_checking_queue.execute do
|
727
739
|
job_queue.push(
|
@@ -732,7 +744,8 @@ module Steep
|
|
732
744
|
start_type_check(
|
733
745
|
last_request: last_request,
|
734
746
|
include_unchanged: true,
|
735
|
-
progress: work_done_progress(guid)
|
747
|
+
progress: work_done_progress(guid),
|
748
|
+
needs_response: false
|
736
749
|
)
|
737
750
|
end
|
738
751
|
)
|
@@ -755,7 +768,8 @@ module Steep
|
|
755
768
|
|
756
769
|
start_type_check(
|
757
770
|
last_request: last_request,
|
758
|
-
progress: work_done_progress(guid)
|
771
|
+
progress: work_done_progress(guid),
|
772
|
+
needs_response: false
|
759
773
|
)
|
760
774
|
end
|
761
775
|
)
|
@@ -859,7 +873,8 @@ module Steep
|
|
859
873
|
start_type_check(
|
860
874
|
last_request: current_type_check_request,
|
861
875
|
include_unchanged: true,
|
862
|
-
progress: work_done_progress(guid || SecureRandom.uuid)
|
876
|
+
progress: work_done_progress(guid || SecureRandom.uuid),
|
877
|
+
needs_response: true
|
863
878
|
)
|
864
879
|
|
865
880
|
when "$/ping"
|
@@ -920,25 +935,27 @@ module Steep
|
|
920
935
|
finished_at = Time.now
|
921
936
|
duration = finished_at - request.started_at
|
922
937
|
|
923
|
-
|
924
|
-
|
925
|
-
|
926
|
-
|
927
|
-
|
928
|
-
|
929
|
-
|
930
|
-
|
931
|
-
|
932
|
-
|
933
|
-
|
938
|
+
if request.needs_response
|
939
|
+
enqueue_write_job(
|
940
|
+
SendMessageJob.to_client(
|
941
|
+
message: CustomMethods::TypeCheck.response(
|
942
|
+
request.guid,
|
943
|
+
{
|
944
|
+
guid: request.guid,
|
945
|
+
completed: request.finished?,
|
946
|
+
started_at: request.started_at.iso8601,
|
947
|
+
finished_at: finished_at.iso8601,
|
948
|
+
duration: duration.to_i
|
949
|
+
}
|
950
|
+
)
|
934
951
|
)
|
935
952
|
)
|
936
|
-
|
937
|
-
|
938
|
-
|
953
|
+
else
|
954
|
+
Steep.logger.debug { "Skip sending response to #{CustomMethods::TypeCheck::METHOD} request" }
|
955
|
+
end
|
939
956
|
end
|
940
957
|
|
941
|
-
def start_type_check(request: nil, last_request:, progress: nil, include_unchanged: false, report_progress_threshold: 10)
|
958
|
+
def start_type_check(request: nil, last_request:, progress: nil, include_unchanged: false, report_progress_threshold: 10, needs_response: nil)
|
942
959
|
Steep.logger.tagged "#start_type_check(#{progress&.guid || request&.guid}, #{last_request&.guid}" do
|
943
960
|
if last_request
|
944
961
|
finish_type_check(last_request)
|
@@ -947,6 +964,7 @@ module Steep
|
|
947
964
|
unless request
|
948
965
|
progress or raise
|
949
966
|
request = controller.make_request(guid: progress.guid, include_unchanged: include_unchanged, progress: progress) or return
|
967
|
+
request.needs_response = needs_response ? true : false
|
950
968
|
end
|
951
969
|
|
952
970
|
if request.total > report_progress_threshold
|
@@ -960,7 +978,8 @@ module Steep
|
|
960
978
|
end
|
961
979
|
|
962
980
|
if request.finished?
|
963
|
-
|
981
|
+
finish_type_check(request)
|
982
|
+
@current_type_check_request = nil
|
964
983
|
return
|
965
984
|
end
|
966
985
|
else
|
@@ -992,7 +1011,8 @@ module Steep
|
|
992
1011
|
current.work_done_progress.report(percentage, "#{percentage}%")
|
993
1012
|
|
994
1013
|
if current.finished?
|
995
|
-
|
1014
|
+
finish_type_check(current)
|
1015
|
+
@current_type_check_request = nil
|
996
1016
|
end
|
997
1017
|
end
|
998
1018
|
end
|
data/lib/steep/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: steep
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
4
|
+
version: 1.8.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Soutaro Matsumoto
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-10-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: parser
|