Skip to content

Commit 4471222

Browse files
author
hydepwns
committed
update README
1 parent 2c98e6e commit 4471222

1 file changed

Lines changed: 71 additions & 75 deletions

File tree

README.md

Lines changed: 71 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,45 @@
11
# mona.nvim
22

33
[![CI](https://github.com/hydepwns/mona.nvim/workflows/CI/badge.svg)](https://github.com/hydepwns/mona.nvim/actions)
4+
[![LuaRocks](https://img.shields.io/luarocks/v/hydepwns/mona.nvim?color=blue)](https://luarocks.org/modules/hydepwns/mona.nvim)
45

5-
Enhanced monospaced font management and configuration for Neovim.
6+
Enhanced Monaspace font management for Neovim with automated installation, preview, and terminal config generation.
67

7-
>Monaspace is a next-generation font family from GitHub Next, designed for code: ligatures, texture healing, and beautiful style mixing. [Learn more](https://github.com/githubnext/monaspace)
8+
> Monaspace is a next-generation font family from GitHub Next, designed for code with ligatures, texture healing, and beautiful style mixing. [Learn more](https://github.com/githubnext/monaspace)
89
9-
**💡 tldr; Want to see the fonts side by side?** Visit [monaspace.githubnext.com](https://monaspace.githubnext.com/) for an interactive font preview!
10+
**💡 Preview fonts:** [monaspace.githubnext.com](https://monaspace.githubnext.com/)
11+
**📦 Install:** `luarocks install mona.nvim`
12+
13+
## Quick Start
14+
15+
```bash
16+
# Install plugin
17+
luarocks install mona.nvim
18+
19+
# In Neovim
20+
:MonaInstall variable all # Install fonts
21+
:MonaPreview # Preview fonts
22+
:MonaStatus # Check status
23+
```
1024

1125
## Features
1226

13-
- **Automated Font Installation**: Install Monaspace fonts directly from Neovim
14-
- **Font Feature Configuration**: Control texture healing, ligatures, and character variants
15-
- **Terminal Configuration Generator**: Generate configs for Alacritty, Kitty, WezTerm, and Ghostty
16-
- **Font Preview System**: Preview different font combinations
17-
- **Health Check System**: Diagnose installation and configuration issues
18-
- **Cross-platform Support**: Works on macOS, Linux, and Windows
27+
- **Automated Font Installation** - Install Monaspace fonts directly from Neovim
28+
- **Font Preview System** - Preview different font combinations side-by-side
29+
- **Terminal Config Generator** - Generate configs for Alacritty, Kitty, WezTerm, Ghostty
30+
- **Font Feature Control** - Texture healing, ligatures, character variants
31+
- **Health Check System** - Diagnose installation and configuration issues
32+
- **Cross-platform** - macOS, Linux, Windows
1933

2034
## Installation
2135

22-
### Using lazy.nvim
36+
### LuaRocks
37+
38+
```bash
39+
luarocks install mona.nvim
40+
```
41+
42+
### lazy.nvim
2343

2444
```lua
2545
{
@@ -42,7 +62,7 @@ Enhanced monospaced font management and configuration for Neovim.
4262
}
4363
```
4464

45-
### Using packer
65+
### packer
4666

4767
```lua
4868
use {
@@ -54,37 +74,28 @@ use {
5474
}
5575
```
5676

57-
## Quick Start
58-
59-
1. **Install plugin** using your preferred package manager
60-
2. **Install fonts**: `:MonaInstall variable all`
61-
3. **Check status**: `:MonaStatus`
62-
4. **Preview fonts**: `:MonaPreview`
63-
5. **Generate config**: `:MonaExportConfig alacritty ~/.config/alacritty/fonts.toml`
64-
6577
## Commands
6678

67-
### Font Management
68-
69-
- `:MonaInstall [type] [families]` - Install fonts (`type`: otf/variable/frozen, `families`: all or neon,argon,xenon)
70-
- `:MonaUpdate` - Update fonts to latest version
71-
- `:MonaUninstall [families]` - Remove fonts
72-
- `:MonaStatus` - Show installation status
73-
74-
### Configuration
75-
76-
- `:MonaPreview` - Show font preview window
77-
- `:MonaExportConfig <terminal> [filepath]` - Generate terminal config (alacritty/kitty/wezterm/ghostty)
78-
- `:MonaLoad` - Load default font style mappings
79-
- `:MonaHealth` - Run health check diagnostics
79+
| Command | Description |
80+
|---------|-------------|
81+
| `:MonaInstall [type] [families]` | Install fonts (`type`: otf/variable/frozen, `families`: all or neon,argon,xenon) |
82+
| `:MonaUpdate` | Update fonts to latest version |
83+
| `:MonaUninstall [families]` | Remove fonts |
84+
| `:MonaStatus` | Show installation status |
85+
| `:MonaPreview` | Show font preview window |
86+
| `:MonaExportConfig <terminal> [filepath]` | Generate terminal config (alacritty/kitty/wezterm/ghostty) |
87+
| `:MonaLoad` | Load default font style mappings |
88+
| `:MonaHealth` | Run health check diagnostics |
8089

8190
## Key Mappings
8291

83-
- `<leader>mf` - Open font preview (`:MonaPreview`)
92+
- `<leader>mf` - Font preview (`:MonaPreview`)
8493
- `<leader>mi` - Install fonts (`:MonaInstall`)
8594
- `<leader>ms` - Show status (`:MonaStatus`)
8695
- `<leader>mh` - Health check (`:MonaHealth`)
8796

97+
## Configuration
98+
8899
### Font Features
89100

90101
```lua
@@ -157,44 +168,13 @@ require("mona").setup({
157168

158169
## Font Families
159170

160-
- **Neon** - Monospace (default)
161-
- **Argon** - Monospace with rounded corners
162-
- **Xenon** - Slab serif
163-
- **Radon** - Handwritten style
164-
- **Krypton** - Display style
165-
166-
**🎨 See all fonts in action:** [monaspace.githubnext.com](https://monaspace.githubnext.com/)
167-
168-
## CI/CD
169-
170-
This project uses GitHub Actions for continuous integration:
171-
172-
- **Multi-version testing**: Lua 5.1-5.4 and Neovim 0.9.0, 0.10.0, nightly
173-
- **Linting**: Automated code quality checks with luacheck
174-
- **Automated releases**: Tag-based releases with changelog generation
175-
176-
## Testing
177-
178-
```bash
179-
# Quick Validation
180-
lua validate.lua
181-
182-
# Optional entrypoints
183-
# Unit tests
184-
lua test/test_config.lua
185-
lua test/test_utils.lua
186-
lua test/test_highlights.lua
187-
# Integration tests
188-
nvim --headless -u test/minimal_init.lua -c "lua require('plenary.busted').run('test/plugin')"
189-
# Run all tests
190-
make test
191-
# Individual test types
192-
make test-unit # Unit tests only
193-
make test-integration # Integration tests only
194-
make validate # Validation script
195-
196-
make clean # Clean test artifacts
197-
```
171+
| Family | Style | Use Case |
172+
|--------|-------|----------|
173+
| **Neon** | Monospace | Default coding |
174+
| **Argon** | Monospace (rounded) | Softer appearance |
175+
| **Xenon** | Slab serif | Bold emphasis |
176+
| **Radon** | Handwritten | Italic emphasis |
177+
| **Krypton** | Display | Headers/titles |
198178

199179
## Troubleshooting
200180

@@ -203,15 +183,31 @@ make clean # Clean test artifacts
203183
Run `:MonaHealth` or `lua validate.lua` to diagnose:
204184

205185
- Font installation status
206-
- Terminal compatibility
186+
- Terminal compatibility
207187
- Required tools availability
208188
- Configuration validation
209189

210190
### Common Issues
211191

212-
1. **Fonts not showing**: Run `:MonaInstall`
213-
2. **Terminal not supported**: Check `:MonaHealth`
214-
3. **Font features not working**: Ensure GUI Neovim for full support
192+
1. **Fonts not showing** → Run `:MonaInstall`
193+
2. **Terminal not supported** → Check `:MonaHealth`
194+
3. **Font features not working** → Ensure GUI Neovim
195+
196+
## Development
197+
198+
```bash
199+
# Quick validation
200+
lua validate.lua
201+
202+
# Run tests
203+
make test
204+
205+
# Individual test types
206+
make test-unit # Unit tests
207+
make test-integration # Integration tests
208+
make validate # Validation script
209+
make clean # Clean artifacts
210+
```
215211

216212
## License
217213

0 commit comments

Comments
 (0)