sorbet-baml 0.3.0 → 0.4.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.
Files changed (120) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +59 -0
  3. data/README.md +32 -11
  4. data/lib/sorbet_baml/dspy_tool_converter.rb +2 -2
  5. data/lib/sorbet_baml/dspy_tool_extensions.rb +1 -1
  6. data/lib/sorbet_baml/version.rb +1 -1
  7. data/lib/sorbet_baml.rb +4 -2
  8. metadata +3 -115
  9. data/.idea/.gitignore +0 -8
  10. data/.idea/inspectionProfiles/Project_Default.xml +0 -5
  11. data/.rspec +0 -3
  12. data/docs-site/.gitignore +0 -48
  13. data/docs-site/Gemfile +0 -5
  14. data/docs-site/Gemfile.lock +0 -140
  15. data/docs-site/Rakefile +0 -3
  16. data/docs-site/bridgetown.config.yml +0 -15
  17. data/docs-site/config/initializers.rb +0 -9
  18. data/docs-site/config/puma.rb +0 -9
  19. data/docs-site/config.ru +0 -5
  20. data/docs-site/esbuild.config.js +0 -11
  21. data/docs-site/frontend/javascript/index.js +0 -22
  22. data/docs-site/frontend/styles/index.css +0 -61
  23. data/docs-site/package.json +0 -18
  24. data/docs-site/postcss.config.js +0 -6
  25. data/docs-site/server/roda_app.rb +0 -9
  26. data/docs-site/src/_components/head.liquid +0 -26
  27. data/docs-site/src/_components/nav.liquid +0 -68
  28. data/docs-site/src/_layouts/default.liquid +0 -27
  29. data/docs-site/src/_layouts/doc.liquid +0 -39
  30. data/docs-site/src/advanced-usage.md +0 -598
  31. data/docs-site/src/getting-started.md +0 -170
  32. data/docs-site/src/index.md +0 -183
  33. data/docs-site/src/troubleshooting.md +0 -317
  34. data/docs-site/src/type-mapping.md +0 -236
  35. data/docs-site/tailwind.config.js +0 -85
  36. data/sorbet/config +0 -6
  37. data/sorbet/rbi/annotations/.gitattributes +0 -1
  38. data/sorbet/rbi/annotations/rainbow.rbi +0 -269
  39. data/sorbet/rbi/gems/.gitattributes +0 -1
  40. data/sorbet/rbi/gems/anthropic@1.5.0.rbi +0 -21252
  41. data/sorbet/rbi/gems/ast@2.4.3.rbi +0 -585
  42. data/sorbet/rbi/gems/async@2.27.3.rbi +0 -9
  43. data/sorbet/rbi/gems/benchmark@0.4.1.rbi +0 -619
  44. data/sorbet/rbi/gems/bigdecimal@3.2.2.rbi +0 -9
  45. data/sorbet/rbi/gems/byebug@11.1.3.rbi +0 -37
  46. data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +0 -424
  47. data/sorbet/rbi/gems/connection_pool@2.5.3.rbi +0 -9
  48. data/sorbet/rbi/gems/console@1.33.0.rbi +0 -9
  49. data/sorbet/rbi/gems/date@3.4.1.rbi +0 -75
  50. data/sorbet/rbi/gems/diff-lcs@1.6.2.rbi +0 -1134
  51. data/sorbet/rbi/gems/dry-configurable@1.3.0.rbi +0 -672
  52. data/sorbet/rbi/gems/dry-core@1.1.0.rbi +0 -1729
  53. data/sorbet/rbi/gems/dry-logger@1.1.0.rbi +0 -1317
  54. data/sorbet/rbi/gems/dspy@0.19.1.rbi +0 -6677
  55. data/sorbet/rbi/gems/erb@5.0.2.rbi +0 -878
  56. data/sorbet/rbi/gems/erubi@1.13.1.rbi +0 -155
  57. data/sorbet/rbi/gems/ffi@1.17.2.rbi +0 -2174
  58. data/sorbet/rbi/gems/fiber-annotation@0.2.0.rbi +0 -9
  59. data/sorbet/rbi/gems/fiber-local@1.1.0.rbi +0 -9
  60. data/sorbet/rbi/gems/fiber-storage@1.0.1.rbi +0 -9
  61. data/sorbet/rbi/gems/google-protobuf@4.32.0.rbi +0 -9
  62. data/sorbet/rbi/gems/googleapis-common-protos-types@1.20.0.rbi +0 -9
  63. data/sorbet/rbi/gems/informers@1.2.1.rbi +0 -1875
  64. data/sorbet/rbi/gems/io-console@0.8.1.rbi +0 -9
  65. data/sorbet/rbi/gems/io-event@1.12.1.rbi +0 -9
  66. data/sorbet/rbi/gems/json@2.13.2.rbi +0 -2087
  67. data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +0 -9
  68. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +0 -240
  69. data/sorbet/rbi/gems/logger@1.7.0.rbi +0 -963
  70. data/sorbet/rbi/gems/metrics@0.13.0.rbi +0 -9
  71. data/sorbet/rbi/gems/netrc@0.11.0.rbi +0 -159
  72. data/sorbet/rbi/gems/onnxruntime@0.10.0.rbi +0 -304
  73. data/sorbet/rbi/gems/openai@0.16.0.rbi +0 -68055
  74. data/sorbet/rbi/gems/opentelemetry-api@1.6.0.rbi +0 -9
  75. data/sorbet/rbi/gems/opentelemetry-common@0.22.0.rbi +0 -9
  76. data/sorbet/rbi/gems/opentelemetry-exporter-otlp@0.30.0.rbi +0 -9
  77. data/sorbet/rbi/gems/opentelemetry-registry@0.4.0.rbi +0 -9
  78. data/sorbet/rbi/gems/opentelemetry-sdk@1.8.1.rbi +0 -9
  79. data/sorbet/rbi/gems/opentelemetry-semantic_conventions@1.11.0.rbi +0 -9
  80. data/sorbet/rbi/gems/parallel@1.27.0.rbi +0 -291
  81. data/sorbet/rbi/gems/parser@3.3.9.0.rbi +0 -5535
  82. data/sorbet/rbi/gems/polars-df@0.20.0.rbi +0 -9
  83. data/sorbet/rbi/gems/pp@0.6.2.rbi +0 -368
  84. data/sorbet/rbi/gems/prettyprint@0.2.0.rbi +0 -477
  85. data/sorbet/rbi/gems/prism@1.4.0.rbi +0 -41732
  86. data/sorbet/rbi/gems/psych@5.2.6.rbi +0 -2469
  87. data/sorbet/rbi/gems/racc@1.8.1.rbi +0 -164
  88. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +0 -403
  89. data/sorbet/rbi/gems/rake@13.3.0.rbi +0 -3031
  90. data/sorbet/rbi/gems/rbi@0.3.6.rbi +0 -6893
  91. data/sorbet/rbi/gems/rbs@3.9.4.rbi +0 -6976
  92. data/sorbet/rbi/gems/rdoc@6.14.2.rbi +0 -12688
  93. data/sorbet/rbi/gems/regexp_parser@2.11.2.rbi +0 -3845
  94. data/sorbet/rbi/gems/reline@0.6.2.rbi +0 -2441
  95. data/sorbet/rbi/gems/rexml@3.4.1.rbi +0 -5240
  96. data/sorbet/rbi/gems/rspec-core@3.13.5.rbi +0 -11250
  97. data/sorbet/rbi/gems/rspec-expectations@3.13.5.rbi +0 -8189
  98. data/sorbet/rbi/gems/rspec-mocks@3.13.5.rbi +0 -5350
  99. data/sorbet/rbi/gems/rspec-support@3.13.4.rbi +0 -1630
  100. data/sorbet/rbi/gems/rspec@3.13.1.rbi +0 -83
  101. data/sorbet/rbi/gems/rubocop-ast@1.46.0.rbi +0 -7764
  102. data/sorbet/rbi/gems/rubocop-sorbet@0.10.5.rbi +0 -2386
  103. data/sorbet/rbi/gems/rubocop@1.79.2.rbi +0 -63321
  104. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +0 -1318
  105. data/sorbet/rbi/gems/sorbet-result@1.4.0.rbi +0 -242
  106. data/sorbet/rbi/gems/sorbet-schema@0.9.2.rbi +0 -743
  107. data/sorbet/rbi/gems/sorbet-struct-comparable@1.3.0.rbi +0 -48
  108. data/sorbet/rbi/gems/spoom@1.6.3.rbi +0 -6985
  109. data/sorbet/rbi/gems/stringio@3.1.7.rbi +0 -9
  110. data/sorbet/rbi/gems/tapioca@0.16.11.rbi +0 -3628
  111. data/sorbet/rbi/gems/thor@1.4.0.rbi +0 -4399
  112. data/sorbet/rbi/gems/tokenizers@0.5.5.rbi +0 -754
  113. data/sorbet/rbi/gems/traces@0.17.0.rbi +0 -9
  114. data/sorbet/rbi/gems/unicode-display_width@3.1.5.rbi +0 -132
  115. data/sorbet/rbi/gems/unicode-emoji@4.0.4.rbi +0 -251
  116. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +0 -435
  117. data/sorbet/rbi/gems/yard@0.9.37.rbi +0 -18379
  118. data/sorbet/rbi/gems/zeitwerk@2.7.3.rbi +0 -1429
  119. data/sorbet/tapioca/config.yml +0 -13
  120. data/sorbet/tapioca/require.rb +0 -4
