spoom 1.1.4 → 1.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/spoom/cli/helper.rb +11 -10
- data/lib/spoom/colors.rb +45 -0
- data/lib/spoom/file_tree.rb +5 -5
- data/lib/spoom/printer.rb +9 -7
- data/lib/spoom/sorbet/lsp/structures.rb +6 -6
- data/lib/spoom/version.rb +1 -1
- data/lib/spoom.rb +1 -1
- metadata +3 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 526b44a6bb1b2ec6b8b09a3bec42264f86b2803c561c4862d622c374893d529a
|
4
|
+
data.tar.gz: ac616a998a9800706ca28d805d5e975b35e78fb4c0b725463938b4b925f24728
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c6cf08eb1fe7d880e8dfae54352d554b83c41ff6878546b84d986fdbb17fa95244b1630f31aa0f1ccd14ef843dc71d80bd3236715d16165c7c1a0a6fc7271502
|
7
|
+
data.tar.gz: ea376f188b1a33a83784f4e7923ba4087cd2891f10deacf998b145c724f586f76e2cfda338011f50d7990b8b860720eb832f365c5a6541042453d3381e45c871
|
data/lib/spoom/cli/helper.rb
CHANGED
@@ -10,7 +10,8 @@ module Spoom
|
|
10
10
|
module Helper
|
11
11
|
extend T::Sig
|
12
12
|
extend T::Helpers
|
13
|
-
|
13
|
+
|
14
|
+
include Colorize
|
14
15
|
|
15
16
|
requires_ancestor { Thor }
|
16
17
|
|
@@ -85,7 +86,7 @@ module Spoom
|
|
85
86
|
# Colors
|
86
87
|
|
87
88
|
# Color used to highlight expressions in backticks
|
88
|
-
HIGHLIGHT_COLOR =
|
89
|
+
HIGHLIGHT_COLOR = T.let(Spoom::Color::BLUE, Spoom::Color)
|
89
90
|
|
90
91
|
# Is the `--color` option true?
|
91
92
|
sig { returns(T::Boolean) }
|
@@ -117,35 +118,35 @@ module Spoom
|
|
117
118
|
end
|
118
119
|
|
119
120
|
# Colorize a string if `color?`
|
120
|
-
sig { params(string: String, color:
|
121
|
-
def colorize(string, color)
|
121
|
+
sig { params(string: String, color: Color).returns(String) }
|
122
|
+
def colorize(string, *color)
|
122
123
|
return string unless color?
|
123
|
-
|
124
|
+
T.unsafe(self).set_color(string, *color)
|
124
125
|
end
|
125
126
|
|
126
127
|
sig { params(string: String).returns(String) }
|
127
128
|
def blue(string)
|
128
|
-
colorize(string,
|
129
|
+
colorize(string, Color::BLUE)
|
129
130
|
end
|
130
131
|
|
131
132
|
sig { params(string: String).returns(String) }
|
132
133
|
def gray(string)
|
133
|
-
colorize(string,
|
134
|
+
colorize(string, Color::LIGHT_BLACK)
|
134
135
|
end
|
135
136
|
|
136
137
|
sig { params(string: String).returns(String) }
|
137
138
|
def green(string)
|
138
|
-
colorize(string,
|
139
|
+
colorize(string, Color::GREEN)
|
139
140
|
end
|
140
141
|
|
141
142
|
sig { params(string: String).returns(String) }
|
142
143
|
def red(string)
|
143
|
-
colorize(string,
|
144
|
+
colorize(string, Color::RED)
|
144
145
|
end
|
145
146
|
|
146
147
|
sig { params(string: String).returns(String) }
|
147
148
|
def yellow(string)
|
148
|
-
colorize(string,
|
149
|
+
colorize(string, Color::YELLOW)
|
149
150
|
end
|
150
151
|
end
|
151
152
|
end
|
data/lib/spoom/colors.rb
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
# typed: strict
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Spoom
|
5
|
+
class Color < T::Enum
|
6
|
+
extend T::Sig
|
7
|
+
|
8
|
+
enums do
|
9
|
+
CLEAR = new("\e[0m")
|
10
|
+
BOLD = new("\e[1m")
|
11
|
+
|
12
|
+
BLACK = new("\e[30m")
|
13
|
+
RED = new("\e[31m")
|
14
|
+
GREEN = new("\e[32m")
|
15
|
+
YELLOW = new("\e[33m")
|
16
|
+
BLUE = new("\e[34m")
|
17
|
+
MAGENTA = new("\e[35m")
|
18
|
+
CYAN = new("\e[36m")
|
19
|
+
WHITE = new("\e[37m")
|
20
|
+
|
21
|
+
LIGHT_BLACK = new("\e[90m")
|
22
|
+
LIGHT_RED = new("\e[91m")
|
23
|
+
LIGHT_GREEN = new("\e[92m")
|
24
|
+
LIGHT_YELLOW = new("\e[93m")
|
25
|
+
LIGHT_BLUE = new("\e[94m")
|
26
|
+
LIGHT_MAGENTA = new("\e[95m")
|
27
|
+
LIGHT_CYAN = new("\e[96m")
|
28
|
+
LIGHT_WHITE = new("\e[97m")
|
29
|
+
end
|
30
|
+
|
31
|
+
sig { returns(String) }
|
32
|
+
def ansi_code
|
33
|
+
serialize
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
module Colorize
|
38
|
+
extend T::Sig
|
39
|
+
|
40
|
+
sig { params(string: String, color: Color).returns(String) }
|
41
|
+
def set_color(string, *color)
|
42
|
+
"#{color.map(&:ansi_code).join}#{string}#{Color::CLEAR.ansi_code}"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
data/lib/spoom/file_tree.rb
CHANGED
@@ -156,7 +156,7 @@ module Spoom
|
|
156
156
|
end
|
157
157
|
print("\n")
|
158
158
|
else
|
159
|
-
print_colored(node.name,
|
159
|
+
print_colored(node.name, Color::BLUE)
|
160
160
|
print("/")
|
161
161
|
printn
|
162
162
|
indent
|
@@ -180,15 +180,15 @@ module Spoom
|
|
180
180
|
Spoom::Sorbet::Sigils.file_strictness(path)
|
181
181
|
end
|
182
182
|
|
183
|
-
sig { params(strictness: T.nilable(String)).returns(
|
183
|
+
sig { params(strictness: T.nilable(String)).returns(Color) }
|
184
184
|
def strictness_color(strictness)
|
185
185
|
case strictness
|
186
186
|
when "false"
|
187
|
-
|
187
|
+
Color::RED
|
188
188
|
when "true", "strict", "strong"
|
189
|
-
|
189
|
+
Color::GREEN
|
190
190
|
else
|
191
|
-
|
191
|
+
Color::CLEAR
|
192
192
|
end
|
193
193
|
end
|
194
194
|
end
|
data/lib/spoom/printer.rb
CHANGED
@@ -8,6 +8,8 @@ module Spoom
|
|
8
8
|
extend T::Sig
|
9
9
|
extend T::Helpers
|
10
10
|
|
11
|
+
include Colorize
|
12
|
+
|
11
13
|
abstract!
|
12
14
|
|
13
15
|
sig { returns(T.any(IO, StringIO)) }
|
@@ -42,11 +44,10 @@ module Spoom
|
|
42
44
|
# Print `string` colored with `color` into `out`
|
43
45
|
#
|
44
46
|
# Does not use colors unless `@colors`.
|
45
|
-
sig { params(string: T.nilable(String), color:
|
46
|
-
def print_colored(string, color
|
47
|
+
sig { params(string: T.nilable(String), color: Color).void }
|
48
|
+
def print_colored(string, *color)
|
47
49
|
return unless string
|
48
|
-
string = colorize(string, color)
|
49
|
-
colors.each { |c| string = colorize(string, c) }
|
50
|
+
string = T.unsafe(self).colorize(string, *color)
|
50
51
|
@out.print(string)
|
51
52
|
end
|
52
53
|
|
@@ -72,9 +73,10 @@ module Spoom
|
|
72
73
|
end
|
73
74
|
|
74
75
|
# Colorize `string` with color if `@colors`
|
75
|
-
sig { params(string: String, color:
|
76
|
-
def colorize(string, color)
|
77
|
-
|
76
|
+
sig { params(string: String, color: Spoom::Color).returns(String) }
|
77
|
+
def colorize(string, *color)
|
78
|
+
return string unless @colors
|
79
|
+
T.unsafe(self).set_color(string, *color)
|
78
80
|
end
|
79
81
|
end
|
80
82
|
end
|
@@ -56,7 +56,7 @@ module Spoom
|
|
56
56
|
|
57
57
|
sig { override.params(printer: SymbolPrinter).void }
|
58
58
|
def accept_printer(printer)
|
59
|
-
printer.print_colored("#{line}:#{char}",
|
59
|
+
printer.print_colored("#{line}:#{char}", Color::LIGHT_BLACK)
|
60
60
|
end
|
61
61
|
|
62
62
|
def to_s
|
@@ -81,7 +81,7 @@ module Spoom
|
|
81
81
|
sig { override.params(printer: SymbolPrinter).void }
|
82
82
|
def accept_printer(printer)
|
83
83
|
printer.print_object(start)
|
84
|
-
printer.print_colored("-",
|
84
|
+
printer.print_colored("-", Color::LIGHT_BLACK)
|
85
85
|
printer.print_object(self.end)
|
86
86
|
end
|
87
87
|
|
@@ -106,7 +106,7 @@ module Spoom
|
|
106
106
|
|
107
107
|
sig { override.params(printer: SymbolPrinter).void }
|
108
108
|
def accept_printer(printer)
|
109
|
-
printer.print_colored("#{printer.clean_uri(uri)}:",
|
109
|
+
printer.print_colored("#{printer.clean_uri(uri)}:", Color::LIGHT_BLACK)
|
110
110
|
printer.print_object(range)
|
111
111
|
end
|
112
112
|
|
@@ -203,14 +203,14 @@ module Spoom
|
|
203
203
|
printer.printt
|
204
204
|
printer.print(kind_string)
|
205
205
|
printer.print(' ')
|
206
|
-
printer.print_colored(name,
|
207
|
-
printer.print_colored(' (',
|
206
|
+
printer.print_colored(name, Color::BLUE, Color::BOLD)
|
207
|
+
printer.print_colored(' (', Color::LIGHT_BLACK)
|
208
208
|
if range
|
209
209
|
printer.print_object(range)
|
210
210
|
elsif location
|
211
211
|
printer.print_object(location)
|
212
212
|
end
|
213
|
-
printer.print_colored(')',
|
213
|
+
printer.print_colored(')', Color::LIGHT_BLACK)
|
214
214
|
printer.printn
|
215
215
|
unless children.empty?
|
216
216
|
printer.indent
|
data/lib/spoom/version.rb
CHANGED
data/lib/spoom.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
# typed: true
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
|
-
require "colorize"
|
5
4
|
require "sorbet-runtime"
|
6
5
|
|
7
6
|
module Spoom
|
@@ -27,6 +26,7 @@ module Spoom
|
|
27
26
|
end
|
28
27
|
end
|
29
28
|
|
29
|
+
require "spoom/colors"
|
30
30
|
require "spoom/sorbet"
|
31
31
|
require "spoom/cli"
|
32
32
|
require "spoom/version"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spoom
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexandre Terrasa
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-10-
|
11
|
+
date: 2021-10-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -94,20 +94,6 @@ dependencies:
|
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: 0.19.2
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: colorize
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :runtime
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
97
|
description:
|
112
98
|
email:
|
113
99
|
- ruby@shopify.com
|
@@ -128,6 +114,7 @@ files:
|
|
128
114
|
- lib/spoom/cli/helper.rb
|
129
115
|
- lib/spoom/cli/lsp.rb
|
130
116
|
- lib/spoom/cli/run.rb
|
117
|
+
- lib/spoom/colors.rb
|
131
118
|
- lib/spoom/coverage.rb
|
132
119
|
- lib/spoom/coverage/d3.rb
|
133
120
|
- lib/spoom/coverage/d3/base.rb
|