(defun make-plugin () | |
"Create a plugin" | |
(interactive) | |
(save-excursion | |
(let (cd-args cmd-args start-dir) | |
(setq start-dir default-directory) | |
(makunbound 'plugin-name) | |
(makunbound 'PLUGIN-NAME) | |
(setq plugin-name (read-string "Plugin name: ")) | |
(setq PLUGIN-NAME (upcase plugin-name)) | |
(find-file (concat plugin-name ".am")) | |
(skel-plugin-makefile-am-fragment) | |
(setq cmd-args (concat "mkdir -p " plugin-name)) | |
(shell-command cmd-args) | |
(setq cd-args (concat start-dir "/" plugin-name)) | |
(setq default-directory cd-args) | |
(find-file (concat plugin-name ".api")) | |
(skel-plugin-api) | |
(find-file (concat plugin-name "_all_api_h.h")) | |
(skel-plugin-all-apih) | |
(find-file (concat plugin-name ".h")) | |
(skel-plugin-h) | |
(find-file (concat plugin-name ".c")) | |
(skel-plugin-main) | |
(find-file (concat plugin-name "_msg_enum.h")) | |
(skel-plugin-msg-enum) | |
(find-file "node.c") | |
(skel-plugin-node) | |
(find-file (concat plugin-name "_test.c")) | |
(skel-plugin-test) | |
(cd start-dir)))) | |