@@ -1,236 +0,0 @@
1
- ---
2
- layout: doc
3
- title: "Type Mapping Reference"
4
- description: "Complete mapping between Sorbet types and BAML output. Learn how every Sorbet type converts to efficient BAML format."
5
- ---
6
-
7
- # Type Mapping Reference
8
-
9
- Complete mapping between Sorbet types and BAML output for autonomous LLM workflows. All listed types are **fully supported** with automatic field descriptions.
10
-
11
- ## Basic Types
12
-
13
- | Sorbet Type | BAML Output | Example |
14
- |-------------|-------------|---------|
15
- | `String` | `string` | `name string` |
16
- | `Integer` | `int` | `age int` |
17
- | `Float` | `float` | `price float` |
18
- | `T::Boolean` | `bool` | `active bool` |
19
- | `NilClass` | `null` | `null` |
20
- | `Symbol` | `string` | `status string` |
21
- | `Date/DateTime/Time` | `string` | `created_at string` |
22
-
23
- ## Optional Types (T.nilable)
24
-
25
- | Sorbet Type | BAML Output | Example |
26
- |-------------|-------------|---------|
27
- | `T.nilable(String)` | `string?` | `email string?` |
28
- | `T.nilable(Integer)` | `int?` | `age int?` |
29
- | `T.nilable(MyStruct)` | `MyStruct?` | `address Address?` |
30
-
31
- ## Collection Types
32
-
33
- | Sorbet Type | BAML Output | Example |
34
- |-------------|-------------|---------|
35
- | `T::Array[String]` | `string[]` | `tags string[]` |
36
- | `T::Array[Integer]` | `int[]` | `scores int[]` |
37
- | `T::Array[MyStruct]` | `MyStruct[]` | `addresses Address[]` |
38
-
39
- ## Hash/Map Types
40
-
41
- | Sorbet Type | BAML Output | Example |
42
- |-------------|-------------|---------|
43
- | `T::Hash[String, String]` | `map<string, string>` | `metadata map<string, string>` |
44
- | `T::Hash[String, Integer]` | `map<string, int>` | `counts map<string, int>` |
45
- | `T::Hash[Symbol, String]` | `map<string, string>` | `config map<string, string>` |
46
-
47
- ## Union Types (T.any)
48
-
49
- | Sorbet Type | BAML Output | Example |
50
- |-------------|-------------|---------|
51
- | `T.any(String, Integer)` | `string \| int` | `value string \| int` |
52
- | `T.any(String, Integer, Float)` | `string \| int \| float` | `mixed string \| int \| float` |
53
- | `T.nilable(T.any(String, Integer))` | `(string \| int)?` | `optional (string \| int)?` |
54
-
55
- ## Complex Collection Types
56
-
57
- | Sorbet Type | BAML Output | Example |
58
- |-------------|-------------|---------|
59
- | `T::Array[T.any(String, Integer)]` | `(string \| int)[]` | `mixed_array (string \| int)[]` |
60
- | `T::Hash[String, T.any(String, Integer)]` | `map<string, string \| int>` | `settings map<string, string \| int>` |
61
- | `T::Hash[String, T::Array[String]]` | `map<string, string[]>` | `labels map<string, string[]>` |
62
-
63
- ## Structured Types
64
-
65
- ### T::Struct to BAML Classes (Research Workflow Example)
66
-
67
- ```ruby
68
- class ConfidenceLevel < T::Enum
69
- enums do
70
- # Low confidence, requires further verification
71
- Low = new('low')
72
- # High confidence, strongly supported by evidence
73
- High = new('high')
74
- end
75
- end
76
-
77
- class ResearchFindings < T::Struct
78
- # Detailed research findings and analysis
79
- const :findings, String
80
- # Key actionable insights extracted
81
- const :key_insights, T::Array[String]
82
- # Assessment of evidence quality
83
- const :evidence_quality, ConfidenceLevel
84
- # Confidence score (1-10 scale)
85
- const :confidence_score, Integer
86
- end
87
- ```
88
-
89
- ```ruby
90
- ResearchFindings.to_baml
91
- ```
92
-
93
- **Generated BAML:**
94
- ```baml
95
- enum ConfidenceLevel {
96
- "low" @description("Low confidence, requires further verification")
97
- "high" @description("High confidence, strongly supported by evidence")
98
- }
99
-
100
- class ResearchFindings {
101
- findings string @description("Detailed research findings and analysis")
102
- key_insights string[] @description("Key actionable insights extracted")
103
- evidence_quality ConfidenceLevel @description("Assessment of evidence quality")
104
- confidence_score int @description("Confidence score (1-10 scale)")
105
- }
106
- ```
107
-
108
- ### T::Enum to BAML Enums (Task Classification)
109
-
110
- ```ruby
111
- class TaskType < T::Enum
112
- enums do
113
- # Literature review and information gathering
114
- Research = new('research')
115
- # Data analysis and statistical interpretation
116
- Analysis = new('analysis')
117
- # Combining multiple sources into coherent insights
118
- Synthesis = new('synthesis')
119
- end
120
- end
121
-
122
- class ResearchTask < T::Struct
123
- # Clear description of the research objective
124
- const :objective, String
125
- # Type of research task to be performed
126
- const :task_type, TaskType
127
- end
128
- ```
129
-
130
- ```ruby
131
- [TaskType, ResearchTask].map(&:to_baml).join("\n\n")
132
- ```
133
-
134
- **Generated BAML:**
135
- ```baml
136
- enum TaskType {
137
- "research" @description("Literature review and information gathering")
138
- "analysis" @description("Data analysis and statistical interpretation")
139
- "synthesis" @description("Combining multiple sources into coherent insights")
140
- }
141
-
142
- class ResearchTask {
143
- objective string @description("Clear description of the research objective")
144
- task_type TaskType @description("Type of research task to be performed")
145
- }
146
- ```
147
-
148
- ### Complex Real-World Example (Autonomous Research Agent)
149
-
150
- ```ruby
151
- class ComplexityLevel < T::Enum
152
- enums do
153
- # Basic analysis requiring straightforward research
154
- Basic = new('basic')
155
- # Advanced analysis requiring deep domain expertise
156
- Advanced = new('advanced')
157
- end
158
- end
159
-
160
- class TaskDecomposition < T::Struct
161
- # The main research topic being investigated
162
- const :research_topic, String
163
- # Target complexity level for the decomposition
164
- const :complexity_level, ComplexityLevel
165
- # Autonomously generated list of research subtasks
166
- const :subtasks, T::Array[String]
167
- # Strategic priority rankings (1-5 scale) for each subtask
168
- const :priority_order, T::Array[Integer]
169
- # Task dependency relationships for optimal sequencing
170
- const :dependencies, T::Array[String]
171
- # Key-value metadata for agent coordination
172
- const :agent_metadata, T::Hash[String, T.any(String, Integer)]
173
- end
174
- ```
175
-
176
- ```ruby
177
- [ComplexityLevel, TaskDecomposition].map(&:to_baml).join("\n\n")
178
- ```
179
-
180
- **Generated BAML:**
181
- ```baml
182
- enum ComplexityLevel {
183
- "basic" @description("Basic analysis requiring straightforward research")
184
- "advanced" @description("Advanced analysis requiring deep domain expertise")
185
- }
186
-
187
- class TaskDecomposition {
188
- research_topic string @description("The main research topic being investigated")
189
- complexity_level ComplexityLevel @description("Target complexity level for the decomposition")
190
- subtasks string[] @description("Autonomously generated list of research subtasks")
191
- priority_order int[] @description("Strategic priority rankings (1-5 scale) for each subtask")
192
- dependencies string[] @description("Task dependency relationships for optimal sequencing")
193
- agent_metadata map<string, string | int> @description("Key-value metadata for agent coordination")
194
- }
195
- ```
196
-
197
- ## Advanced Features
198
-
199
- ### Dependency Management
200
-
201
- ```ruby
202
- # Dependencies automatically included with smart defaults
203
- TaskDecomposition.to_baml
204
- # Outputs ComplexityLevel enum, then TaskDecomposition class in correct order
205
- ```
206
-
207
- ### Field Descriptions (Included by Default)
208
-
209
- ```ruby
210
- # Smart defaults extract field descriptions from comments
211
- TaskDecomposition.to_baml
212
- # Outputs BAML with @description() annotations for LLM context
213
- ```
214
-
215
- ### Custom Formatting
216
-
217
- ```ruby
218
- # Smart defaults include dependencies and descriptions automatically
219
- TaskDecomposition.to_baml(indent_size: 4)
220
- # Disable features if needed:
221
- TaskDecomposition.to_baml(include_descriptions: false)
222
- ```
223
-
224
- ## ✅ Completed Features
225
-
226
- - ✅ `T::Struct` → `class Name { ... }` with field descriptions
227
- - ✅ `T::Enum` → `enum Name { ... }` with value descriptions
228
- - ✅ Automatic dependency resolution and ordering
229
- - ✅ Smart defaults (descriptions and dependencies enabled)
230
- - ✅ Full type safety with Sorbet type checking
231
-
232
- ## Future Enhancements (Optional)
233
-
234
- - `T.type_alias` → `type Name = ...`
235
- - Custom naming strategies (snake_case ↔ camelCase)
236
- - Self-referential type handling
@@ -1,85 +0,0 @@
1
- /** @type {import('tailwindcss').Config} */
2
- module.exports = {
3
- content: [
4
- "./src/**/*.{html,md,liquid,erb}",
5
- "./frontend/**/*.js",
6
- ],
7
- darkMode: 'media',
8
- theme: {
9
- extend: {
10
- typography: {
11
- DEFAULT: {
12
- css: {
13
- maxWidth: 'none',
14
- color: 'inherit',
15
- a: {
16
- color: '#3b82f6',
17
- textDecoration: 'underline',
18
- fontWeight: '500',
19
- },
20
- '[class~="lead"]': {
21
- color: 'inherit',
22
- },
23
- strong: {
24
- color: 'inherit',
25
- },
26
- 'ol > li::before': {
27
- color: 'inherit',
28
- },
29
- 'ul > li::before': {
30
- backgroundColor: 'currentColor',
31
- },
32
- hr: {
33
- borderColor: 'currentColor',
34
- opacity: 0.3,
35
- },
36
- blockquote: {
37
- color: 'inherit',
38
- borderLeftColor: 'currentColor',
39
- opacity: 0.8,
40
- },
41
- h1: {
42
- color: 'inherit',
43
- },
44
- h2: {
45
- color: 'inherit',
46
- },
47
- h3: {
48
- color: 'inherit',
49
- },
50
- h4: {
51
- color: 'inherit',
52
- },
53
- 'figure figcaption': {
54
- color: 'inherit',
55
- },
56
- code: {
57
- color: 'inherit',
58
- backgroundColor: 'rgba(156, 163, 175, 0.2)',
59
- padding: '0.125rem 0.25rem',
60
- borderRadius: '0.25rem',
61
- fontWeight: '400',
62
- },
63
- 'code::before': {
64
- content: '""',
65
- },
66
- 'code::after': {
67
- content: '""',
68
- },
69
- pre: {
70
- backgroundColor: '#1f2937',
71
- color: '#f9fafb',
72
- },
73
- 'pre code': {
74
- backgroundColor: 'transparent',
75
- color: 'inherit',
76
- },
77
- },
78
- },
79
- },
80
- },
81
- },
82
- plugins: [
83
- require('@tailwindcss/typography'),
84
- ],
85
- }
data/sorbet/config DELETED
@@ -1,6 +0,0 @@
1
- --dir
2
- .
3
- --ignore=tmp/
4
- --ignore=vendor/
5
- --ignore=docs-site/
6
- --ignore=docs-output/
@@ -1 +0,0 @@
1
- **/*.rbi linguist-vendored=true
@@ -1,269 +0,0 @@
1
- # typed: true
2
-
3
- # DO NOT EDIT MANUALLY
4
- # This file was pulled from a central RBI files repository.
5
- # Please run `bin/tapioca annotations` to update it.
6
-
7
- module Rainbow
8
- # @shim: https://github.com/sickill/rainbow/blob/master/lib/rainbow.rb#L10-L12
9
- sig { returns(T::Boolean) }
10
- attr_accessor :enabled
11
-
12
- class Color
13
- sig { returns(Symbol) }
14
- attr_reader :ground
15
-
16
- sig { params(ground: Symbol, values: T.any([Integer], [Integer, Integer, Integer])).returns(Color) }
17
- def self.build(ground, values); end
18
-
19
- sig { params(hex: String).returns([Integer, Integer, Integer]) }
20
- def self.parse_hex_color(hex); end
21
-
22
- class Indexed < Rainbow::Color
23
- sig { returns(Integer) }
24
- attr_reader :num
25
-
26
- sig { params(ground: Symbol, num: Integer).void }
27
- def initialize(ground, num); end
28
-
29
- sig { returns(T::Array[Integer]) }
30
- def codes; end
31
- end
32
-
33
- class Named < Rainbow::Color::Indexed
34
- NAMES = T.let(nil, T::Hash[Symbol, Integer])
35
-
36
- sig { params(ground: Symbol, name: Symbol).void }
37
- def initialize(ground, name); end
38
-
39
- sig { returns(T::Array[Symbol]) }
40
- def self.color_names; end
41
-
42
- sig { returns(String) }
43
- def self.valid_names; end
44
- end
45
-
46
- class RGB < Rainbow::Color::Indexed
47
- sig { returns(Integer) }
48
- attr_reader :r, :g, :b
49
-
50
- sig { params(ground: Symbol, values: Integer).void }
51
- def initialize(ground, *values); end
52
-
53
- sig { returns(T::Array[Integer]) }
54
- def codes; end
55
-
56
- sig { params(value: Numeric).returns(Integer) }
57
- def self.to_ansi_domain(value); end
58
- end
59
-
60
- class X11Named < Rainbow::Color::RGB
61
- include Rainbow::X11ColorNames
62
-
63
- sig { params(ground: Symbol, name: Symbol).void }
64
- def initialize(ground, name); end
65
-
66
- sig { returns(T::Array[Symbol]) }
67
- def self.color_names; end
68
-
69
- sig { returns(String) }
70
- def self.valid_names; end
71
- end
72
- end
73
-
74
- sig { returns(Wrapper) }
75
- def self.global; end
76
-
77
- sig { returns(T::Boolean) }
78
- def self.enabled; end
79
-
80
- sig { params(value: T::Boolean).returns(T::Boolean) }
81
- def self.enabled=(value); end
82
-
83
- sig { params(string: String).returns(String) }
84
- def self.uncolor(string); end
85
-
86
- class NullPresenter < String
87
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
88
- def color(*values); end
89
-
90
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
91
- def foreground(*values); end
92
-
93
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
94
- def fg(*values); end
95
-
96
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
97
- def background(*values); end
98
-
99
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(NullPresenter) }
100
- def bg(*values); end
101
-
102
- sig { returns(NullPresenter) }
103
- def reset; end
104
-
105
- sig { returns(NullPresenter) }
106
- def bright; end
107
-
108
- sig { returns(NullPresenter) }
109
- def faint; end
110
-
111
- sig { returns(NullPresenter) }
112
- def italic; end
113
-
114
- sig { returns(NullPresenter) }
115
- def underline; end
116
-
117
- sig { returns(NullPresenter) }
118
- def blink; end
119
-
120
- sig { returns(NullPresenter) }
121
- def inverse; end
122
-
123
- sig { returns(NullPresenter) }
124
- def hide; end
125
-
126
- sig { returns(NullPresenter) }
127
- def cross_out; end
128
-
129
- sig { returns(NullPresenter) }
130
- def black; end
131
-
132
- sig { returns(NullPresenter) }
133
- def red; end
134
-
135
- sig { returns(NullPresenter) }
136
- def green; end
137
-
138
- sig { returns(NullPresenter) }
139
- def yellow; end
140
-
141
- sig { returns(NullPresenter) }
142
- def blue; end
143
-
144
- sig { returns(NullPresenter) }
145
- def magenta; end
146
-
147
- sig { returns(NullPresenter) }
148
- def cyan; end
149
-
150
- sig { returns(NullPresenter) }
151
- def white; end
152
-
153
- sig { returns(NullPresenter) }
154
- def bold; end
155
-
156
- sig { returns(NullPresenter) }
157
- def dark; end
158
-
159
- sig { returns(NullPresenter) }
160
- def strike; end
161
- end
162
-
163
- class Presenter < String
164
- TERM_EFFECTS = T.let(nil, T::Hash[Symbol, Integer])
165
-
166
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
167
- def color(*values); end
168
-
169
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
170
- def foreground(*values); end
171
-
172
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
173
- def fg(*values); end
174
-
175
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
176
- def background(*values); end
177
-
178
- sig { params(values: T.any([Integer], [Integer, Integer, Integer])).returns(Presenter) }
179
- def bg(*values); end
180
-
181
- sig { returns(Presenter) }
182
- def reset; end
183
-
184
- sig { returns(Presenter) }
185
- def bright; end
186
-
187
- sig { returns(Presenter) }
188
- def faint; end
189
-
190
- sig { returns(Presenter) }
191
- def italic; end
192
-
193
- sig { returns(Presenter) }
194
- def underline; end
195
-
196
- sig { returns(Presenter) }
197
- def blink; end
198
-
199
- sig { returns(Presenter) }
200
- def inverse; end
201
-
202
- sig { returns(Presenter) }
203
- def hide; end
204
-
205
- sig { returns(Presenter) }
206
- def cross_out; end
207
-
208
- sig { returns(Presenter) }
209
- def black; end
210
-
211
- sig { returns(Presenter) }
212
- def red; end
213
-
214
- sig { returns(Presenter) }
215
- def green; end
216
-
217
- sig { returns(Presenter) }
218
- def yellow; end
219
-
220
- sig { returns(Presenter) }
221
- def blue; end
222
-
223
- sig { returns(Presenter) }
224
- def magenta; end
225
-
226
- sig { returns(Presenter) }
227
- def cyan; end
228
-
229
- sig { returns(Presenter) }
230
- def white; end
231
-
232
- sig { returns(Presenter) }
233
- def bold; end
234
-
235
- sig { returns(Presenter) }
236
- def dark; end
237
-
238
- sig { returns(Presenter) }
239
- def strike; end
240
- end
241
-
242
- class StringUtils
243
- sig { params(string: String, codes: T::Array[Integer]).returns(String) }
244
- def self.wrap_with_sgr(string, codes); end
245
-
246
- sig { params(string: String).returns(String) }
247
- def self.uncolor(string); end
248
- end
249
-
250
- VERSION = T.let(nil, String)
251
-
252
- class Wrapper
253
- sig { returns(T::Boolean) }
254
- attr_accessor :enabled
255
-
256
- sig { params(enabled: T::Boolean).void }
257
- def initialize(enabled = true); end
258
-
259
- sig { params(string: String).returns(T.any(Rainbow::Presenter, Rainbow::NullPresenter)) }
260
- def wrap(string); end
261
- end
262
-
263
- module X11ColorNames
264
- NAMES = T.let(nil, T::Hash[Symbol, [Integer, Integer, Integer]])
265
- end
266
- end
267
-
268
- sig { params(string: String).returns(Rainbow::Presenter) }
269
- def Rainbow(string); end
@@ -1 +0,0 @@
1
- **/*.rbi linguist-generated=true