Home
Softono
Tomo

Tomo

Open source MIT C
78
Stars
7
Forks
3
Issues
3
Watchers
7 months
Last Commit

About Tomo

A lightweight and beginner-friendly terminal code editor

Platforms

Web Self-hosted

Languages

C

Links

Tomo

GitHub Release GitHub License

Tomo is a terminal-based code editor focused on simplicity and working out of the box without any configuration. Inspired by the lightweight feel of Helix and the intuitiveness of VS Code, it uses ncurses for terminal UI and tree-sitter for syntax highlighting.

Image of Tomo code editor in action:

Screenshot

Features

  • Syntax highlighting
  • Smart indentation
  • Custom themes
  • Command palette
  • Undo changes
  • Open directories

Themes

Tomo supports custom themes. Place your theme files in ~/.config/tomo/themes directory.

Theme file format

Each theme is an .ini file with the following format:

default = "#d0d0d0"
keyword = "#ff5555"
type = "#87cefa"
custom_type = "#ffa500"
string = "#98fb98"
number = "#f0e68c"
char = "#98fb98"
function = "#dda0dd"
identifier = "#b0c4de"
preprocessor = "#7fffd4"
comment = "#808080"
unactive = "#555555"
status_bar_bg = "#202020"
status_bar_text = "#d0d0d0"
background = "#121212"
select = "#333333"
  • Colors should be in hexadecimal format (#RRGGBB).
  • default - text default color
  • keyword - programming language keywords
  • type - built-in types (like int, float)
  • custom_type - user-defined types (like structs, classes)
  • string - string literals
  • number - numeric literals
  • char - character literals
  • function - function names
  • identifier - variable and parameter names
  • preprocessor - preprocessor directives (C/C++)
  • comment - Comments
  • unactive - Unactive line numbers
  • status_bar_bg - status bar background
  • status_bar_text - status bar text color
  • background - editor background
  • select - selected text background

Shortcuts

  • Ctrl + C - Copy selected text
  • Ctrl + V - Paste selected text
  • Ctrl + X - Cut selected text
  • Ctrl + Z - Undo changes
  • Ctrl + G - Go to line
  • Ctrl + Q - Quit the editor
  • Ctrl + S - Save the file
  • Ctrl + E - Open directory
  • Ctrl + T - Change theme
  • Ctrl + P - Open command palette
  • Arrow keys - Move cursor
  • Arrow keys + Shift - Start text selection

Installation

git clone https://github.com/Dasdron15/Tomo.git
cd <path/to/tomo>
make
sudo make install

make builds the editor and sudo make install installs it system-wide

Usage

tomo <path/to/project>

Planned features

  • config file support
  • Mouse support
  • Syntax highlighting for more languages
  • Auto-completion
  • Vim mode

Contribution

Contributions, bug reports and feature requests are welcome!