# glint A modeless terminal markdown editor with live styling — a [Bubble Tea][bubbletea] TUI built for a notes vault. Type in a centered iA-Writer-style writing canvas with soft-wrapping and live markdown coloring, flip to a [Glamour][glamour] read preview, fuzzy-find notes with a live preview pane, and theme it to match your terminal (Flexoki light/dark + charm). Open any file, jump to today's daily note, or start a fresh document from anywhere. ## Install ```sh brew tap humdrum/tap https://codex.humdrum.me/git/homebrew-tap.git brew trust humdrum/tap # Homebrew gates third-party taps brew install glint ``` Upgrade later: ```sh brew update && brew upgrade glint ``` ## Usage ```bash glint # fuzzy picker over the current directory glint notes.md # open a file glint -n [name] # new note in the current dir (-n -i → inbox, -n -v → vault) glint -t # today's daily note glint -d # browse the daily-notes folder glint -v # fuzzy picker over your vault, from anywhere glint -i # fuzzy picker over your inbox glint -c # interactive config walkthrough glint -h # help: all commands and keys glint --version # print version ``` Every command flag accepts a short letter or the full word, with one or two dashes: `-n` / `--n` / `-new` / `--new`, `-t` / `--today`, `-v` / `--vault`, etc. ### Keys | Key | Action | | --- | --- | | type / arrows / `Enter` / `Backspace` / `Del` | edit and move (Up/Down move by visual line) | | `Enter` on a list item | continue the list (`-`/`*`/`+`, `N.`/`N)`, `- [ ]` checkboxes; numbers increment); empty item exits the list | | `Tab` / `Shift+Tab` | indent / outdent the current list item | | mouse click | move the cursor | | mouse wheel | scroll the view | | `Home` / `End` | start / end of line | | `Shift`+arrows · `Shift+Home/End` | select text (`Ctrl+Shift+←/→` selects by word) | | `Ctrl+C` / `Ctrl+X` / `Ctrl+V` | copy / cut / paste (system clipboard) | | `Alt+s` / `Alt+i` / `Alt+c` / `Alt+k` | wrap the selection: **bold** `**` · _italic_ `_` · `code` `` ` `` · link `[sel]()` (toggles off if already wrapped; no selection inserts the empty pair) | | type `*` `_` `` ` `` `[` `(` `{` `<` `"` `'` with a selection | surround the selection with that punctuation (repeat to nest, e.g. `*`→`**` for bold) | | `Alt+←` / `Alt+→` | move by word (also `Alt+b` / `Alt+f`) | | `Alt+Backspace` / `Ctrl+W` | delete the word before the cursor (`Alt+d` deletes the word after) | | `Ctrl+U` / `Ctrl+K` | delete to start / end of line | | `Ctrl+Z` / `Ctrl+Y` | undo / redo | | `Ctrl+S` | save (an unnamed buffer prompts for a name → inbox) | | `Ctrl+P` | toggle the Glamour read preview | | `Ctrl+F` | fuzzy file picker (with live preview) | | `Ctrl+G` | find in document (`Enter`/`↓` next, `Shift+Tab`/`↑` prev, `Esc` close) | | `Ctrl+D` | today's daily note | | `Ctrl+N` | new note in the current directory (a typed picker query becomes its name) | | `Ctrl+B` | new note in the inbox | | `Ctrl+T` | cycle theme (flexoki-light → flexoki-dark → charm) | | `Ctrl+Q` | quit (press twice if there are unsaved changes) | | `Esc` | clear the selection, or close find / back to the editor | ## Configuration Run `glint -c` for an interactive walkthrough that writes the file for you (no hand-editing, daily-format presets instead of raw Go layouts). The settings live in `~/.config/glint/config.toml` (all keys optional): ```toml vault_dir = "" # the vault `glint -v` opens from anywhere (e.g. "~/Notes"); unset = current dir inbox_dir = "" # where `glint -n -i` / save-as land; "" = working dir, relative = under it daily_subdir = "Daily" # daily notes live in // (absolute path used as-is) daily_format = "2006-01-02" # Go time layout for daily-note filenames theme = "auto" # auto | flexoki-light | flexoki-dark | charm (auto detects macOS appearance) glamour_style = "" # override the preview style; "" follows the theme ``` **Two roots.** Bare `glint`, `glint -n`, and `-d` operate on the **working directory** — the folder you launched from (or `$GLINT_VAULT` if set), so glint works in whatever repo you're in. **`glint -v`** opens the picker on your **configured `vault_dir`** from anywhere — set it to your notes vault to reach it without `cd`-ing there. ## Themes Three palettes, every span explicitly colored so text stays readable on light and dark terminals: **flexoki-light**, **flexoki-dark**, and **charm**. `auto` picks light or dark from the macOS system appearance; `Ctrl+T` cycles live. The read preview and the whole canvas background follow the active theme. ## License glint — Copyright (C) 2026 humdrum-tiv. Free software under the [GNU Affero General Public License v3.0](LICENSE) (or, at your option, any later version). You may use, study, share, and modify it; any distributed derivative — **or modified version offered to users over a network** — must also be AGPL-licensed with source available. It comes with **no warranty**. See [LICENSE](LICENSE) for the full terms. [bubbletea]: https://github.com/charmbracelet/bubbletea [glamour]: https://github.com/charmbracelet/glamour