canopus 0.4.0 → 0.5.0
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/CHANGELOG.md +55 -0
- data/README.md +191 -19
- data/assets/keymaps/emacs.jsonc +5 -0
- data/assets/keymaps/jetbrains.jsonc +5 -0
- data/assets/keymaps/sublime.jsonc +5 -0
- data/assets/keymaps/vscode.jsonc +5 -0
- data/docs/debugging.md +143 -0
- data/docs/distribution.md +40 -9
- data/docs/lsp.md +131 -0
- data/docs/performance.md +18 -0
- data/docs/providers.md +36 -0
- data/docs/release-log.md +12 -0
- data/docs/tasks.md +64 -0
- data/docs/testing.md +49 -0
- data/docs/vim.md +3 -0
- data/exe/canopus +4 -1
- data/lib/canopus/buffer.rb +291 -50
- data/lib/canopus/cli.rb +5 -2
- data/lib/canopus/command.rb +13 -4
- data/lib/canopus/controller.rb +183 -40
- data/lib/canopus/debug/breakpoints.rb +550 -0
- data/lib/canopus/debug/configuration.rb +291 -0
- data/lib/canopus/debug/console.rb +243 -0
- data/lib/canopus/debug/panel.rb +487 -0
- data/lib/canopus/debug/session.rb +354 -0
- data/lib/canopus/decoration.rb +4 -2
- data/lib/canopus/denebola_compat.rb +27 -0
- data/lib/canopus/diagnostics.rb +173 -0
- data/lib/canopus/display_map/overlay_map.rb +6 -2
- data/lib/canopus/editor/snippet_expandable.rb +3 -2
- data/lib/canopus/editor.rb +122 -31
- data/lib/canopus/git/state.rb +100 -0
- data/lib/canopus/language/background_analysis.rb +93 -14
- data/lib/canopus/language/document.rb +70 -34
- data/lib/canopus/language/symbol.rb +1 -0
- data/lib/canopus/language/syntax_worker.rb +61 -9
- data/lib/canopus/language.rb +3 -0
- data/lib/canopus/minimap.rb +201 -0
- data/lib/canopus/patch.rb +3 -1
- data/lib/canopus/plugins/api.rb +4 -2
- data/lib/canopus/plugins/isolated_runtime.rb +64 -7
- data/lib/canopus/plugins/registry.rb +114 -3
- data/lib/canopus/plugins.rb +8 -7
- data/lib/canopus/project.rb +15 -6
- data/lib/canopus/provider.rb +192 -0
- data/lib/canopus/regexp_compat.rb +36 -4
- data/lib/canopus/selection.rb +12 -0
- data/lib/canopus/settings/schema.rb +201 -0
- data/lib/canopus/settings.rb +328 -49
- data/lib/canopus/task/configuration.rb +356 -0
- data/lib/canopus/task/problem_matcher.rb +264 -0
- data/lib/canopus/task/runner.rb +314 -0
- data/lib/canopus/test_runner/bounded_ignore.rb +144 -0
- data/lib/canopus/test_runner/discovery.rb +97 -0
- data/lib/canopus/test_runner/execution.rb +194 -0
- data/lib/canopus/test_runner/minitest.rb +116 -0
- data/lib/canopus/test_runner/rspec.rb +103 -0
- data/lib/canopus/test_runner/safe_walker.rb +37 -0
- data/lib/canopus/test_runner.rb +54 -0
- data/lib/canopus/theme/import.rb +131 -0
- data/lib/canopus/theme.rb +28 -4
- data/lib/canopus/version.rb +1 -1
- data/lib/canopus/vim/motionable.rb +1 -1
- data/lib/canopus/vim.rb +10 -16
- data/lib/canopus/workspace/auto_savable.rb +83 -0
- data/lib/canopus/workspace/debug_aware.rb +600 -0
- data/lib/canopus/workspace/edit/plan.rb +2 -2
- data/lib/canopus/workspace/editor_configurable.rb +113 -0
- data/lib/canopus/workspace/file_change_aware.rb +11 -3
- data/lib/canopus/workspace/git_aware.rb +80 -34
- data/lib/canopus/workspace/git_blame.rb +175 -0
- data/lib/canopus/workspace/git_conflict_resolution.rb +410 -0
- data/lib/canopus/workspace/git_diff_view.rb +641 -0
- data/lib/canopus/workspace/git_history.rb +171 -0
- data/lib/canopus/workspace/git_remote.rb +267 -0
- data/lib/canopus/workspace/git_staging.rb +583 -0
- data/lib/canopus/workspace/hierarchy_aware.rb +477 -0
- data/lib/canopus/workspace/keymap_aware.rb +66 -0
- data/lib/canopus/workspace/language_aware.rb +3721 -135
- data/lib/canopus/workspace/language_server_configurable.rb +287 -71
- data/lib/canopus/workspace/persistent_undo.rb +169 -0
- data/lib/canopus/workspace/problems_aware.rb +131 -0
- data/lib/canopus/workspace/project_searchable.rb +88 -11
- data/lib/canopus/workspace/project_tree_editable.rb +3 -1
- data/lib/canopus/workspace/recoverable.rb +204 -0
- data/lib/canopus/workspace/session_persistable.rb +85 -13
- data/lib/canopus/workspace/settings_aware.rb +76 -2
- data/lib/canopus/workspace/task_aware.rb +194 -0
- data/lib/canopus/workspace/test_aware.rb +394 -0
- data/lib/canopus/workspace/trust.rb +73 -0
- data/lib/canopus/workspace/view/terminal_presentable.rb +298 -47
- data/lib/canopus/workspace/view.rb +399 -74
- data/lib/canopus/workspace.rb +688 -44
- data/lib/canopus.rb +20 -2
- data/sig/canopus.rbs +138 -31
- data/sig/controller.rbs +10 -3
- data/sig/debug.rbs +121 -0
- data/sig/decoration.rbs +12 -2
- data/sig/diagnostics.rbs +26 -0
- data/sig/minimap.rbs +20 -0
- data/sig/provider.rbs +29 -0
- data/sig/services.rbs +1 -16
- data/sig/task.rbs +92 -0
- data/sig/test_runner.rbs +109 -0
- data/sig/trust.rbs +17 -0
- data/sig/workspace_edits.rbs +2 -2
- data/sig/workspace_services.rbs +234 -2
- data/tools/check_dependencies.rb +21 -2
- data/tools/package.rb +172 -14
- data/tools/package_signature_test.rb +33 -0
- data/tools/package_test.rb +29 -0
- data/tools/sign_package.rb +123 -0
- data/tools/update.rb +189 -0
- data/tools/update_test.rb +71 -0
- metadata +206 -31
- data/lib/canopus/lsp/client.rb +0 -307
- data/lib/canopus/lsp/error.rb +0 -7
- data/lib/canopus/lsp/future/subscription.rb +0 -9
- data/lib/canopus/lsp/future.rb +0 -87
- data/lib/canopus/lsp/protocol.rb +0 -83
- data/lib/canopus/lsp/server_error.rb +0 -13
- data/lib/canopus/lsp/timeout.rb +0 -7
- data/lib/canopus/lsp/transport.rb +0 -123
- data/lib/canopus/lsp.rb +0 -19
- data/lib/canopus/project/search.rb +0 -164
- data/lib/canopus/project/search_worker/cancelled.rb +0 -3
- data/lib/canopus/project/search_worker/runner.rb +0 -9
- data/lib/canopus/project/search_worker.rb +0 -108
- data/lib/canopus/terminal/cell.rb +0 -7
- data/lib/canopus/terminal/grid.rb +0 -321
- data/lib/canopus/terminal/pty.rb +0 -178
- data/lib/canopus/terminal/scrollback.rb +0 -38
- data/lib/canopus/terminal/vt.rb +0 -398
- data/lib/canopus/terminal.rb +0 -13
- data/sig/lsp.rbs +0 -99
- data/sig/terminal.rbs +0 -130
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require "digest"
|
|
4
|
+
require "fileutils"
|
|
5
|
+
require "json"
|
|
6
|
+
require "openssl"
|
|
7
|
+
require "rubygems/package"
|
|
8
|
+
require "tmpdir"
|
|
9
|
+
require "zlib"
|
|
10
|
+
require_relative "update"
|
|
11
|
+
|
|
12
|
+
def archive_package(path, files)
|
|
13
|
+
Zlib::GzipWriter.open(path) do |gzip|
|
|
14
|
+
Gem::Package::TarWriter.new(gzip) do |tar|
|
|
15
|
+
files.each do |name, contents|
|
|
16
|
+
tar.add_file_simple(name, 0o644, contents.bytesize) { |entry| entry.write(contents) }
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
Dir.mktmpdir("canopus-update-") do |directory|
|
|
23
|
+
key = OpenSSL::PKey::RSA.new(2048)
|
|
24
|
+
public_key = File.join(directory, "public.pem")
|
|
25
|
+
File.write(public_key, key.public_key.to_pem)
|
|
26
|
+
archive = File.join(directory, "package.tar.gz")
|
|
27
|
+
files = {"package.json" => '{"name":"canopus","version":"0.5.0"}\n', "manifest.json" => '{"version":"0.5.0","algorithm":"SHA-256","files":{}}\n'}
|
|
28
|
+
archive_package(archive, files)
|
|
29
|
+
feed = {"channel" => "stable", "platform" => "linux", "version" => "0.5.0", "url" => "https://example.invalid/package.tar.gz",
|
|
30
|
+
"size" => File.size(archive), "sha256" => Digest::SHA256.file(archive).hexdigest}
|
|
31
|
+
feed["key_id"] = Digest::SHA256.hexdigest(key.public_key.to_der)
|
|
32
|
+
feed["signature"] = Base64.strict_encode64(key.sign(OpenSSL::Digest::SHA256.new, CanopusUpdater.signed_payload(feed)))
|
|
33
|
+
raise "feed check failed" unless CanopusUpdater.check(feed, public_key: public_key, channel: "stable", platform: "linux", current_version: "0.4.0") == feed
|
|
34
|
+
begin
|
|
35
|
+
old_feed = feed.merge("version" => "0.4.0")
|
|
36
|
+
old_feed["signature"] = Base64.strict_encode64(key.sign(OpenSSL::Digest::SHA256.new, CanopusUpdater.signed_payload(old_feed)))
|
|
37
|
+
CanopusUpdater.check(old_feed, public_key: public_key, channel: "stable", platform: "linux", current_version: "0.4.0")
|
|
38
|
+
raise "old feed accepted"
|
|
39
|
+
rescue CanopusUpdater::Error
|
|
40
|
+
# Expected: the signature no longer matches the modified version.
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
install = File.join(directory, "installed")
|
|
44
|
+
FileUtils.mkdir_p(install)
|
|
45
|
+
File.write(File.join(install, "old.txt"), "old")
|
|
46
|
+
staged = File.join(directory, "staged")
|
|
47
|
+
CanopusUpdater.send(:extract, archive, staged)
|
|
48
|
+
CanopusUpdater.send(:replace, install, staged)
|
|
49
|
+
raise "update was not activated" unless File.read(File.join(install, "package.json")).include?("0.5.0")
|
|
50
|
+
raise "rollback fixture missing" unless !File.exist?(File.join(install, "old.txt"))
|
|
51
|
+
|
|
52
|
+
rollback = File.join(directory, "rollback")
|
|
53
|
+
FileUtils.mkdir_p(rollback)
|
|
54
|
+
File.write(File.join(rollback, "old.txt"), "old")
|
|
55
|
+
begin
|
|
56
|
+
CanopusUpdater.send(:replace, rollback, File.join(directory, "missing-stage"))
|
|
57
|
+
raise "failed activation was accepted"
|
|
58
|
+
rescue CanopusUpdater::Error
|
|
59
|
+
raise "rollback did not restore install" unless File.read(File.join(rollback, "old.txt")) == "old"
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
unsafe_archive = File.join(directory, "unsafe.tar.gz")
|
|
63
|
+
archive_package(unsafe_archive, {"../escaped.txt" => "nope"})
|
|
64
|
+
begin
|
|
65
|
+
CanopusUpdater.send(:extract, unsafe_archive, File.join(directory, "unsafe"))
|
|
66
|
+
raise "unsafe archive was accepted"
|
|
67
|
+
rescue CanopusUpdater::Error
|
|
68
|
+
raise "archive escaped staging directory" if File.exist?(File.join(directory, "escaped.txt"))
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
puts "Update feed verification and staged replacement passed."
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: canopus
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Yudai Takada
|
|
@@ -24,7 +24,7 @@ dependencies:
|
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
25
|
version: 0.2.0
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
|
-
name:
|
|
27
|
+
name: alkaid
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
29
29
|
requirements:
|
|
30
30
|
- - "~>"
|
|
@@ -37,22 +37,78 @@ dependencies:
|
|
|
37
37
|
- - "~>"
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
39
|
version: 0.1.0
|
|
40
|
+
- !ruby/object:Gem::Dependency
|
|
41
|
+
name: antares
|
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - "~>"
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: 0.2.1
|
|
47
|
+
type: :runtime
|
|
48
|
+
prerelease: false
|
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - "~>"
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: 0.2.1
|
|
40
54
|
- !ruby/object:Gem::Dependency
|
|
41
55
|
name: denebola
|
|
42
56
|
requirement: !ruby/object:Gem::Requirement
|
|
43
57
|
requirements:
|
|
44
58
|
- - "~>"
|
|
45
59
|
- !ruby/object:Gem::Version
|
|
46
|
-
version: 0.1
|
|
60
|
+
version: 0.2.1
|
|
47
61
|
type: :runtime
|
|
48
62
|
prerelease: false
|
|
49
63
|
version_requirements: !ruby/object:Gem::Requirement
|
|
50
64
|
requirements:
|
|
51
65
|
- - "~>"
|
|
52
66
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: 0.1
|
|
67
|
+
version: 0.2.1
|
|
68
|
+
- !ruby/object:Gem::Dependency
|
|
69
|
+
name: editorconfig
|
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - "~>"
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: 0.2.2
|
|
75
|
+
type: :runtime
|
|
76
|
+
prerelease: false
|
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - "~>"
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: 0.2.2
|
|
54
82
|
- !ruby/object:Gem::Dependency
|
|
55
83
|
name: kochab
|
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
|
85
|
+
requirements:
|
|
86
|
+
- - "~>"
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: 0.2.0
|
|
89
|
+
type: :runtime
|
|
90
|
+
prerelease: false
|
|
91
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
92
|
+
requirements:
|
|
93
|
+
- - "~>"
|
|
94
|
+
- !ruby/object:Gem::Version
|
|
95
|
+
version: 0.2.0
|
|
96
|
+
- !ruby/object:Gem::Dependency
|
|
97
|
+
name: megrez
|
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
|
99
|
+
requirements:
|
|
100
|
+
- - "~>"
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: 0.1.1
|
|
103
|
+
type: :runtime
|
|
104
|
+
prerelease: false
|
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - "~>"
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: 0.1.1
|
|
110
|
+
- !ruby/object:Gem::Dependency
|
|
111
|
+
name: menkar
|
|
56
112
|
requirement: !ruby/object:Gem::Requirement
|
|
57
113
|
requirements:
|
|
58
114
|
- - "~>"
|
|
@@ -71,14 +127,14 @@ dependencies:
|
|
|
71
127
|
requirements:
|
|
72
128
|
- - "~>"
|
|
73
129
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: 0.
|
|
130
|
+
version: 0.2.0
|
|
75
131
|
type: :runtime
|
|
76
132
|
prerelease: false
|
|
77
133
|
version_requirements: !ruby/object:Gem::Requirement
|
|
78
134
|
requirements:
|
|
79
135
|
- - "~>"
|
|
80
136
|
- !ruby/object:Gem::Version
|
|
81
|
-
version: 0.
|
|
137
|
+
version: 0.2.0
|
|
82
138
|
- !ruby/object:Gem::Dependency
|
|
83
139
|
name: prism
|
|
84
140
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -93,6 +149,26 @@ dependencies:
|
|
|
93
149
|
- - "~>"
|
|
94
150
|
- !ruby/object:Gem::Version
|
|
95
151
|
version: '1.0'
|
|
152
|
+
- !ruby/object:Gem::Dependency
|
|
153
|
+
name: rexml
|
|
154
|
+
requirement: !ruby/object:Gem::Requirement
|
|
155
|
+
requirements:
|
|
156
|
+
- - ">="
|
|
157
|
+
- !ruby/object:Gem::Version
|
|
158
|
+
version: '3.2'
|
|
159
|
+
- - "<"
|
|
160
|
+
- !ruby/object:Gem::Version
|
|
161
|
+
version: '4'
|
|
162
|
+
type: :runtime
|
|
163
|
+
prerelease: false
|
|
164
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
165
|
+
requirements:
|
|
166
|
+
- - ">="
|
|
167
|
+
- !ruby/object:Gem::Version
|
|
168
|
+
version: '3.2'
|
|
169
|
+
- - "<"
|
|
170
|
+
- !ruby/object:Gem::Version
|
|
171
|
+
version: '4'
|
|
96
172
|
- !ruby/object:Gem::Dependency
|
|
97
173
|
name: rouge
|
|
98
174
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -107,6 +183,34 @@ dependencies:
|
|
|
107
183
|
- - "~>"
|
|
108
184
|
- !ruby/object:Gem::Version
|
|
109
185
|
version: '5.0'
|
|
186
|
+
- !ruby/object:Gem::Dependency
|
|
187
|
+
name: sadr
|
|
188
|
+
requirement: !ruby/object:Gem::Requirement
|
|
189
|
+
requirements:
|
|
190
|
+
- - "~>"
|
|
191
|
+
- !ruby/object:Gem::Version
|
|
192
|
+
version: 0.2.0
|
|
193
|
+
type: :runtime
|
|
194
|
+
prerelease: false
|
|
195
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
196
|
+
requirements:
|
|
197
|
+
- - "~>"
|
|
198
|
+
- !ruby/object:Gem::Version
|
|
199
|
+
version: 0.2.0
|
|
200
|
+
- !ruby/object:Gem::Dependency
|
|
201
|
+
name: saiph
|
|
202
|
+
requirement: !ruby/object:Gem::Requirement
|
|
203
|
+
requirements:
|
|
204
|
+
- - "~>"
|
|
205
|
+
- !ruby/object:Gem::Version
|
|
206
|
+
version: 0.1.0
|
|
207
|
+
type: :runtime
|
|
208
|
+
prerelease: false
|
|
209
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
210
|
+
requirements:
|
|
211
|
+
- - "~>"
|
|
212
|
+
- !ruby/object:Gem::Version
|
|
213
|
+
version: 0.1.0
|
|
110
214
|
- !ruby/object:Gem::Dependency
|
|
111
215
|
name: spica
|
|
112
216
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -121,20 +225,54 @@ dependencies:
|
|
|
121
225
|
- - "~>"
|
|
122
226
|
- !ruby/object:Gem::Version
|
|
123
227
|
version: 0.1.0
|
|
228
|
+
- !ruby/object:Gem::Dependency
|
|
229
|
+
name: tarazed
|
|
230
|
+
requirement: !ruby/object:Gem::Requirement
|
|
231
|
+
requirements:
|
|
232
|
+
- - "~>"
|
|
233
|
+
- !ruby/object:Gem::Version
|
|
234
|
+
version: 0.2.4
|
|
235
|
+
type: :runtime
|
|
236
|
+
prerelease: false
|
|
237
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
238
|
+
requirements:
|
|
239
|
+
- - "~>"
|
|
240
|
+
- !ruby/object:Gem::Version
|
|
241
|
+
version: 0.2.4
|
|
124
242
|
- !ruby/object:Gem::Dependency
|
|
125
243
|
name: thuban
|
|
126
244
|
requirement: !ruby/object:Gem::Requirement
|
|
127
245
|
requirements:
|
|
128
246
|
- - "~>"
|
|
129
247
|
- !ruby/object:Gem::Version
|
|
130
|
-
version: 0.
|
|
248
|
+
version: 0.6.0
|
|
131
249
|
type: :runtime
|
|
132
250
|
prerelease: false
|
|
133
251
|
version_requirements: !ruby/object:Gem::Requirement
|
|
134
252
|
requirements:
|
|
135
253
|
- - "~>"
|
|
136
254
|
- !ruby/object:Gem::Version
|
|
137
|
-
version: 0.
|
|
255
|
+
version: 0.6.0
|
|
256
|
+
- !ruby/object:Gem::Dependency
|
|
257
|
+
name: timeout
|
|
258
|
+
requirement: !ruby/object:Gem::Requirement
|
|
259
|
+
requirements:
|
|
260
|
+
- - ">="
|
|
261
|
+
- !ruby/object:Gem::Version
|
|
262
|
+
version: '0.3'
|
|
263
|
+
- - "<"
|
|
264
|
+
- !ruby/object:Gem::Version
|
|
265
|
+
version: '1'
|
|
266
|
+
type: :runtime
|
|
267
|
+
prerelease: false
|
|
268
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
269
|
+
requirements:
|
|
270
|
+
- - ">="
|
|
271
|
+
- !ruby/object:Gem::Version
|
|
272
|
+
version: '0.3'
|
|
273
|
+
- - "<"
|
|
274
|
+
- !ruby/object:Gem::Version
|
|
275
|
+
version: '1'
|
|
138
276
|
- !ruby/object:Gem::Dependency
|
|
139
277
|
name: unicode-display_width
|
|
140
278
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -155,14 +293,14 @@ dependencies:
|
|
|
155
293
|
requirements:
|
|
156
294
|
- - "~>"
|
|
157
295
|
- !ruby/object:Gem::Version
|
|
158
|
-
version: 0.
|
|
296
|
+
version: 0.5.2
|
|
159
297
|
type: :runtime
|
|
160
298
|
prerelease: false
|
|
161
299
|
version_requirements: !ruby/object:Gem::Requirement
|
|
162
300
|
requirements:
|
|
163
301
|
- - "~>"
|
|
164
302
|
- !ruby/object:Gem::Version
|
|
165
|
-
version: 0.
|
|
303
|
+
version: 0.5.2
|
|
166
304
|
email:
|
|
167
305
|
- t.yudai92@gmail.com
|
|
168
306
|
executables:
|
|
@@ -174,6 +312,10 @@ files:
|
|
|
174
312
|
- LICENSE.txt
|
|
175
313
|
- README.md
|
|
176
314
|
- assets/canopus-editor.png
|
|
315
|
+
- assets/keymaps/emacs.jsonc
|
|
316
|
+
- assets/keymaps/jetbrains.jsonc
|
|
317
|
+
- assets/keymaps/sublime.jsonc
|
|
318
|
+
- assets/keymaps/vscode.jsonc
|
|
177
319
|
- assets/logo.png
|
|
178
320
|
- docs/adr/000-template.md
|
|
179
321
|
- docs/adr/001-runtime-gem-components.md
|
|
@@ -187,11 +329,15 @@ files:
|
|
|
187
329
|
- docs/adr/009-decoration-overlay-path.md
|
|
188
330
|
- docs/adr/010-overlay-aware-display-map.md
|
|
189
331
|
- docs/adr/README.md
|
|
332
|
+
- docs/debugging.md
|
|
190
333
|
- docs/distribution.md
|
|
191
334
|
- docs/lsp.md
|
|
192
335
|
- docs/performance.md
|
|
336
|
+
- docs/providers.md
|
|
193
337
|
- docs/release-log.md
|
|
194
338
|
- docs/snippets.md
|
|
339
|
+
- docs/tasks.md
|
|
340
|
+
- docs/testing.md
|
|
195
341
|
- docs/vim.md
|
|
196
342
|
- docs/workspace_edits.md
|
|
197
343
|
- examples/native_smoke.rb
|
|
@@ -204,7 +350,14 @@ files:
|
|
|
204
350
|
- lib/canopus/command.rb
|
|
205
351
|
- lib/canopus/controller.rb
|
|
206
352
|
- lib/canopus/data_compat.rb
|
|
353
|
+
- lib/canopus/debug/breakpoints.rb
|
|
354
|
+
- lib/canopus/debug/configuration.rb
|
|
355
|
+
- lib/canopus/debug/console.rb
|
|
356
|
+
- lib/canopus/debug/panel.rb
|
|
357
|
+
- lib/canopus/debug/session.rb
|
|
207
358
|
- lib/canopus/decoration.rb
|
|
359
|
+
- lib/canopus/denebola_compat.rb
|
|
360
|
+
- lib/canopus/diagnostics.rb
|
|
208
361
|
- lib/canopus/display_map.rb
|
|
209
362
|
- lib/canopus/display_map/line_builder.rb
|
|
210
363
|
- lib/canopus/display_map/line_set.rb
|
|
@@ -217,6 +370,7 @@ files:
|
|
|
217
370
|
- lib/canopus/editor/snippet_expandable.rb
|
|
218
371
|
- lib/canopus/error.rb
|
|
219
372
|
- lib/canopus/fold_map.rb
|
|
373
|
+
- lib/canopus/git/state.rb
|
|
220
374
|
- lib/canopus/icon_theme.rb
|
|
221
375
|
- lib/canopus/language.rb
|
|
222
376
|
- lib/canopus/language/background_analysis.rb
|
|
@@ -227,17 +381,9 @@ files:
|
|
|
227
381
|
- lib/canopus/language/symbol.rb
|
|
228
382
|
- lib/canopus/language/syntax_worker.rb
|
|
229
383
|
- lib/canopus/lazy_rope.rb
|
|
230
|
-
- lib/canopus/lsp.rb
|
|
231
|
-
- lib/canopus/lsp/client.rb
|
|
232
|
-
- lib/canopus/lsp/error.rb
|
|
233
|
-
- lib/canopus/lsp/future.rb
|
|
234
|
-
- lib/canopus/lsp/future/subscription.rb
|
|
235
|
-
- lib/canopus/lsp/protocol.rb
|
|
236
|
-
- lib/canopus/lsp/server_error.rb
|
|
237
|
-
- lib/canopus/lsp/timeout.rb
|
|
238
|
-
- lib/canopus/lsp/transport.rb
|
|
239
384
|
- lib/canopus/markdown.rb
|
|
240
385
|
- lib/canopus/match_data_compat.rb
|
|
386
|
+
- lib/canopus/minimap.rb
|
|
241
387
|
- lib/canopus/multi_buffer.rb
|
|
242
388
|
- lib/canopus/pane.rb
|
|
243
389
|
- lib/canopus/panel.rb
|
|
@@ -252,26 +398,29 @@ files:
|
|
|
252
398
|
- lib/canopus/plugins/permission_denied.rb
|
|
253
399
|
- lib/canopus/plugins/registry.rb
|
|
254
400
|
- lib/canopus/project.rb
|
|
255
|
-
- lib/canopus/project/search.rb
|
|
256
|
-
- lib/canopus/project/search_worker.rb
|
|
257
|
-
- lib/canopus/project/search_worker/cancelled.rb
|
|
258
|
-
- lib/canopus/project/search_worker/runner.rb
|
|
259
401
|
- lib/canopus/project/tree.rb
|
|
260
402
|
- lib/canopus/project/watcher.rb
|
|
403
|
+
- lib/canopus/provider.rb
|
|
261
404
|
- lib/canopus/regexp_compat.rb
|
|
262
405
|
- lib/canopus/save_conflict.rb
|
|
263
406
|
- lib/canopus/selection.rb
|
|
264
407
|
- lib/canopus/settings.rb
|
|
408
|
+
- lib/canopus/settings/schema.rb
|
|
265
409
|
- lib/canopus/snippet.rb
|
|
266
410
|
- lib/canopus/snippet/transform.rb
|
|
267
411
|
- lib/canopus/tab_map.rb
|
|
268
|
-
- lib/canopus/
|
|
269
|
-
- lib/canopus/
|
|
270
|
-
- lib/canopus/
|
|
271
|
-
- lib/canopus/
|
|
272
|
-
- lib/canopus/
|
|
273
|
-
- lib/canopus/
|
|
412
|
+
- lib/canopus/task/configuration.rb
|
|
413
|
+
- lib/canopus/task/problem_matcher.rb
|
|
414
|
+
- lib/canopus/task/runner.rb
|
|
415
|
+
- lib/canopus/test_runner.rb
|
|
416
|
+
- lib/canopus/test_runner/bounded_ignore.rb
|
|
417
|
+
- lib/canopus/test_runner/discovery.rb
|
|
418
|
+
- lib/canopus/test_runner/execution.rb
|
|
419
|
+
- lib/canopus/test_runner/minitest.rb
|
|
420
|
+
- lib/canopus/test_runner/rspec.rb
|
|
421
|
+
- lib/canopus/test_runner/safe_walker.rb
|
|
274
422
|
- lib/canopus/theme.rb
|
|
423
|
+
- lib/canopus/theme/import.rb
|
|
275
424
|
- lib/canopus/version.rb
|
|
276
425
|
- lib/canopus/vim.rb
|
|
277
426
|
- lib/canopus/vim/commandable.rb
|
|
@@ -279,36 +428,58 @@ files:
|
|
|
279
428
|
- lib/canopus/vim/operator_capable.rb
|
|
280
429
|
- lib/canopus/vim/text_object_selectable.rb
|
|
281
430
|
- lib/canopus/workspace.rb
|
|
431
|
+
- lib/canopus/workspace/auto_savable.rb
|
|
432
|
+
- lib/canopus/workspace/debug_aware.rb
|
|
282
433
|
- lib/canopus/workspace/edit.rb
|
|
283
434
|
- lib/canopus/workspace/edit/executable.rb
|
|
284
435
|
- lib/canopus/workspace/edit/node.rb
|
|
285
436
|
- lib/canopus/workspace/edit/plan.rb
|
|
286
437
|
- lib/canopus/workspace/edit/resource_preparable.rb
|
|
438
|
+
- lib/canopus/workspace/editor_configurable.rb
|
|
287
439
|
- lib/canopus/workspace/file_change_aware.rb
|
|
288
440
|
- lib/canopus/workspace/file_previewable.rb
|
|
289
441
|
- lib/canopus/workspace/git_aware.rb
|
|
442
|
+
- lib/canopus/workspace/git_blame.rb
|
|
443
|
+
- lib/canopus/workspace/git_conflict_resolution.rb
|
|
444
|
+
- lib/canopus/workspace/git_diff_view.rb
|
|
445
|
+
- lib/canopus/workspace/git_history.rb
|
|
446
|
+
- lib/canopus/workspace/git_remote.rb
|
|
447
|
+
- lib/canopus/workspace/git_staging.rb
|
|
448
|
+
- lib/canopus/workspace/hierarchy_aware.rb
|
|
449
|
+
- lib/canopus/workspace/keymap_aware.rb
|
|
290
450
|
- lib/canopus/workspace/language_aware.rb
|
|
291
451
|
- lib/canopus/workspace/language_server_configurable.rb
|
|
452
|
+
- lib/canopus/workspace/persistent_undo.rb
|
|
453
|
+
- lib/canopus/workspace/problems_aware.rb
|
|
292
454
|
- lib/canopus/workspace/project_searchable.rb
|
|
293
455
|
- lib/canopus/workspace/project_tree_editable.rb
|
|
456
|
+
- lib/canopus/workspace/recoverable.rb
|
|
294
457
|
- lib/canopus/workspace/session_persistable.rb
|
|
295
458
|
- lib/canopus/workspace/settings_aware.rb
|
|
459
|
+
- lib/canopus/workspace/task_aware.rb
|
|
460
|
+
- lib/canopus/workspace/test_aware.rb
|
|
461
|
+
- lib/canopus/workspace/trust.rb
|
|
296
462
|
- lib/canopus/workspace/view.rb
|
|
297
463
|
- lib/canopus/workspace/view/terminal_presentable.rb
|
|
298
464
|
- lib/canopus/wrap_map.rb
|
|
299
465
|
- sig/canopus.rbs
|
|
300
466
|
- sig/command.rbs
|
|
301
467
|
- sig/controller.rbs
|
|
468
|
+
- sig/debug.rbs
|
|
302
469
|
- sig/decoration.rbs
|
|
470
|
+
- sig/diagnostics.rbs
|
|
303
471
|
- sig/display_stages.rbs
|
|
304
|
-
- sig/lsp.rbs
|
|
305
472
|
- sig/markdown.rbs
|
|
473
|
+
- sig/minimap.rbs
|
|
306
474
|
- sig/panel.rbs
|
|
307
475
|
- sig/performance_recorder.rbs
|
|
476
|
+
- sig/provider.rbs
|
|
308
477
|
- sig/search_services.rbs
|
|
309
478
|
- sig/services.rbs
|
|
310
479
|
- sig/snippet.rbs
|
|
311
|
-
- sig/
|
|
480
|
+
- sig/task.rbs
|
|
481
|
+
- sig/test_runner.rbs
|
|
482
|
+
- sig/trust.rbs
|
|
312
483
|
- sig/vim.rbs
|
|
313
484
|
- sig/workspace_edits.rbs
|
|
314
485
|
- sig/workspace_services.rbs
|
|
@@ -316,7 +487,11 @@ files:
|
|
|
316
487
|
- tools/check_dependencies.rb
|
|
317
488
|
- tools/native_check.rb
|
|
318
489
|
- tools/package.rb
|
|
490
|
+
- tools/package_signature_test.rb
|
|
319
491
|
- tools/package_test.rb
|
|
492
|
+
- tools/sign_package.rb
|
|
493
|
+
- tools/update.rb
|
|
494
|
+
- tools/update_test.rb
|
|
320
495
|
homepage: https://github.com/noxdea/canopus
|
|
321
496
|
licenses:
|
|
322
497
|
- MIT
|