Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Comma

A small GNOME editor for CSV, TSV, and other delimited text files. Comma shows a file as a grid of values and saves it back as the same kind of file it opened, leaving every row you did not edit byte for byte as it was.

Values are treated as text and never reinterpreted, so leading zeros survive, long identifiers stay whole, and dates are whatever the file says they are. Comma is not a spreadsheet: there are no formulas, no cell formatting, and no second file format to save into. If you need those, Gnumeric and LibreOffice Calc are excellent and Comma is not trying to replace them.

Comma is a sibling to Apostrophe. Both are named for punctuation, and both edit files whose structure is invisible skeleton rather than content.

Status

Early, and useful. Comma opens a file from the command line, the file manager, or its own dialog; guesses the delimiter, shows you which one it guessed, and lets you correct it in one click; and can be told that the first row is column titles rather than data. Cells are editable, rows and columns can be inserted and deleted, everything can be undone and redone, and saving a file you changed in one place changes that one line and nothing else.

Clicking a column header puts the grid in that order without touching the file; one menu item writes that order down when you want it. Searching hides the rows nothing matched in, so what you are looking at before you replace is exactly what you are about to change.

Export writes what the grid is showing as a PDF, a web page, or an OpenDocument spreadsheet. All three are output: they are never reopened, never offered as Save, and every value goes into them as text, so a leading zero is still a leading zero and a sixteen-digit account number is still itself.

Not written yet: keyboard navigation works but has not been gone over properly, there is no context menu, the icon is a placeholder, and there are no translations yet.

Building

Comma builds with Meson, which drives Cargo for the Rust compilation and handles the desktop entry, AppStream metadata, GSettings schema, icons, and translations. Build dependencies on Debian 13:

sudo apt install meson ninja-build libgtk-4-dev libadwaita-1-dev \
    blueprint-compiler gettext libglib2.0-dev-bin desktop-file-utils appstream

Then configure, build, and install into your home prefix:

meson setup builddir --prefix="$HOME/.local"
ninja -C builddir install

Run it with ~/.local/bin/comma. Installing is not optional — Comma loads its compiled resource bundle and its GSettings schema from the install prefix, so running the binary straight out of the build directory will not work.

ninja -C builddir test validates the desktop entry, the AppStream metainfo, and the GSettings schema.

Meson generates src/config.rs during configuration, so cargo build on its own only works once meson setup has run at least once.

License

MIT. See LICENSE.

Built with the assistance of Claude (Anthropic).

About

A minimal GNOME editor for CSV, TSV, and other delimited text files

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages