turbo-editors/turbo-gopublic Fork 0
v1.0.0
Commits
Clone
git clone https://git.rickub.com/turbo-editors/turbo-go.git
git clone ssh://git@rickub.com/turbo-editors/turbo-go.git

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

📦 Turbo Go 3d7798b · on v1.0.0 · k33g · 9h ago
tools.toml.tmpl · 94 lines · 2.9 KBCheetah Blame HistoryRaw
 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
# turbo-go tools.
#
# Each [[tool]] becomes one line of the Go menu, in the order they appear here.
# name is what the menu shows; a letter between tildes is its hot key, and no
# two tools should claim the same one.
#
# command goes to "sh -c", so pipes, globs and && work: one entry can be a
# whole sequence.
#
# menu says which menu it appears in. Leave it out and the tool goes into the Go
# menu; name anything else and that menu is created for you, in the order the
# names first appear here. A tool that has nothing to do with Go belongs in one
# of your own:
#
#   [[tool]]
#   name = "~E~cho"
#   command = "echo TADA"
#   menu = "Tools"
#
# A {{label}} in a command is a value the editor asks for before running it, in
# a box titled after the tool. The text between the braces is what it asks for:
#
#   [[tool]]
#   name = "~I~nit module"
#   command = "go mod init {{module path}}"
#
# The value is quoted, so a path with a space in it stays one argument. Add ...
# inside the braces when you mean several arguments rather than one value:
#
#   [[tool]]
#   name = "Test ~o~ne"
#   command = "go test {{extra flags...}} ./..."
#
# Double braces, not single. Single ones appear in real commands — awk '{print
# $1}' and find . -exec rm {} + are both ordinary things to put here — and
# neither is asking you for anything.
#
# output says where what the command prints goes:
#   popup     a dialog that fills in as it runs, and says the exit code (default)
#   terminal  a terminal window, for anything that reads the keyboard or runs long
#   editor    an editing window once it has finished, to search with Ctrl-F
#
# Commands run in the directory the editor was started in, which is why ./...
# means the whole module when you start from the project root.

[[tool]]
name = "~F~ormat"
command = "gofmt -l -w ."
output = "popup"

[[tool]]
name = "~L~int"
command = "go vet ./..."
output = "popup"

[[tool]]
name = "~B~uild"
command = "go build ./..."
output = "popup"

[[tool]]
name = "~T~est"
command = "go test ./..."
output = "popup"

[[tool]]
name = "~R~un"
command = "go run ."
# A terminal, not a popup: a program that reads the keyboard has to be able to
# be answered, and one that runs long has to be able to be interrupted.
output = "terminal"

# A tool that asks for a value: {{double braces}} opens a box before it runs,
# and what you type is shell-quoted, so a name with a space stays one argument.

[[tool]]
name = "~G~rep"
command = "grep -rn {{pattern}} --include='*.go' ."
output = "editor"

[[tool]]
name = "~I~nit module"
command = "go mod init {{module path}}"
output = "popup"

# A tool naming a `menu` gets a menu of its own on the bar. Nothing here does,
# so every tool below is in the Go menu. Add `menu = "Doc~k~er"` to one and a
# Docker menu appears between Go and Help — that is the whole mechanism.

[[tool]]
name = "~E~cho"
command = "echo 🎉 tada!"
menu = "Tools"
output = "terminal"