internal/

directory
v0.0.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 5, 2026 License: MIT

Directories

Path Synopsis
Package clipboard writes text to the operating system clipboard, choosing between a native helper command (pbcopy and friends) and the OSC 52 terminal escape sequence.
Package clipboard writes text to the operating system clipboard, choosing between a native helper command (pbcopy and friends) and the OSC 52 terminal escape sequence.
Package config parses nib's user config file: a flat, hand-editable text format (in the spirit of Ghostty's config, not TOML/YAML), letting the user override nib's defaults without recompiling.
Package config parses nib's user config file: a flat, hand-editable text format (in the spirit of Ghostty's config, not TOML/YAML), letting the user override nib's defaults without recompiling.
Package debuglog is a small in-process ring buffer that any package can append messages to via Debug/Info/Warn/Error, without importing the UI layer.
Package debuglog is a small in-process ring buffer that any package can append messages to via Debug/Info/Warn/Error, without importing the UI layer.
Package lsp is a minimal Language Server Protocol client: it spawns language server subprocesses and speaks LSP's JSON-RPC dialect to them, so the editor can offer real semantic features (diagnostics, go to definition) instead of only the syntax-level approximations tree-sitter can provide.
Package lsp is a minimal Language Server Protocol client: it spawns language server subprocesses and speaks LSP's JSON-RPC dialect to them, so the editor can offer real semantic features (diagnostics, go to definition) instead of only the syntax-level approximations tree-sitter can provide.
Package memwatch periodically samples nib's own memory use and reports when it crosses a threshold, so a caller can offer to do something about it (e.g.
Package memwatch periodically samples nib's own memory use and reports when it crosses a threshold, so a caller can offer to do something about it (e.g.
Package textfile owns charset and line-ending detection/conversion at the boundary between a file's on-disk bytes and nib's in-memory, always-UTF-8-with-LF representation — the same split internal/textwidth makes for display-width math.
Package textfile owns charset and line-ending detection/conversion at the boundary between a file's on-disk bytes and nib's in-memory, always-UTF-8-with-LF representation — the same split internal/textwidth makes for display-width math.
Package textwidth is the shared display-column math for anything that renders text into a fixed-width terminal cell grid: tab expansion, rune-width-aware slicing (so a double-width CJK/emoji glyph is never split in half at a viewport boundary), and clamping a horizontal scroll offset to what a given line of text actually needs.
Package textwidth is the shared display-column math for anything that renders text into a fixed-width terminal cell grid: tab expansion, rune-width-aware slicing (so a double-width CJK/emoji glyph is never split in half at a viewport boundary), and clamping a horizontal scroll offset to what a given line of text actually needs.
Package theme maps nib's semantic UI/syntax roles (e.g.
Package theme maps nib's semantic UI/syntax roles (e.g.
ui
Package ui is the single seam where the terminal-independent layout package meets the real terminal (vaxis).
Package ui is the single seam where the terminal-independent layout package meets the real terminal (vaxis).
debug
Package debug is a read-only pane that renders debuglog's ring buffer — meant to be shown as a modal overlay (see ui.App.ShowOverlay/CloseOverlay) so a message logged anywhere in the codebase via debuglog.Debug/Info/ Warn/Error can be inspected without a separate terminal or log file.
Package debug is a read-only pane that renders debuglog's ring buffer — meant to be shown as a modal overlay (see ui.App.ShowOverlay/CloseOverlay) so a message logged anywhere in the codebase via debuglog.Debug/Info/ Warn/Error can be inspected without a separate terminal or log file.
diffview
Package diffview is a read-only pane that renders a unified diff — meant to be shown as a modal overlay (see ui.App.ShowOverlay/CloseOverlay) so "what have I changed in this file?" can be answered without leaving nib for a shell.
Package diffview is a read-only pane that renders a unified diff — meant to be shown as a modal overlay (see ui.App.ShowOverlay/CloseOverlay) so "what have I changed in this file?" can be answered without leaving nib for a shell.
filetree
Package filetree implements the file-tree pane: a lazily-loaded directory tree, flattened to a row slice for O(1) scroll/click indexing, with git-status markers.
Package filetree implements the file-tree pane: a lazily-loaded directory tree, flattened to a row slice for O(1) scroll/click indexing, with git-status markers.
finder
Package finder is a fuzzy file finder meant to be shown as a modal overlay (see ui.App.ShowOverlay/CloseOverlay).
Package finder is a fuzzy file finder meant to be shown as a modal overlay (see ui.App.ShowOverlay/CloseOverlay).
gitstyle
Package gitstyle is the shared presentation for git status — file-level (a single-letter marker and a Style, used by the file tree and fuzzy finder) and line-level (a gutter glyph and a Style, used by the editor) — so a status renders identically wherever it shows up.
Package gitstyle is the shared presentation for git status — file-level (a single-letter marker and a Style, used by the file tree and fuzzy finder) and line-level (a gutter glyph and a Style, used by the editor) — so a status renders identically wherever it shows up.
help
Package help is a read-only pane listing every keybinding in the app plus the current version — meant to be shown as a modal overlay (see ui.App.ShowOverlay/CloseOverlay), the same pattern internal/ui/debug uses for the debug log.
Package help is a read-only pane listing every keybinding in the app plus the current version — meant to be shown as a modal overlay (see ui.App.ShowOverlay/CloseOverlay), the same pattern internal/ui/debug uses for the debug log.
memprompt
Package memprompt is a small modal offering to close whichever open file is using the most memory, shown when internal/memwatch reports nib's own heap crossing a threshold.
Package memprompt is a small modal offering to close whichever open file is using the most memory, shown when internal/memwatch reports nib's own heap crossing a threshold.
quitconfirm
Package quitconfirm is a small modal shown on every quit attempt, as a safety net against an accidental Ctrl+C — with details on what unsaved work is at stake whenever there is any.
Package quitconfirm is a small modal shown on every quit attempt, as a safety net against an accidental Ctrl+C — with details on what unsaved work is at stake whenever there is any.
statusbar
Package statusbar is a single-line, full-width pane meant to sit at the bottom of the window tree (a Fixed(1) leaf) and display information pulled from other panes — e.g.
Package statusbar is a single-line, full-width pane meant to sit at the bottom of the window tree (a Fixed(1) leaf) and display information pulled from other panes — e.g.
vcs
gitblame
Package gitblame shells out to `git blame` to answer "who last touched this line, and why" for a single line at a time — the granularity the editor's blame popup needs (see editor.View's show_blame action).
Package gitblame shells out to `git blame` to answer "who last touched this line, and why" for a single line at a time — the granularity the editor's blame popup needs (see editor.View's show_blame action).
gitstatus
Package gitstatus shells out to git to compute per-file status and rolls it up to directories, for the file tree's status markers.
Package gitstatus shells out to git to compute per-file status and rolls it up to directories, for the file tree's status markers.
watch
Package watch wraps fsnotify to deliver a single debounced refresh signal for a project tree, distinguishing "the git index/HEAD changed" (re-run git status) from "some other file changed" (re-scan the file tree).
Package watch wraps fsnotify to deliver a single debounced refresh signal for a project tree, distinguishing "the git index/HEAD changed" (re-run git status) from "some other file changed" (re-scan the file tree).
Package version holds nib's build version.
Package version holds nib's build version.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL