Repository navigation
t-code v0.2.1
t-code 0.2.1
The Files panel is now a native folder tree inside the window instead of a terminal file manager, plus temporary tabs, per-project indentation and smarter typing.
Scroll to the very bottom to access the installation files
What's new
Files panel
- A native GTK folder tree (
GtkListView): folders load when opened, git colors and letters, drag and drop (move, copy from outside, drop onto the editor to open) - Create (
a/b.cmakes the folders), rename, delete, cut / copy / paste from the right-click menu - No more
t-code-fmprocess
Tabs
- Temporary tabs like VS Code's preview editor: a click in the Files panel reuses one italic tab until you edit it or double-click it
- A comparison (Compare with HEAD, File History, commits) is one tab with both sides, and closes together
Editor
- Indentation from
.editorconfig,.clang-formator the file itself, shown in the status bar; click it to change it for the whole project - Enter after an opening bracket goes one level deeper (between a pair the closer gets its own line)
- Double click selects a name only (letters, digits,
_) - Selecting a name highlights its other occurrences and marks their lines beside the minimap
- Tab moves between a completed function's parameters
clangd
- "clangd: Restart Language Server" in the Command Palette (also retries a server that gave up)
- A "⚠ No compile flags" hint in the status bar when includes are not found and no
compile_commands.json/compile_flags.txtapplies
Install
x86_64 packages for Fedora 44, Arch Linux, Debian 13 (trixie) and Void Linux (glibc and musl):
sudo dnf install ./t-code-0.2.1-1.fc44.x86_64.rpm # Fedora
sudo pacman -U t-code-0.2.1-1-x86_64.pkg.tar.zst # Arch Linux
sudo apt install ./t-code_0.2.1-1_amd64.deb # DebianVoid Linux (use the x86_64-musl file on musl):
xbps-rindex -a t-code-0.2.1_1.x86_64.xbps
sudo xbps-install --repository="$PWD" t-codeCheck the downloads with sha256sum -c SHA256SUMS. Each package was installed in a fresh container of its distribution and started on a headless X server.
Known issues in t-code 0.2.1
These are known problems in 0.2.1. All of them are planned to be fixed for 0.3.
Saving can overwrite changes made outside t-code
If a file is changed on disk by another program (a git checkout, another editor) while its tab
has unsaved changes, t-code does not reload it, so your edits are not lost. But the next save
(Ctrl+S or autosave) writes over the change on disk without asking.
Workaround: if you change a file outside t-code, save or close its tab in t-code first. A tab
with no unsaved changes reloads the file by itself.
Planned fix: before saving, check whether the file changed on disk, and if it did, ask:
Overwrite / Reload / Compare.
The window can freeze briefly on large repositories
A few git calls still block the window until they finish:
- File History (
Ctrl+Alt+H) and Compare with HEAD (Ctrl+Alt+D), which rungit log --follow - opening or switching a project, which runs
git rev-parse - Quick Open (
Ctrl+P), which lists the project's files
On a small project this cannot be noticed. On a very large repository, or on a network filesystem
(NFS, sshfs), the window can stop responding for a moment.
Planned fix: run these in the background like the Source Control and Search panels already do.
Socket commands break on file names with a line break
Commands sent to $TCODE_SOCKET (open, preview, compare, …) are one per line, so a path
that contains a newline is split into two commands. This only affects scripts that use the
socket; the Files panel does not go through it.
Planned fix: separate commands with \0 (a byte that cannot appear in a path).
Not there yet
- No debugger. Build and Run (
F5) are there, but there are no breakpoints and no way to
inspect variables yet. A GDB integration (through its DAP mode) is planned for 0.3. - One file shows in one place only. A file cannot be open in both editor groups at once
(opening it in the other group moves the tab), so the same file cannot be seen side by side. - No multiple cursors (GtkSourceView 5 does not have them).
Full Changelog: v0.2...v0.2.1