sorbet-baml 0.3.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.
Files changed (121) 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/type_mapper.rb +14 -2
  7. data/lib/sorbet_baml/version.rb +1 -1
  8. data/lib/sorbet_baml.rb +4 -2
  9. metadata +3 -115
  10. data/.idea/.gitignore +0 -8
  11. data/.idea/inspectionProfiles/Project_Default.xml +0 -5
  12. data/.rspec +0 -3
  13. data/docs-site/.gitignore +0 -48
  14. data/docs-site/Gemfile +0 -5
  15. data/docs-site/Gemfile.lock +0 -140
  16. data/docs-site/Rakefile +0 -3
  17. data/docs-site/bridgetown.config.yml +0 -15
  18. data/docs-site/config/initializers.rb +0 -9
  19. data/docs-site/config/puma.rb +0 -9
  20. data/docs-site/config.ru +0 -5
  21. data/docs-site/esbuild.config.js +0 -11
  22. data/docs-site/frontend/javascript/index.js +0 -22
  23. data/docs-site/frontend/styles/index.css +0 -61
  24. data/docs-site/package.json +0 -18
  25. data/docs-site/postcss.config.js +0 -6
  26. data/docs-site/server/roda_app.rb +0 -9
  27. data/docs-site/src/_components/head.liquid +0 -26
  28. data/docs-site/src/_components/nav.liquid +0 -68
  29. data/docs-site/src/_layouts/default.liquid +0 -27
  30. data/docs-site/src/_layouts/doc.liquid +0 -39
  31. data/docs-site/src/advanced-usage.md +0 -598
  32. data/docs-site/src/getting-started.md +0 -170
  33. data/docs-site/src/index.md +0 -183
  34. data/docs-site/src/troubleshooting.md +0 -317
  35. data/docs-site/src/type-mapping.md +0 -236
  36. data/docs-site/tailwind.config.js +0 -85
  37. data/sorbet/config +0 -6
  38. data/sorbet/rbi/annotations/.gitattributes +0 -1
  39. data/sorbet/rbi/annotations/rainbow.rbi +0 -269
  40. data/sorbet/rbi/gems/.gitattributes +0 -1
  41. data/sorbet/rbi/gems/anthropic@1.5.0.rbi +0 -21252
  42. data/sorbet/rbi/gems/ast@2.4.3.rbi +0 -585
  43. data/sorbet/rbi/gems/async@2.27.3.rbi +0 -9
  44. data/sorbet/rbi/gems/benchmark@0.4.1.rbi +0 -619
  45. data/sorbet/rbi/gems/bigdecimal@3.2.2.rbi +0 -9
  46. data/sorbet/rbi/gems/byebug@11.1.3.rbi +0 -37
  47. data/sorbet/rbi/gems/concurrent-ruby@1.3.5.rbi +0 -424
  48. data/sorbet/rbi/gems/connection_pool@2.5.3.rbi +0 -9
  49. data/sorbet/rbi/gems/console@1.33.0.rbi +0 -9
  50. data/sorbet/rbi/gems/date@3.4.1.rbi +0 -75
  51. data/sorbet/rbi/gems/diff-lcs@1.6.2.rbi +0 -1134
  52. data/sorbet/rbi/gems/dry-configurable@1.3.0.rbi +0 -672
  53. data/sorbet/rbi/gems/dry-core@1.1.0.rbi +0 -1729
  54. data/sorbet/rbi/gems/dry-logger@1.1.0.rbi +0 -1317
  55. data/sorbet/rbi/gems/dspy@0.19.1.rbi +0 -6677
  56. data/sorbet/rbi/gems/erb@5.0.2.rbi +0 -878
  57. data/sorbet/rbi/gems/erubi@1.13.1.rbi +0 -155
  58. data/sorbet/rbi/gems/ffi@1.17.2.rbi +0 -2174
  59. data/sorbet/rbi/gems/fiber-annotation@0.2.0.rbi +0 -9
  60. data/sorbet/rbi/gems/fiber-local@1.1.0.rbi +0 -9
  61. data/sorbet/rbi/gems/fiber-storage@1.0.1.rbi +0 -9
  62. data/sorbet/rbi/gems/google-protobuf@4.32.0.rbi +0 -9
  63. data/sorbet/rbi/gems/googleapis-common-protos-types@1.20.0.rbi +0 -9
  64. data/sorbet/rbi/gems/informers@1.2.1.rbi +0 -1875
  65. data/sorbet/rbi/gems/io-console@0.8.1.rbi +0 -9
  66. data/sorbet/rbi/gems/io-event@1.12.1.rbi +0 -9
  67. data/sorbet/rbi/gems/json@2.13.2.rbi +0 -2087
  68. data/sorbet/rbi/gems/language_server-protocol@3.17.0.5.rbi +0 -9
  69. data/sorbet/rbi/gems/lint_roller@1.1.0.rbi +0 -240
  70. data/sorbet/rbi/gems/logger@1.7.0.rbi +0 -963
  71. data/sorbet/rbi/gems/metrics@0.13.0.rbi +0 -9
  72. data/sorbet/rbi/gems/netrc@0.11.0.rbi +0 -159
  73. data/sorbet/rbi/gems/onnxruntime@0.10.0.rbi +0 -304
  74. data/sorbet/rbi/gems/openai@0.16.0.rbi +0 -68055
  75. data/sorbet/rbi/gems/opentelemetry-api@1.6.0.rbi +0 -9
  76. data/sorbet/rbi/gems/opentelemetry-common@0.22.0.rbi +0 -9
  77. data/sorbet/rbi/gems/opentelemetry-exporter-otlp@0.30.0.rbi +0 -9
  78. data/sorbet/rbi/gems/opentelemetry-registry@0.4.0.rbi +0 -9
  79. data/sorbet/rbi/gems/opentelemetry-sdk@1.8.1.rbi +0 -9
  80. data/sorbet/rbi/gems/opentelemetry-semantic_conventions@1.11.0.rbi +0 -9
  81. data/sorbet/rbi/gems/parallel@1.27.0.rbi +0 -291
  82. data/sorbet/rbi/gems/parser@3.3.9.0.rbi +0 -5535
  83. data/sorbet/rbi/gems/polars-df@0.20.0.rbi +0 -9
  84. data/sorbet/rbi/gems/pp@0.6.2.rbi +0 -368
  85. data/sorbet/rbi/gems/prettyprint@0.2.0.rbi +0 -477
  86. data/sorbet/rbi/gems/prism@1.4.0.rbi +0 -41732
  87. data/sorbet/rbi/gems/psych@5.2.6.rbi +0 -2469
  88. data/sorbet/rbi/gems/racc@1.8.1.rbi +0 -164
  89. data/sorbet/rbi/gems/rainbow@3.1.1.rbi +0 -403
  90. data/sorbet/rbi/gems/rake@13.3.0.rbi +0 -3031
  91. data/sorbet/rbi/gems/rbi@0.3.6.rbi +0 -6893
  92. data/sorbet/rbi/gems/rbs@3.9.4.rbi +0 -6976
  93. data/sorbet/rbi/gems/rdoc@6.14.2.rbi +0 -12688
  94. data/sorbet/rbi/gems/regexp_parser@2.11.2.rbi +0 -3845
  95. data/sorbet/rbi/gems/reline@0.6.2.rbi +0 -2441
  96. data/sorbet/rbi/gems/rexml@3.4.1.rbi +0 -5240
  97. data/sorbet/rbi/gems/rspec-core@3.13.5.rbi +0 -11250
  98. data/sorbet/rbi/gems/rspec-expectations@3.13.5.rbi +0 -8189
  99. data/sorbet/rbi/gems/rspec-mocks@3.13.5.rbi +0 -5350
  100. data/sorbet/rbi/gems/rspec-support@3.13.4.rbi +0 -1630
  101. data/sorbet/rbi/gems/rspec@3.13.1.rbi +0 -83
  102. data/sorbet/rbi/gems/rubocop-ast@1.46.0.rbi +0 -7764
  103. data/sorbet/rbi/gems/rubocop-sorbet@0.10.5.rbi +0 -2386
  104. data/sorbet/rbi/gems/rubocop@1.79.2.rbi +0 -63321
  105. data/sorbet/rbi/gems/ruby-progressbar@1.13.0.rbi +0 -1318
  106. data/sorbet/rbi/gems/sorbet-result@1.4.0.rbi +0 -242
  107. data/sorbet/rbi/gems/sorbet-schema@0.9.2.rbi +0 -743
  108. data/sorbet/rbi/gems/sorbet-struct-comparable@1.3.0.rbi +0 -48
  109. data/sorbet/rbi/gems/spoom@1.6.3.rbi +0 -6985
  110. data/sorbet/rbi/gems/stringio@3.1.7.rbi +0 -9
  111. data/sorbet/rbi/gems/tapioca@0.16.11.rbi +0 -3628
  112. data/sorbet/rbi/gems/thor@1.4.0.rbi +0 -4399
  113. data/sorbet/rbi/gems/tokenizers@0.5.5.rbi +0 -754
  114. data/sorbet/rbi/gems/traces@0.17.0.rbi +0 -9
  115. data/sorbet/rbi/gems/unicode-display_width@3.1.5.rbi +0 -132
  116. data/sorbet/rbi/gems/unicode-emoji@4.0.4.rbi +0 -251
  117. data/sorbet/rbi/gems/yard-sorbet@0.9.0.rbi +0 -435
  118. data/sorbet/rbi/gems/yard@0.9.37.rbi +0 -18379
  119. data/sorbet/rbi/gems/zeitwerk@2.7.3.rbi +0 -1429
  120. data/sorbet/tapioca/config.yml +0 -13
  121. 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