turbo-editors/turbo-rustpublic Fork 0
v1.0.1
Commits
Clone
git clone https://git.rickub.com/turbo-editors/turbo-rust.git
git clone ssh://git@rickub.com/turbo-editors/turbo-rust.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

📦 Turbo Rust 713ea5c · on v1.0.1 · k33g · 9h ago
cli.md · 100 lines · 4.2 KBmarkdown
Blame HistoryOpen raw

Reference: command line

Neutral description of the turbo-rust command, its flags, and the environment it reads.

Synopsis

turbo-rust [flags] [file...]

Each file is opened in its own window. A file that does not exist yet is opened as an empty buffer bound to that path. With no file at all, one empty untitled window is opened.

Flags

Flag Type Default Description
-theme <name> string the project's, else turbo-classic Theme to start with, overriding the project's own. An unknown name falls back to the default without an error.
-list-themes bool false Print every loadable theme with its description, then the user theme directory, and exit.
-no-lsp bool false Do not start a language server. Colouring and editing are unaffected.
-version bool false Print Turbo Rust <version> on one line, with the commit and build date when the build recorded them, and exit. See the version number.
-h, -help bool false Print the flag list and exit.

Environment

Variable Read by Effect
TURBO_RUST_THEME_DIR theme loading Directory to read user themes from, instead of the platform configuration directory.
TERM tcell Which terminal description to use.
GOBIN, GOPATH, HOME rust-analyzer lookup Searched, in that order, when rust-analyzer is not on PATH.

Files

