Detailed changes
@@ -12,7 +12,7 @@ before:
# 'builds' defines the matrix of binaries to create.
builds:
- # The main build configuration for your CLI.
- # The binary name will be 'email-cli'.
+ # The binary name will be 'matcha'.
id: "matcha"
# The main entrypoint of your application.
main: .
@@ -36,11 +36,12 @@ archives:
# This will create .tar.gz files.
format: tar.gz
# A template for the archive file names.
- # e.g., email-cli_1.2.3_darwin_amd64.tar.gz
+ # e.g., matcha_1.2.3_darwin_amd64.tar.gz
name_template: "{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}"
# Files to include in the archive.
files:
- LICENSE
+
- README.md
# 'checksum' creates a file with SHA256 checksums for all artifacts.
@@ -72,7 +73,7 @@ release:
# 'brews' configures the Homebrew tap integration.
brews:
- # The configuration for your Homebrew tap.
- # The name of your formula file will be 'email-cli.rb'.
+ # The name of your formula file will be 'matcha.rb'.
name: matcha
# The GitHub repository for your Homebrew tap.
tap:
@@ -97,9 +98,9 @@ brews:
dependencies: []
# The test block for your formula.
- # This command will be run by `brew test email-cli`.
+ # This command will be run by `brew test matcha`.
test: |
- system "#{bin}/email-cli --version"
+ system "#{bin}/matcha --version"
# The installation instructions for your formula.
# This tells Homebrew to just install the binary.
@@ -1,6 +1,6 @@
-# Contributing to Email CLI
+# Contributing to Matcha
-First off, thank you for considering contributing to Email CLI! It's people like you that make this project great.
+First off, thank you for considering contributing to Matcha! It's people like you that make this project great.
## How Can I Contribute?
@@ -38,7 +38,7 @@ To get started with development, you'll need to have Go installed.
1. Clone the repository:
```bash
git clone https://github.com/floatpane/matcha.git
- cd email-cli
+ cd matcha
```
2. Install dependencies:
```bash
@@ -46,13 +46,13 @@ To get started with development, you'll need to have Go installed.
```
3. Build the project:
```bash
- go build -o email-cli
+ go build -o matcha
```
4. Run the application:
```bash
- ./email-cli
+ ./matcha
```
## Code of Conduct
-Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. Please read the [Code of Conduct](CODE_OF_CONDUCT.md).
+Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms. Please read the [Code of Conduct](CODE_OF_CONDUCT.md).
@@ -1,4 +1,4 @@
-# Matcha Client 🍵
+# Matcha 🍵
<div align="center">
@@ -23,7 +23,7 @@
[](https://www.apple.com/macos)
[](https://www.linux.org/)
[](https://brew.sh)
-[](https://snapcraft.io/email-cli)
+[](https://snapcraft.io/matcha)
[](https://patreon.com/andrinoff)
[](https://github.com/floatpane/matcha/graphs/contributors)
@@ -46,7 +46,7 @@ A beautiful and functional email client for your terminal, built with Go and the
## Installation 🚀
-There are several ways to install Email CLI.
+There are several ways to install Matcha.
### Package Managers
@@ -54,13 +54,13 @@ There are several ways to install Email CLI.
```bash
brew tap floatpane/matcha
-brew install email-cli
+brew install matcha
```
After installation, run:
```bash
-email-cli
+matcha
```
to get started.
@@ -68,12 +68,12 @@ to get started.
### Install using Snap
```bash
-sudo snap install email-cli
+sudo snap install matcha
```
### Build from Source 🔨
-Email CLI is written in **Go**. To build it manually:
+Matcha is written in **Go**. To build it manually:
1. Ensure you have Go installed (`go version`).
2. Clone the repository:
@@ -85,20 +85,20 @@ Email CLI is written in **Go**. To build it manually:
3. Navigate to the project folder:
```bash
- cd email-cli
+ cd matcha
```
4. Build the binary:
```bash
- go build -o email-cli
+ go build -o matcha
```
5. Run it:
```bash
- ./email-cli
+ ./matcha
```
## License 📄
-This project is distributed under the MIT License. See the `LICENSE` file for more information.
+This project is distributed under the MIT License. See the `LICENSE` file for more information.
@@ -20,7 +20,7 @@ func configDir() (string, error) {
if err != nil {
return "", err
}
- return filepath.Join(home, ".config", "email-cli"), nil
+ return filepath.Join(home, ".config", "matcha"), nil
}
// configFile returns the full path to the configuration file.
@@ -11,10 +11,10 @@ import (
"strings"
"time"
- "github.com/andrinoff/email-cli/config"
"github.com/emersion/go-imap"
"github.com/emersion/go-imap/client"
"github.com/emersion/go-message/mail"
+ "github.com/floatpane/matcha/config"
"golang.org/x/text/encoding/ianaindex"
"golang.org/x/text/transform"
)
@@ -3,7 +3,7 @@ package fetcher
import (
"testing"
- "github.com/andrinoff/email-cli/config"
+ "github.com/floatpane/matcha/config"
)
// TestFetchEmails is an integration test that requires a live IMAP server and valid credentials.
@@ -3,42 +3,38 @@ module github.com/floatpane/matcha
go 1.24.5
require (
- github.com/PuerkitoBio/goquery v1.10.3 // indirect
+ github.com/PuerkitoBio/goquery v1.10.3
+ github.com/charmbracelet/bubbles v0.21.0
+ github.com/charmbracelet/bubbletea v1.3.6
+ github.com/charmbracelet/lipgloss v1.1.0
+ github.com/emersion/go-imap v1.2.1
+ github.com/emersion/go-message v0.18.2
+ github.com/google/uuid v1.6.0
+ github.com/yuin/goldmark v1.7.13
+ golang.org/x/text v0.27.0
+)
+
+require (
github.com/andybalholm/cascadia v1.3.3 // indirect
github.com/atotto/clipboard v0.1.4 // indirect
github.com/aymanbagabas/go-osc52/v2 v2.0.1 // indirect
- github.com/aymerick/douceur v0.2.0 // indirect
- github.com/charmbracelet/bubbles v0.21.0 // indirect
- github.com/charmbracelet/bubbletea v1.3.6 // indirect
github.com/charmbracelet/colorprofile v0.3.1 // indirect
- github.com/charmbracelet/lipgloss v1.1.0 // indirect
github.com/charmbracelet/x/ansi v0.9.3 // indirect
github.com/charmbracelet/x/cellbuf v0.0.13 // indirect
github.com/charmbracelet/x/term v0.2.1 // indirect
- github.com/emersion/go-imap v1.2.1 // indirect
- github.com/emersion/go-imap/v2 v2.0.0-beta.5 // indirect
- github.com/emersion/go-message v0.18.2 // indirect
github.com/emersion/go-sasl v0.0.0-20241020182733-b788ff22d5a6 // indirect
github.com/erikgeiser/coninput v0.0.0-20211004153227-1c3628e74d0f // indirect
- github.com/google/uuid v1.6.0 // indirect
- github.com/gorilla/css v1.0.1 // indirect
- github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-localereader v0.0.1 // indirect
github.com/mattn/go-runewidth v0.0.16 // indirect
- github.com/microcosm-cc/bluemonday v1.0.27 // indirect
github.com/muesli/ansi v0.0.0-20230316100256-276c6243b2f6 // indirect
github.com/muesli/cancelreader v0.2.2 // indirect
github.com/muesli/termenv v0.16.0 // indirect
github.com/rivo/uniseg v0.4.7 // indirect
github.com/sahilm/fuzzy v0.1.1 // indirect
- github.com/spf13/cobra v1.9.1 // indirect
- github.com/spf13/pflag v1.0.7 // indirect
github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e // indirect
- github.com/yuin/goldmark v1.7.13 // indirect
golang.org/x/net v0.39.0 // indirect
golang.org/x/sync v0.16.0 // indirect
golang.org/x/sys v0.34.0 // indirect
- golang.org/x/text v0.27.0 // indirect
)
@@ -306,7 +306,7 @@ func sendEmail(cfg *config.Config, msg tui.SendEmailMsg) tea.Cmd {
log.Printf("Could not read image file %s: %v", imgPath, err)
continue
}
- cid := fmt.Sprintf("%s%s@%s", uuid.NewString(), filepath.Ext(imgPath), "email-cli")
+ cid := fmt.Sprintf("%s%s@%s", uuid.NewString(), filepath.Ext(imgPath), "matcha")
images[cid] = []byte(base64.StdEncoding.EncodeToString(imgData))
body = strings.Replace(body, imgPath, "cid:"+cid, 1)
}
@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>Email CLI - Your Terminal Email Client</title>
+ <title>Matcha - Your Terminal Email Client</title>
<link rel="stylesheet" href="style.css" />
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
@@ -18,15 +18,15 @@
<header>
<nav>
<a href="/" class="logo">
- <span class="logo-icon">📧</span>
- <span class="logo-text">Email CLI</span>
+ <span class="logo-icon">🍵</span>
+ <span class="logo-text">Matcha</span>
</a>
<div class="nav-links">
<a href="#features">Features</a>
<a href="#installation">Install</a>
<a href="#usage">Usage</a>
<a
- href="https://github.com/andrinoff/email-cli"
+ href="https://github.com/floatpane/matcha"
target="_blank"
class="github-link"
>
@@ -37,7 +37,9 @@
fill="currentColor"
>
<path
- d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"
+ d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.
+12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92
+.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"
/>
</svg>
GitHub
@@ -72,7 +74,7 @@
Download Now
</a>
<a
- href="https://github.com/andrinoff/email-cli"
+ href="https://github.com/floatpane/matcha"
target="_blank"
class="btn btn-secondary"
>
@@ -92,10 +94,10 @@
<span class="terminal-btn yellow"></span>
<span class="terminal-btn green"></span>
</div>
- <span class="terminal-title">email-cli — zsh</span>
+ <span class="terminal-title">matcha — zsh</span>
</div>
<div class="terminal-body">
- <div class="tui-badge">Email CLI</div>
+ <div class="tui-badge">Matcha</div>
<div class="tui-prompt">What would you like to do?</div>
<div class="tui-menu">
<div class="tui-menu-item active">
@@ -124,7 +126,7 @@
<div class="preview-image-container">
<img
src="assets/preview.png"
- alt="Email CLI Preview"
+ alt="Matcha Preview"
class="preview-image"
/>
</div>
@@ -221,20 +223,20 @@
<span class="prompt">~</span>
<span class="command">$</span>
<span class="code-text"
- >brew tap andrinoff/email-cli</span
+ >brew tap floatpane/matcha</span
>
</div>
<div class="code-line">
<span class="prompt">~</span>
<span class="command">$</span>
<span class="code-text"
- >brew install email-cli</span
+ >brew install matcha</span
>
</div>
<div class="code-line">
<span class="prompt">~</span>
<span class="command">$</span>
- <span class="code-text">email-cli</span>
+ <span class="code-text">matcha</span>
</div>
</div>
</div>
@@ -257,7 +259,7 @@
<div class="code-line">
<span class="code-text"
>git clone
- https://github.com/andrinoff/email-cli.git</span
+ https://github.com/floatpane/matcha.git</span
>
</div>
</div>
@@ -277,8 +279,8 @@
<div class="code-body">
<div class="code-line">
<span class="code-text"
- >cd email-cli && go build -o
- email-cli</span
+ >cd matcha && go build -o
+ matcha</span
>
</div>
</div>
@@ -298,7 +300,7 @@
<div class="code-body">
<div class="code-line">
<span class="code-text"
- >./email-cli</span
+ >./matcha</span
>
</div>
</div>
@@ -399,7 +401,7 @@
<p>
For support, please open an issue on the
<a
- href="https://github.com/andrinoff/email-cli/issues"
+ href="https://github.com/floatpane/matcha/issues"
target="_blank"
>GitHub repository</a
>.
@@ -428,22 +430,22 @@
<footer>
<div class="footer-content">
<div class="footer-brand">
- <span class="logo-icon">📧</span>
- <span>Email CLI</span>
+ <span class="logo-icon">🍵</span>
+ <span>Matcha</span>
</div>
<div class="footer-links">
<a
- href="https://github.com/andrinoff/email-cli/blob/main/LICENSE"
+ href="https://github.com/floatpane/matcha/blob/main/LICENSE"
target="_blank"
>MIT License</a
>
<a
- href="https://github.com/andrinoff/email-cli/blob/main/CODE_OF_CONDUCT.md"
+ href="https://github.com/floatpane/matcha/blob/main/CODE_OF_CONDUCT.md"
target="_blank"
>Code of Conduct</a
>
<a
- href="https://github.com/andrinoff/email-cli"
+ href="https://github.com/floatpane/matcha"
target="_blank"
>GitHub</a
>
@@ -1,4 +1,4 @@
-name: email-cli
+name: matcha
base: core22 # The base snap for a modern Ubuntu LTS
version: "0.1" # This will be replaced by GoReleaser or can be set manually
summary: A beautiful and functional email client for your terminal.
@@ -10,14 +10,14 @@ grade: stable # must be 'stable' to release into candidate, stable channels
confinement: strict # use 'strict' confinement for security
apps:
- email-cli:
- command: bin/email-cli
+ matcha:
+ command: bin/matcha
plugs:
- network # Required for network access
- home # To access the user's home directory for config files
parts:
- email-cli:
+ matcha:
plugin: go
source: .
go-importpath: github.com/floatpane/matcha
@@ -70,7 +70,7 @@ func (m Choice) Update(msg tea.Msg) (tea.Model, tea.Cmd) {
func (m Choice) View() string {
var b strings.Builder
- b.WriteString(titleStyle.Render("Email CLI") + "\n\n")
+ b.WriteString(titleStyle.Render("Matcha") + "\n\n")
b.WriteString(listHeader.Render("What would you like to do?"))
b.WriteString("\n\n")