Skip to content

kode4food/toe

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

248 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Thom's Own Editor (toe)

Build Status Code Coverage Maintainability GitHub

toe is a modal terminal editor for Go development. toe edits Go projects, not the universe.

Work in progress. Assume it will lose your edits.

toe screenshot

Super Opinionated

toe is opinionated because it is built for one tight workflow: editing Go projects from a terminal without growing into a general-purpose IDE. It favors modal editing, gopls, TOML config, project-local state, Git-aware navigation, and a small set of deliberate defaults over plugin sprawl or endless knobs.

  • Modal editing: normal, insert, and selection modes; multi-cursor editing; persistent undo history
  • Project navigation: multiple buffers, split views, fuzzy file/buffer pickers, global search, live previews, and an integrated terminal pane
  • Go-focused language tooling: syntax highlighting, LSP completion, hover, signature help, formatting, symbols, code actions, rename, go-to navigation, and diagnostics
  • Editor display: soft wrap, rulers, whitespace rendering, indent guides, gutters, configurable cursor shapes, and statusline elements
  • Version control: git diff gutters, change navigation, reset-diff-change, changed-file picker, and statusline element
  • Project state: workspace trust, user/workspace TOML config, EditorConfig, session persistence, external file change detection, and clean-buffer reloads
  • 4 Catppuccin themes: frappe, latte, macchiato, mocha

Requirements

  • Go 1.26
  • A terminal with ANSI color support
  • A font with Nerd Font glyphs

Build and install

make build    # writes to dist/toe
make install  # installs to $GOPATH/bin

Usage

toe
toe path/to/file.go
toe file1 file2

Configuration

$XDG_CONFIG_HOME/toe/config.toml
$XDG_CONFIG_HOME/toe/languages.toml

Workspace config goes in .toe/config.toml and .toe/languages.toml at the project root.

Workspace config is trust-gated. See docs/content/docs/configuration.md for details.

:workspace_trust
:workspace_untrust

Development

make pre-commit   # run this before committing
make test
make coverage

Acknowledgements

toe is possible because of excellent terminal UI, parsing, syntax highlighting, and theme projects:

About

Thom's Own Editor

Resources

License

Stars

2 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors