📄 cvt
字号:
awk '/^{/ { if (prev != "") { # comments can be trouble (e.g. ffree()) if ( (c = match(prev, /\/\*.*\*\/$/)) != 0 ) { comment = substr(prev, c) sub(/\/\*.*\*\/$/, "", prev) } else comment = "" x = prev # isolate argument list sub(/^[^(]*\(/, "", x) sub(/\)[^)]*$/, "", x) # find the names in it n = split(x, args) arglist = "" for (i = 2; i <= n; i += 2) arglist = arglist args[i] gsub(/\(\*f\)\(Tchar\)/, "f", arglist) # special case for n4.c gsub(/\[[0-9]+\]/, "", arglist) # for n8.c gsub(/[*()\[\]]/, "", arglist) # discard noise characters *()[] gsub(/,/, ", ", arglist) # space nicely sub(/\(.*\)/, "(" arglist ")", prev) # reconstruct print prev comment # argument declarations gsub(/,/, ";", x) gsub(/\(\*f\)\(Tchar\)/, "(*f)()", x) # special case for n4.c if (x != "") print "\t" x ";" } prev = $0 next}{ print prev prev = $0}END { print prev }' $*
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -