-
-
Notifications
You must be signed in to change notification settings - Fork 118
Expand file tree
/
Copy pathbacon.toml
More file actions
143 lines (124 loc) · 3.28 KB
/
bacon.toml
File metadata and controls
143 lines (124 loc) · 3.28 KB
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
#:schema https://dystroy.org/bacon/.bacon.schema.json
# A bacon.toml file dedicated to the bacon tool
# (if you're looking for the current default bacon.toml file,
# generate it with `bacon --init` or download it from
# https://github.com/Canop/bacon/tree/main/defaults)
default_job = "check-all"
env.CARGO_TERM_COLOR = "always"
# uncomment for sound
#sound.enabled = true
#sound.base_volume = "20%"
[jobs]
# This alternative to 'check' demonstrates the use of the JSON output
# of cargo check - see https://github.com/Canop/bacon/issues/249
[jobs.json-check]
command = [
"cargo", "check",
"--message-format", "json-diagnostic-rendered-ansi",
]
need_stdout = true
analyzer = "cargo_json"
[jobs.check]
command = ["cargo", "check"]
need_stdout = false
[jobs.check-windows]
command = [
"cross", "build",
"--target", "x86_64-pc-windows-gnu",
"--features", "clipboard,sound"
]
[jobs.check-nightly]
command = [
"cargo", "+nightly",
"check",
"--all-targets",
]
need_stdout = false
[jobs.check-all]
command = [
"cargo", "check",
"--all-targets",
]
need_stdout = false
[jobs.fmt]
command = ["cargo", "+nightly", "fmt"]
[jobs.nightly]
command = [
"cargo",
"+nightly",
"check",
"--all-targets",
]
need_stdout = false
[jobs.win]
command = [
"cross", "build",
"--target", "x86_64-pc-windows-gnu",
]
[jobs.test]
command = ["cargo", "test"]
need_stdout = true
on_success = "play-sound(name=90s-game-ui-6,volume=50)"
on_failure = "play-sound(name=beep-warning,volume=100)"
[jobs.doc]
command = ["cargo", "doc", "--no-deps"]
need_stdout = false
# If the doc compiles, then it opens in your browser and bacon switches
# to the previous job
[jobs.doc-open]
command = ["cargo", "doc", "--no-deps", "--open"]
need_stdout = false
on_success = "back" # so that we don't open the browser at each change
[jobs.clippy-all]
command = [
"cargo", "clippy",
"--",
"-A", "clippy::bool_to_int_with_if",
"-A", "clippy::collapsible_else_if",
"-A", "clippy::collapsible_if",
"-A", "clippy::derive_partial_eq_without_eq",
"-A", "clippy::get_first",
"-A", "clippy::if_same_then_else",
"-A", "clippy::len_without_is_empty",
"-A", "clippy::map_entry",
"-A", "clippy::new_without_default",
"-A", "clippy::too_many_lines",
"-A", "clippy::while_let_on_iterator",
]
need_stdout = false
# Pedantic job refined for bacon's source code.
#
# The goal of the Allow here isn't to have a warning free code
# (a pedantic session can still dismiss items) but to exclude
# the lints which are, for this project, considered as bad.
[jobs.pedantic]
command = [
"cargo", "clippy",
"--",
"-W", "clippy::pedantic",
"-A", "clippy::collapsible_else_if",
"-A", "clippy::collapsible_if",
"-A", "clippy::default_trait_access",
"-A", "clippy::get_first",
"-A", "clippy::if_not_else",
"-A", "clippy::len_without_is_empty",
"-A", "clippy::must_use_candidate",
"-A", "clippy::new_without_default",
"-A", "clippy::return_self_not_must_use",
"-A", "clippy::struct_excessive_bools",
"-A", "clippy::too_many_lines",
]
need_stdout = false
[skin]
change_badge_bg = 5
[keybindings]
c = "job:clippy-all"
ctrl-c = "copy-unstyled-output"
#n = "next-match"
#shift-n = "previous-match"
#h = "play-sound(name=car-horn)"
#b = "play-sound(name=beep-6)"
f = "job:fmt"
alt-w = "job:win"
alt-b = "toggle-backtrace(0)" # disable backtrace when set with env var
cmd-e = "play-sound"