summaryrefslogtreecommitdiff
path: root/.config/shells/zsh/plugins/fzf-tab/modules/Src/signames1.awk
diff options
context:
space:
mode:
authorJacob McDonnell <jacob@simplelittledream.com>2022-07-14 19:09:06 -0400
committerJacob McDonnell <jacob@simplelittledream.com>2022-07-14 19:09:06 -0400
commited4daf7429bf2580118aad87b8f3e2011efed7ec (patch)
tree82f9d8ed68de119e5777f5ecfae9df4a92fe92b3 /.config/shells/zsh/plugins/fzf-tab/modules/Src/signames1.awk
Initial commit
Diffstat (limited to '.config/shells/zsh/plugins/fzf-tab/modules/Src/signames1.awk')
-rw-r--r--.config/shells/zsh/plugins/fzf-tab/modules/Src/signames1.awk19
1 files changed, 19 insertions, 0 deletions
diff --git a/.config/shells/zsh/plugins/fzf-tab/modules/Src/signames1.awk b/.config/shells/zsh/plugins/fzf-tab/modules/Src/signames1.awk
new file mode 100644
index 0000000..27d21ac
--- /dev/null
+++ b/.config/shells/zsh/plugins/fzf-tab/modules/Src/signames1.awk
@@ -0,0 +1,19 @@
+# This is an awk script which finds out what the possibilities for
+# the signal names are, and dumps them out so that cpp can turn them
+# into numbers. Since we don't need to decide here what the
+# real signals are, we can afford to be generous about definitions,
+# in case the definitions are in terms of other definitions.
+# However, we need to avoid definitions with parentheses, which will
+# mess up the syntax.
+BEGIN { printf "#include <signal.h>\n\n" }
+
+/^[\t ]*#[\t ]*define[\t _]*SIG[A-Z][A-Z0-9]*[\t ][\t ]*[^(\t ]/ {
+ sigindex = index($0, "SIG")
+ sigtail = substr($0, sigindex, 80)
+ split(sigtail, tmp)
+ signam = substr(tmp[1], 4, 20)
+ if (substr($0, sigindex-1, 1) == "_")
+ printf("XXNAMES XXSIG%s _SIG%s\n", signam, signam)
+ else
+ printf("XXNAMES XXSIG%s SIG%s\n", signam, signam)
+}