turbo-editors/turbo-moonbitpublic Fork 0
v1.0.2
Commits
Clone
git clone https://git.rickub.com/turbo-editors/turbo-moonbit.git
git clone ssh://git@rickub.com/turbo-editors/turbo-moonbit.git

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

📦 Turbo MoonBit cc1f595 · on v1.0.2 · k33g · 12h ago
cli.md · 100 lines · 4.3 KBmarkdown
Blame HistoryOpen raw

Reference: command line

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

Synopsis

turbo-moonbit [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 MoonBit <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_MOONBIT_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 moon-lsp lookup Searched, in that order, when moon-lsp is not on PATH.

Files

Path Purpose
$TURBO_MOONBIT_THEME_DIR/*.toml User themes, when the variable is set.
./.turbo-moonbit/settings.toml This project's settings, read once at start-up. See project settings.
~/.config/turbo-moonbit/themes/*.toml User themes on Linux (os.UserConfigDir).
~/Library/Application Support/turbo-moonbit/themes/*.toml User themes on macOS.
<module>/moon.mod, <module>/moon.mod.json Located by walking up from the first file; the nearest directory holding either 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 go test ./...
make test-verbose go test -v ./...
make cover go test -cover ./...
make build go build -o bin/turbo-moonbit .
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-moonbit x.go
make fmt go fmt ./...
make vet go vet ./...
make check fmt, then vet, then test
make clean Remove bin/

Examples

turbo-moonbit                              # one empty window
turbo-moonbit main.mbt moon.mod               # two windows
turbo-moonbit -theme turbo-dark main.mbt    # a different theme
turbo-moonbit -no-lsp main.mbt              # no language server
turbo-moonbit -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-moon-lsp Install moon-lsp as well, if it is not already there.
--uninstall Remove an installed turbo-moonbit 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-moonbit: opening the terminal: … tcell could not open the terminal; usually TERM is unset or unknown.
turbo-moonbit: 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-moonbit` command, its flags, and the environment it reads.

## Synopsis

```
turbo-moonbit [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 MoonBit <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_MOONBIT_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` | moon-lsp lookup | Searched, in that order, when `moon-lsp` is not on `PATH`. |

## Files

| Path | Purpose |
| --- | --- |
| `$TURBO_MOONBIT_THEME_DIR/*.toml` | User themes, when the variable is set. |
| `./.turbo-moonbit/settings.toml` | This project's settings, read once at start-up. See [project settings](project-settings.md). |
| `~/.config/turbo-moonbit/themes/*.toml` | User themes on Linux (`os.UserConfigDir`). |
| `~/Library/Application Support/turbo-moonbit/themes/*.toml` | User themes on macOS. |
| `<module>/moon.mod`, `<module>/moon.mod.json` | Located by walking up from the first file; the nearest directory holding either 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` | `go test ./...` |
| `make test-verbose` | `go test -v ./...` |
| `make cover` | `go test -cover ./...` |
| `make build` | `go build -o bin/turbo-moonbit .` |
| `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-moonbit x.go` |
| `make fmt` | `go fmt ./...` |
| `make vet` | `go vet ./...` |
| `make check` | `fmt`, then `vet`, then `test` |
| `make clean` | Remove `bin/` |

## Examples

```bash
turbo-moonbit                              # one empty window
turbo-moonbit main.mbt moon.mod               # two windows
turbo-moonbit -theme turbo-dark main.mbt    # a different theme
turbo-moonbit -no-lsp main.mbt              # no language server
turbo-moonbit -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-moon-lsp` | Install `moon-lsp` as well, if it is not already there. |
| `--uninstall` | Remove an installed `turbo-moonbit` 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-moonbit: opening the terminal: …` | tcell could not open the terminal; usually `TERM` is unset or unknown. |
| `turbo-moonbit: 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. |