Path Purpose
$TURBO_RUST_THEME_DIR/*.toml User themes, when the variable is set.
./.turbo-rust/settings.toml This project's settings, read once at start-up. See project settings.
~/.config/turbo-rust/themes/*.toml User themes on Linux (os.UserConfigDir).
~/Library/Application Support/turbo-rust/themes/*.toml User themes on macOS.
<module>/Cargo.toml Located by walking up from the first file; its directory becomes the language server's root.

Exit status

Status Meaning
0 The editor exited normally, or an informational flag was used.
1 The terminal could not be opened or initialised. The reason is printed to standard error.

Make targets

Run from a checkout.

Target What it runs
make help List the targets. This is the default.
make test cargo test
make test-verbose go test -v ./...
make cover go test -cover ./...
make build go build -o bin/turbo-rust .
make install scripts/install.sh — build and install onto your PATH
make uninstall scripts/install.sh --uninstall
make run FILE=x.go make build, then ./bin/turbo-rust x.go
make fmt go fmt ./...
make vet cargo clippy --all-targets
make check fmt, then vet, then test
make clean Remove bin/

Examples

turbo-rust                              # one empty window
turbo-rust main.rs Cargo.toml               # two windows
turbo-rust -theme turbo-dark main.rs    # a different theme
turbo-rust -no-lsp main.rs              # no language server
turbo-rust -list-themes                 # what themes exist

Installer

scripts/install.sh, also reachable as make install.

Option Description
-p, --prefix DIR Install into DIR instead of $GOBIN or $GOPATH/bin.
--with-rust-analyzer Install rust-analyzer as well, if it is not already there.
--uninstall Remove an installed turbo-rust and stop.
-h, --help Print the options and stop.
Exit status Meaning
0 Installed, removed, or help printed.
1 Go missing or too old, the build failed, or the destination could not be written. Nothing is installed and an existing installation is left untouched.

Errors

Message Cause
turbo-rust: opening the terminal: … tcell could not open the terminal; usually TERM is unset or unknown.
turbo-rust: initialising the terminal: … The terminal was opened but could not be put into raw mode.
Cannot open (in a dialog) The path is a directory, or is not readable.
Cannot save (in a dialog) The directory does not exist, or is not writable.
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
# Reference: command line

> Neutral description of the `turbo-rust` command, its flags, and the environment it reads.

## Synopsis

```
turbo-rust [flags] [file...]
```

Each `file` is opened in its own window. A file that does not exist yet is opened as an empty buffer bound to that path. With no file at all, one empty untitled window is opened.

## Flags

| Flag | Type | Default | Description |
| --- | --- | --- | --- |
| `-theme <name>` | string | the project's, else `turbo-classic` | Theme to start with, overriding the project's own. An unknown name falls back to the default without an error. |
| `-list-themes` | bool | `false` | Print every loadable theme with its description, then the user theme directory, and exit. |
| `-no-lsp` | bool | `false` | Do not start a language server. Colouring and editing are unaffected. |
| `-version` | bool | `false` | Print `Turbo Rust <version>` on one line, with the commit and build date when the build recorded them, and exit. See [the version number](versioning.md). |
| `-h`, `-help` | bool | `false` | Print the flag list and exit. |

## Environment

| Variable | Read by | Effect |
| --- | --- | --- |
| `TURBO_RUST_THEME_DIR` | theme loading | Directory to read user themes from, instead of the platform configuration directory. |
| `TERM` | tcell | Which terminal description to use. |
| `GOBIN`, `GOPATH`, `HOME` | rust-analyzer lookup | Searched, in that order, when `rust-analyzer` is not on `PATH`. |

## Files

| Path | Purpose |
| --- | --- |
| `$TURBO_RUST_THEME_DIR/*.toml` | User themes, when the variable is set. |
| `./.turbo-rust/settings.toml` | This project's settings, read once at start-up. See [project settings](project-settings.md). |
| `~/.config/turbo-rust/themes/*.toml` | User themes on Linux (`os.UserConfigDir`). |
| `~/Library/Application Support/turbo-rust/themes/*.toml` | User themes on macOS. |
| `<module>/Cargo.toml` | Located by walking up from the first file; its directory becomes the language server's root. |

## Exit status

| Status | Meaning |
| --- | --- |
| `0` | The editor exited normally, or an informational flag was used. |
| `1` | The terminal could not be opened or initialised. The reason is printed to standard error. |

## Make targets

Run from a checkout.

| Target | What it runs |
| --- | --- |
| `make help` | List the targets. This is the default. |
| `make test` | `cargo test` |
| `make test-verbose` | `go test -v ./...` |
| `make cover` | `go test -cover ./...` |
| `make build` | `go build -o bin/turbo-rust .` |
| `make install` | `scripts/install.sh` — build and install onto your PATH |
| `make uninstall` | `scripts/install.sh --uninstall` |
| `make run FILE=x.go` | `make build`, then `./bin/turbo-rust x.go` |
| `make fmt` | `go fmt ./...` |
| `make vet` | `cargo clippy --all-targets` |
| `make check` | `fmt`, then `vet`, then `test` |
| `make clean` | Remove `bin/` |

## Examples

```bash
turbo-rust                              # one empty window
turbo-rust main.rs Cargo.toml               # two windows
turbo-rust -theme turbo-dark main.rs    # a different theme
turbo-rust -no-lsp main.rs              # no language server
turbo-rust -list-themes                 # what themes exist
```

## Installer

`scripts/install.sh`, also reachable as `make install`.

| Option | Description |
| --- | --- |
| `-p`, `--prefix DIR` | Install into `DIR` instead of `$GOBIN` or `$GOPATH/bin`. |
| `--with-rust-analyzer` | Install `rust-analyzer` as well, if it is not already there. |
| `--uninstall` | Remove an installed `turbo-rust` and stop. |
| `-h`, `--help` | Print the options and stop. |

| Exit status | Meaning |
| --- | --- |
| `0` | Installed, removed, or help printed. |
| `1` | Go missing or too old, the build failed, or the destination could not be written. Nothing is installed and an existing installation is left untouched. |

## Errors

| Message | Cause |
| --- | --- |
| `turbo-rust: opening the terminal: …` | tcell could not open the terminal; usually `TERM` is unset or unknown. |
| `turbo-rust: initialising the terminal: …` | The terminal was opened but could not be put into raw mode. |
| `Cannot open` (in a dialog) | The path is a directory, or is not readable. |
| `Cannot save` (in a dialog) | The directory does not exist, or is not writable. |