Skip to content

Commit 1fc234c

Browse files
PatTheMavRytoEX
authored andcommitted
build-aux: Update gersemi formatting script
1 parent 4625dda commit 1fc234c

File tree

1 file changed

+31
-11
lines changed

1 file changed

+31
-11
lines changed

build-aux/.run-format.zsh

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -92,16 +92,23 @@ invoke_formatter() {
9292
}
9393
;;
9494
gersemi)
95-
local formatter=gersemi
96-
if (( ${+commands[gersemi]} )) {
97-
local gersemi_version=($(gersemi --version))
9895

99-
if ! is-at-least 0.21.0 ${gersemi_version[2]}; then
100-
log_error "gersemi is not version 0.21.0 or above (found ${gersemi_version[2]}."
101-
exit 2
102-
fi
96+
if (( ${+commands[gersemi-0.25]} )) {
97+
local formatter=gersemi-0.25
98+
} elif (( ${+commands[gersemi]} )) {
99+
local formatter=gersemi
100+
} else {
101+
log_error "No viable gersemi version found (required 0.25.0)"
102+
exit 2
103103
}
104104

105+
local gersemi_version=($(${formatter} --version))
106+
107+
if ! is-at-least 0.25.0 ${gersemi_version[2]}; then
108+
log_error "gersemi is not version 0.25.0 or above (found ${gersemi_version[2]}."
109+
exit 2
110+
fi
111+
105112
if (( ! #source_files )) source_files=(CMakeLists.txt (libobs|libobs-*|frontend|plugins|deps|shared|cmake|test)/**/(CMakeLists.txt|*.cmake)(.N))
106113

107114
source_files=(${source_files:#*/(jansson|decklink/*/decklink-sdk|obs-websocket|obs-browser|libdshowcapture)/*})
@@ -112,16 +119,29 @@ invoke_formatter() {
112119
local -a source_files=($@)
113120
local file
114121
local -a command=(${formatter} -c --no-cache ${source_files})
122+
local -i in_error=0
115123

116124
if (( ${#source_files} )) {
117125
while read -r line; do
118126
local -a line_tokens=(${(z)line})
119127
if (( #line_tokens )) {
120-
file=${line_tokens[1]//*${project_root}\//}
121-
122-
log_error "${file} requires formatting changes."
128+
file=${line_tokens[1]}
129+
130+
if [[ -r ${file} ]] {
131+
in_error=0
132+
file=${file//*${project_root}\//}
133+
134+
log_error "${file} requires formatting changes."
135+
} else {
136+
if (( in_error )) {
137+
log_output "${line}"
138+
} else {
139+
log_error "${line}"
140+
}
141+
in_error=1
142+
}
123143
} else {
124-
log_error "${line}"
144+
log_output "${line}"
125145
}
126146

127147
if (( fail_on_error == 2 )) return 2

0 commit comments

Comments
 (0)