charm 0.0.2 → 0.1.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/README.md +62 -18
- data/charm.gemspec +17 -5
- data/lib/charm/version.rb +1 -1
- data/lib/charm.rb +10 -0
- data/sig/charm.rbs +3 -0
- metadata +123 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d2e7f85c7a9b6edc8ec52098cb44e7aa9e2fe6abfa6b90edd0dda288793e935b
|
|
4
|
+
data.tar.gz: c5677337c803dd097f58be2abf657f1bceb8fb9ab841b5db0d8df12896842a19
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0250020012f61be1f94ad95efd9b6e363612d8956897bd60045d27038ba1937c8172b476045874a2d7818309f27133db7b38d34480a2a3f0c1441be969d8b0a3
|
|
7
|
+
data.tar.gz: e2bb05fa438bc278a9abfd2ded78761e87588edca56b1ed21421a19e418f860ccae33a99060c09c30c1b576bbbd877fbe319eda66bf8b27edece57cc77ed2687
|
data/README.md
CHANGED
|
@@ -1,39 +1,83 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
<h1>Charm for Ruby</h1>
|
|
3
|
+
<h4>The full Charm terminal toolkit for Ruby</h4>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
<p>
|
|
6
|
+
<a href="https://rubygems.org/gems/charm"><img alt="Gem Version" src="https://img.shields.io/gem/v/charm"></a>
|
|
7
|
+
<a href="https://github.com/marcoroth/charm-ruby/blob/main/LICENSE.txt"><img alt="License" src="https://img.shields.io/github/license/marcoroth/charm-ruby"></a>
|
|
8
|
+
</p>
|
|
4
9
|
|
|
5
|
-
|
|
10
|
+
<p>A meta gem that includes all <a href="https://charm-ruby.dev">Charm Ruby</a> libraries.<br/>Build glamorous TUIs, style terminal output, create beautiful forms, and make your Ruby CLIs sparkle.</p>
|
|
11
|
+
</div>
|
|
6
12
|
|
|
7
13
|
## Installation
|
|
8
14
|
|
|
9
|
-
|
|
15
|
+
**Add to your Gemfile:**
|
|
10
16
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
bundle add UPDATE_WITH_YOUR_GEM_NAME_IMMEDIATELY_AFTER_RELEASE_TO_RUBYGEMS_ORG
|
|
17
|
+
```ruby
|
|
18
|
+
gem "charm"
|
|
15
19
|
```
|
|
16
20
|
|
|
17
|
-
|
|
21
|
+
**Or install directly:**
|
|
18
22
|
|
|
19
23
|
```bash
|
|
20
|
-
gem install
|
|
24
|
+
gem install charm
|
|
21
25
|
```
|
|
22
26
|
|
|
23
|
-
##
|
|
27
|
+
## What's Included
|
|
24
28
|
|
|
25
|
-
|
|
29
|
+
The `charm` gem pulls in the entire Charm Ruby ecosystem:
|
|
26
30
|
|
|
27
|
-
|
|
31
|
+
| Gem | Description |
|
|
32
|
+
|-----|-------------|
|
|
33
|
+
| [Lipgloss](https://github.com/marcoroth/lipgloss-ruby) | Style definitions for nice terminal layouts |
|
|
34
|
+
| [Bubble Tea](https://github.com/marcoroth/bubbletea-ruby) | A powerful TUI framework based on the Elm Architecture |
|
|
35
|
+
| [Bubbles](https://github.com/marcoroth/bubbles-ruby) | Common TUI components for Bubble Tea |
|
|
36
|
+
| [Glamour](https://github.com/marcoroth/glamour-ruby) | Render markdown in the terminal |
|
|
37
|
+
| [Huh?](https://github.com/marcoroth/huh-ruby) | Build beautiful interactive forms |
|
|
38
|
+
| [Harmonica](https://github.com/marcoroth/harmonica-ruby) | A simple, physics-based animation library |
|
|
39
|
+
| [Bubblezone](https://github.com/marcoroth/bubblezone-ruby) | Zone-based mouse event handling for Bubble Tea |
|
|
40
|
+
| [Gum](https://github.com/marcoroth/gum-ruby) | A tool for glamorous shell scripts |
|
|
41
|
+
| [ntcharts](https://github.com/marcoroth/ntcharts-ruby) | Terminal chart components for Bubble Tea |
|
|
28
42
|
|
|
29
|
-
|
|
43
|
+
## Usage
|
|
30
44
|
|
|
31
|
-
|
|
45
|
+
```ruby
|
|
46
|
+
require "charm"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
This requires all included libraries. You can also require them individually:
|
|
50
|
+
|
|
51
|
+
```ruby
|
|
52
|
+
require "lipgloss"
|
|
53
|
+
require "bubbletea"
|
|
54
|
+
require "bubbles"
|
|
55
|
+
require "glamour"
|
|
56
|
+
require "huh"
|
|
57
|
+
require "harmonica"
|
|
58
|
+
require "bubblezone"
|
|
59
|
+
require "gum"
|
|
60
|
+
require "ntcharts"
|
|
61
|
+
```
|
|
32
62
|
|
|
33
63
|
## Contributing
|
|
34
64
|
|
|
35
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/marcoroth/charm.
|
|
65
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/marcoroth/charm-ruby.
|
|
66
|
+
|
|
67
|
+
## License
|
|
68
|
+
|
|
69
|
+
The gem is available as open source under the terms of the MIT License.
|
|
70
|
+
|
|
71
|
+
## Acknowledgments
|
|
72
|
+
|
|
73
|
+
This gem wraps libraries from the excellent [Charm](https://charm.sh) ecosystem. Charm Ruby is not affiliated with or endorsed by Charmbracelet, Inc.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
Part of [Charm Ruby](https://charm-ruby.dev).
|
|
78
|
+
|
|
79
|
+
<a href="https://charm-ruby.dev"><img alt="Charm Ruby" src="https://marcoroth.dev/images/heros/glamorous-christmas.png" width="400"></a>
|
|
36
80
|
|
|
37
|
-
|
|
81
|
+
[Lipgloss](https://github.com/marcoroth/lipgloss-ruby) • [Bubble Tea](https://github.com/marcoroth/bubbletea-ruby) • [Bubbles](https://github.com/marcoroth/bubbles-ruby) • [Glamour](https://github.com/marcoroth/glamour-ruby) • [Huh?](https://github.com/marcoroth/huh-ruby) • [Harmonica](https://github.com/marcoroth/harmonica-ruby) • [Bubblezone](https://github.com/marcoroth/bubblezone-ruby) • [Gum](https://github.com/marcoroth/gum-ruby) • [ntcharts](https://github.com/marcoroth/ntcharts-ruby)
|
|
38
82
|
|
|
39
|
-
|
|
83
|
+
The terminal doesn't have to be boring.
|
data/charm.gemspec
CHANGED
|
@@ -8,9 +8,10 @@ Gem::Specification.new do |spec|
|
|
|
8
8
|
spec.authors = ["Marco Roth"]
|
|
9
9
|
spec.email = ["marco.roth@intergga.ch"]
|
|
10
10
|
|
|
11
|
-
spec.summary = "
|
|
12
|
-
spec.description = "
|
|
13
|
-
spec.homepage = "https://charm-ruby
|
|
11
|
+
spec.summary = "The full Charm terminal toolkit for Ruby."
|
|
12
|
+
spec.description = "A meta gem that includes all Charm Ruby libraries."
|
|
13
|
+
spec.homepage = "https://github.com/marcoroth/charm-ruby"
|
|
14
|
+
spec.license = "MIT"
|
|
14
15
|
spec.required_ruby_version = ">= 3.2.0"
|
|
15
16
|
|
|
16
17
|
spec.metadata["homepage_uri"] = spec.homepage
|
|
@@ -22,9 +23,20 @@ Gem::Specification.new do |spec|
|
|
|
22
23
|
"charm.gemspec",
|
|
23
24
|
"LICENSE.txt",
|
|
24
25
|
"README.md",
|
|
25
|
-
"lib
|
|
26
|
+
"{lib,sig}/**/*"
|
|
26
27
|
]
|
|
27
28
|
|
|
29
|
+
spec.bindir = "exe"
|
|
30
|
+
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
|
28
31
|
spec.require_paths = ["lib"]
|
|
29
|
-
|
|
32
|
+
|
|
33
|
+
spec.add_dependency "bubbles"
|
|
34
|
+
spec.add_dependency "bubbletea"
|
|
35
|
+
spec.add_dependency "bubblezone"
|
|
36
|
+
spec.add_dependency "glamour"
|
|
37
|
+
spec.add_dependency "gum"
|
|
38
|
+
spec.add_dependency "harmonica"
|
|
39
|
+
# spec.add_dependency "huh"
|
|
40
|
+
spec.add_dependency "lipgloss"
|
|
41
|
+
spec.add_dependency "ntcharts"
|
|
30
42
|
end
|
data/lib/charm/version.rb
CHANGED
data/lib/charm.rb
CHANGED
|
@@ -2,5 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
require_relative "charm/version"
|
|
4
4
|
|
|
5
|
+
require "bubbles"
|
|
6
|
+
require "bubbletea"
|
|
7
|
+
# require "bubblezone" # TODO: enable
|
|
8
|
+
require "glamour"
|
|
9
|
+
require "gum"
|
|
10
|
+
require "harmonica"
|
|
11
|
+
# require "huh"
|
|
12
|
+
require "lipgloss"
|
|
13
|
+
require "ntcharts"
|
|
14
|
+
|
|
5
15
|
module Charm
|
|
6
16
|
end
|
data/sig/charm.rbs
ADDED
metadata
CHANGED
|
@@ -1,16 +1,127 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: charm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0
|
|
4
|
+
version: 0.1.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Marco Roth
|
|
8
|
-
bindir:
|
|
8
|
+
bindir: exe
|
|
9
9
|
cert_chain: []
|
|
10
10
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
-
dependencies:
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: bubbles
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - ">="
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '0'
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - ">="
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '0'
|
|
26
|
+
- !ruby/object:Gem::Dependency
|
|
27
|
+
name: bubbletea
|
|
28
|
+
requirement: !ruby/object:Gem::Requirement
|
|
29
|
+
requirements:
|
|
30
|
+
- - ">="
|
|
31
|
+
- !ruby/object:Gem::Version
|
|
32
|
+
version: '0'
|
|
33
|
+
type: :runtime
|
|
34
|
+
prerelease: false
|
|
35
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
36
|
+
requirements:
|
|
37
|
+
- - ">="
|
|
38
|
+
- !ruby/object:Gem::Version
|
|
39
|
+
version: '0'
|
|
40
|
+
- !ruby/object:Gem::Dependency
|
|
41
|
+
name: bubblezone
|
|
42
|
+
requirement: !ruby/object:Gem::Requirement
|
|
43
|
+
requirements:
|
|
44
|
+
- - ">="
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: '0'
|
|
47
|
+
type: :runtime
|
|
48
|
+
prerelease: false
|
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - ">="
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '0'
|
|
54
|
+
- !ruby/object:Gem::Dependency
|
|
55
|
+
name: glamour
|
|
56
|
+
requirement: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - ">="
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '0'
|
|
61
|
+
type: :runtime
|
|
62
|
+
prerelease: false
|
|
63
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - ">="
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '0'
|
|
68
|
+
- !ruby/object:Gem::Dependency
|
|
69
|
+
name: gum
|
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - ">="
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '0'
|
|
75
|
+
type: :runtime
|
|
76
|
+
prerelease: false
|
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - ">="
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: '0'
|
|
82
|
+
- !ruby/object:Gem::Dependency
|
|
83
|
+
name: harmonica
|
|
84
|
+
requirement: !ruby/object:Gem::Requirement
|
|
85
|
+
requirements:
|
|
86
|
+
- - ">="
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: '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'
|
|
96
|
+
- !ruby/object:Gem::Dependency
|
|
97
|
+
name: lipgloss
|
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
|
99
|
+
requirements:
|
|
100
|
+
- - ">="
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: '0'
|
|
103
|
+
type: :runtime
|
|
104
|
+
prerelease: false
|
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - ">="
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '0'
|
|
110
|
+
- !ruby/object:Gem::Dependency
|
|
111
|
+
name: ntcharts
|
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
|
113
|
+
requirements:
|
|
114
|
+
- - ">="
|
|
115
|
+
- !ruby/object:Gem::Version
|
|
116
|
+
version: '0'
|
|
117
|
+
type: :runtime
|
|
118
|
+
prerelease: false
|
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
120
|
+
requirements:
|
|
121
|
+
- - ">="
|
|
122
|
+
- !ruby/object:Gem::Version
|
|
123
|
+
version: '0'
|
|
124
|
+
description: A meta gem that includes all Charm Ruby libraries.
|
|
14
125
|
email:
|
|
15
126
|
- marco.roth@intergga.ch
|
|
16
127
|
executables: []
|
|
@@ -21,10 +132,12 @@ files:
|
|
|
21
132
|
- charm.gemspec
|
|
22
133
|
- lib/charm.rb
|
|
23
134
|
- lib/charm/version.rb
|
|
24
|
-
|
|
25
|
-
|
|
135
|
+
- sig/charm.rbs
|
|
136
|
+
homepage: https://github.com/marcoroth/charm-ruby
|
|
137
|
+
licenses:
|
|
138
|
+
- MIT
|
|
26
139
|
metadata:
|
|
27
|
-
homepage_uri: https://charm-ruby
|
|
140
|
+
homepage_uri: https://github.com/marcoroth/charm-ruby
|
|
28
141
|
source_code_uri: https://github.com/marcoroth/charm-ruby
|
|
29
142
|
changelog_uri: https://github.com/marcoroth/charm-ruby/releases
|
|
30
143
|
rubygems_mfa_required: 'true'
|
|
@@ -42,7 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
42
155
|
- !ruby/object:Gem::Version
|
|
43
156
|
version: '0'
|
|
44
157
|
requirements: []
|
|
45
|
-
rubygems_version: 4.0.
|
|
158
|
+
rubygems_version: 4.0.6
|
|
46
159
|
specification_version: 4
|
|
47
|
-
summary:
|
|
160
|
+
summary: The full Charm terminal toolkit for Ruby.
|
|
48
161
|
test_files: []
|