From 8c622bd085630b30150013356b9ba6c3538f27d7 Mon Sep 17 00:00:00 2001 From: Albert Graef Date: Fri, 16 Nov 2018 20:37:16 +0100 Subject: [PATCH] midizap-mode: Add keysyms to auto-complete keywords table. --- Makefile | 10 ++++++++-- keywords.sed | 3 +++ midizap-mode.el => midizap-mode.el.in | 9 +++++++-- 3 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 keywords.sed rename midizap-mode.el => midizap-mode.el.in (98%) diff --git a/Makefile b/Makefile index 30cc9bf..89b54a0 100644 --- a/Makefile +++ b/Makefile @@ -18,7 +18,7 @@ INSTALL_TARGETS = midizap $(wildcard midizap.1) .PHONY: all world install uninstall man pdf clean realclean -all: midizap +all: midizap midizap-mode.el # This also creates the manual page (see below). world: all man @@ -56,7 +56,7 @@ midizap.pdf: midizap.1 man -Tpdf ./midizap.1 > $@ clean: - rm -f midizap keys.h $(OBJ) + rm -f midizap keys.h keys.el midizap-mode.el $(OBJ) realclean: rm -f midizap midizap.1 midizap.pdf keys.h $(OBJ) @@ -64,6 +64,12 @@ realclean: keys.h: keys.sed /usr/include/X11/keysymdef.h sed -f keys.sed < /usr/include/X11/keysymdef.h > keys.h +keys.el: keywords.sed /usr/include/X11/keysymdef.h + sed -f keywords.sed < /usr/include/X11/keysymdef.h | tr '\n' ' ' > keys.el + +midizap-mode.el: midizap-mode.el.in keys.el + sed '/;; keysyms/r keys.el' < midizap-mode.el.in > midizap-mode.el + readconfig.o: midizap.h keys.h midizap.o: midizap.h jackdriver.h jackdriver.o: jackdriver.h diff --git a/keywords.sed b/keywords.sed new file mode 100644 index 0000000..ef2457f --- /dev/null +++ b/keywords.sed @@ -0,0 +1,3 @@ +/^\#define/!d +s/^\#define // +s/^\([^[:space:]]*\).*$/"\1"/ diff --git a/midizap-mode.el b/midizap-mode.el.in similarity index 98% rename from midizap-mode.el rename to midizap-mode.el.in index 1fa57e0..e6ddbc2 100644 --- a/midizap-mode.el +++ b/midizap-mode.el.in @@ -27,7 +27,8 @@ (require 'comint) (defconst midizap-keywords - (list + (append + (list "DEBUG_REGEX" "DEBUG_STROKES" "DEBUG_KEYS" "DEBUG_MIDI" "MIDI_OCTAVE" "JACK_NAME" "JACK_PORTS" "JACK_IN" "JACK_IN1" "JACK_IN2" @@ -35,7 +36,11 @@ "PASSTHROUGH" "SYSTEM_PASSTHROUGH" "RELEASE" "SHIFT" "SHIFT1" "SHIFT2" "SHIFT3" "SHIFT4" "CLASS" "TITLE" - )) + ) + (list + ;; keysyms + + ))) ;;;###autoload (define-generic-mode 'midizap-mode