MCPcopy Index your code
hub / github.com/Cogitri/Tau

github.com/Cogitri/Tau @v0.11.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.11.3 ↗ · + Follow
187 symbols 327 edges 23 files 107 documented · 57%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Tau logo

Tau

Gitlab CI status CII Best Practices Tau Packaging Status

GTK frontend, written in Rust, for the xi editor. Previously called gxi, development now continues under the name "Tau".

screenshot

Installation

Ubuntu >= 19.10, Debian >= Unstable, Fedora >= 31 and OpenSUSE Tumbleweed

See https://software.opensuse.org/package/tau for binary packages of Tau. See https://build.opensuse.org/package/show/home:Cogitri/Tau for the source files of the packages.

Arch Linux

You can install binary releases of tau by adding this to your /etc/pacman.conf:

[home_Cogitri_Arch_Community_standard]
SigLevel = Never
Server = https://download.opensuse.org/repositories/home:/Cogitri/Arch_Community_standard/$arch

Afterwards run pacman -Syu tau-editor. Alternatively you can install Tau as tau-editor-git from the AUR as per standard procedure.

Void Linux

xbps-install -Syu tau

Alpine Linux

apk add tau

Flatpak

See the instructions on https://flathub.org/apps/details/org.gnome.Tau

Contributing

Clone the repo and its submodules:

git clone --recurse-submodules https://gitlab.gnome.org/World/tau

You need the following dependencies installed:

* Cairo >= 1.16
* GDK-Pixbuf-2.0
* GLib-2.0 >= 2.36
* GTK+3 >= 3.20
* Pango >= 1.38
* Rust >= 1.36 # required for one of our deps

You can enable optional functionality with the libhandy meson switch, like a more compact settings menu. You need the following dependencies installed for that:

* libhandy >= 0.10
* GTK+3 >= 3.24.1

Now installing Tau should be as easy as doing:

meson --prefix=/usr/local -Dprofile=development build
ninja -C build
sudo ninja -C build install

During development you can quickly test Tau with the following command:

ninja -C build run

You can run tests with:

ninja -C build test

But be mindful that those currently require the source-code-pro font to be installed.

Docs

Please see the documentation in Tau's source files for further information as to how Tau works. gtk-rs' site offers documentation and examples about how gtk-rs works.

Translating

Visit GNOME's Damned Lies Platform to translate Tau.

Installation on Windows

The following should give you a usable Tau binary:

0) Install Rust by visiting https://rustup.rs. After running the exe press 2 (right after you see the terminal of rustup-init.exe) to customize the settings and enter x86_64-pc-windows-gnu as default triplet (notice the gnu instead of msvc) 1) Go to https://www.msys2.org/ and download the appropriate installer (usually x86_64) 2) Go into your start menu and open the MSYS terminal 3) Enter pacman -S mingw-w64-x86_64-toolchain mingw-w64-x86_64-gtk3 git in the terminal 4) Open the MinGW64 terminal from your start menu. Do echo 'PATH="/c/Users/${USER}/.cargo/bin:${PATH}"' >> .bash_profile 5) Reload the just made changes with source .bash_profile. Then clone Tau: git clone https://gitlab.gnome.org/World/tau. 6) cd tau && cargo run <- This should produce a debug build for you and run it.

Extension points exported contracts — how you extend this code

MainWinExt (Interface)
An Extension trait for `MainWin`. This is implemented for `Rc `, allowing for a nicer API (where we can do stuff [1 implementers]
src/tau/src/main_win.rs
ViewHistoryExt (Interface)
Extension trait for `ViewHistory` [1 implementers]
src/tau/src/view_history.rs
SessionHandler (Interface)
(no doc) [1 implementers]
src/tau/src/session.rs

Core symbols most depended-on inside this repo

do_copy_primary
called by 19
src/editview/src/edit_view.rs
set_source_color
called by 10
src/editview/src/theme.rs
replace
called by 10
src/editview/src/edit_view.rs
get_pango_ctx
called by 9
src/editview/src/view_item.rs
get_current_edit_view
called by 8
src/tau/src/main_win.rs
get_line
called by 8
src/tau-linecache/src/linecache.rs
save
called by 6
src/tau/src/main_win.rs
replace
called by 6
src/tau/src/main_win.rs

Shape

Method 128
Class 30
Function 22
Enum 4
Interface 3

Languages

Rust100%

Modules by API surface

src/editview/src/edit_view.rs50 symbols
src/tau/src/main_win.rs48 symbols
src/editview/src/draw_invisible.rs12 symbols
src/tau/src/view_history.rs11 symbols
src/editview/src/view_item.rs11 symbols
src/tau-linecache/src/linecache.rs10 symbols
src/tau/src/frontend.rs7 symbols
src/editview/src/theme.rs6 symbols
src/tau/src/session.rs4 symbols
src/tau/src/functions.rs4 symbols
src/tau/src/errors.rs4 symbols
src/editview/src/fonts.rs4 symbols

For agents

$ claude mcp add Tau \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact