clang.kak: handle fatal errors in diagnostics
This commit is contained in:
parent
548436eaf0
commit
f9fae1a34f
10
rc/clang.kak
10
rc/clang.kak
|
@ -69,12 +69,12 @@ def -shell-params clang-parse %{
|
||||||
fi
|
fi
|
||||||
|
|
||||||
flags=$(cat ${dir}/stderr | sed -rne "
|
flags=$(cat ${dir}/stderr | sed -rne "
|
||||||
/^<stdin>:[0-9]+:([0-9]+:)? error/ { s/^<stdin>:([0-9]+):.*/\1,red,█/; p }
|
/^<stdin>:[0-9]+:([0-9]+:)? (fatal )?error/ { s/^<stdin>:([0-9]+):.*/\1,red,█/; p }
|
||||||
/^<stdin>:[0-9]+:([0-9]+:)? warning/ { s/^<stdin>:([0-9]+):.*/\1,yellow,█/; p }
|
/^<stdin>:[0-9]+:([0-9]+:)? warning/ { s/^<stdin>:([0-9]+):.*/\1,yellow,█/; p }
|
||||||
" | paste -s -d ':')
|
" | paste -s -d ':')
|
||||||
|
|
||||||
errors=$(cat ${dir}/stderr | sed -rne "
|
errors=$(cat ${dir}/stderr | sed -rne "
|
||||||
/^<stdin>:[0-9]+:([0-9]+:)? (error|warning)/ { s/^<stdin>:([0-9]+):([0-9]+:)? (.*)/\1,\3/; s/'/\\\\'/g; p }
|
/^<stdin>:[0-9]+:([0-9]+:)? ((fatal )?error|warning)/ { s/^<stdin>:([0-9]+):([0-9]+:)? (.*)/\1,\3/; s/'/\\\\'/g; p }
|
||||||
" | sort -n)
|
" | sort -n)
|
||||||
|
|
||||||
sed -e "s|<stdin>|${kak_bufname}|g" < ${dir}/stderr > ${dir}/fifo
|
sed -e "s|<stdin>|${kak_bufname}|g" < ${dir}/stderr > ${dir}/fifo
|
||||||
|
@ -127,8 +127,10 @@ def clang-diagnostics-next %{ %sh{
|
||||||
first_line=-1
|
first_line=-1
|
||||||
while read line_content; do
|
while read line_content; do
|
||||||
candidate=${line_content%%,*}
|
candidate=${line_content%%,*}
|
||||||
first_line=$(( first_line == -1 ? candidate : first_line ))
|
if [ -n "$candidate" ]; then
|
||||||
line=$((candidate > kak_cursor_line && (candidate < line || line == -1) ? candidate : line ))
|
first_line=$(( first_line == -1 ? candidate : first_line ))
|
||||||
|
line=$((candidate > kak_cursor_line && (candidate < line || line == -1) ? candidate : line ))
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
line=$((line == -1 ? first_line : line))
|
line=$((line == -1 ? first_line : line))
|
||||||
if [ ${line} -ne -1 ]; then
|
if [ ${line} -ne -1 ]; then
|
||||||
|
|
Loading…
Reference in New Issue
Block a user