Skip to content

Hackable modal text editor for modern terminals

License

ivanjermakov/hat

Repository files navigation

Hat

Hat is a hackable modal text editor for modern terminals.

Screenshot select Screenshot select
Screenshot completion Screenshot diagnostics

Features

Core functionality

  • Modal text editing
    • Normal, select, select line, and insert modes
    • Basic motions (vim's e y o p a d D f c C b ^ $ 0 = J gJ * # etc.)
    • Unlimited undo/redo
    • System clipboard copy & paste (using xclip)
    • Find in buffer
  • Text automation
    • Run external command on selection
    • Dot repeat last change
    • Multi repeat
    • Macros
  • Tree-sitter syntax awareness
    • Syntax highlighting (24 bit color)
    • Indent alignment
  • LSP support
    • Go to definition
    • Find references
    • Diagnostics
    • Completions w/ documentation
    • Hover
    • Rename
  • Multi buffer
    • Buffer management
    • Find file
    • Find in files
  • Scratch buffers
  • Unicode support
  • --printer mode

Functionality available in patches

Done Name Link
✔️ LSP highlight patch/lsp-highlight
✔️ LSP code action patch/lsp-code-action
✔️ LSP formatting patch/lsp-formatting
✔️ Git hunk markers patch/git-signs
✔️ Tree-sitter symbol picker patch/ts-symbol-picker
✔️ Buffer centering patch/buffer-centering
✔️ Autosave patch/autosave
✔️ Relative line numbers patch/relative-number
✔️ Auto-indent patch/auto-indent
🚧 Windows support
🚧 MacOS support
🚧 Wayland support
🚧 Persistent undo
🚧 Persistent macros
🚧 Surround actions
🚧 Case actions
🚧 Marks
🚧 Comments
🚧 List mode (fill chars)

Philosophy

Software is:

  • doing not more and not less than what the user needs
    • Every feature is implemented in the most simple and straightforward form: keep it simple, fast, and clear
  • made for users capable of reading and customizing its source code
    • Source code can be read by users in one evening
    • External configuration is not necessary and discouraged
    • User manual documentation is not necessary, hacking documentation is encouraged (via HACKING.md)
  • distributed as source code, compiled by the user
  • not meant to be developed forever and its final state should be described by its feature set from the beginning
  • extended either by the user directly, or by applying source code patches distributed as diff files
    • It is encouraged to share your extensions with others who can find it useful

See Hackable software for details.

Build, install, usage, configuration

See HACKING.md.

Contributing

See CONTRIBUTING.md.

About

Hackable modal text editor for modern terminals

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Languages