(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)) | |
(setq cmd-args (concat "mkdir -p " plugin-name "-plugin/" plugin-name)) | |
(shell-command cmd-args) | |
(setq cd-args (concat start-dir plugin-name "-plugin")) | |
(setq default-directory cd-args) | |
(find-file "Makefile.am") | |
(plugin-makefile-skel) | |
(find-file "configure.ac") | |
(plugin-configure-skel) | |
(setq default-directory (concat cd-args "/" plugin-name)) | |
(find-file (concat plugin-name ".api")) | |
(plugin-api-skel) | |
(find-file (concat plugin-name "_all_api_h.h")) | |
(plugin-all-apih-skel) | |
(find-file (concat plugin-name ".h")) | |
(plugin-h-skel) | |
(find-file (concat plugin-name ".c")) | |
(plugin-main-skel) | |
(find-file (concat plugin-name "_msg_enum.h")) | |
(plugin-msg-enum-skel) | |
(find-file "node.c") | |
(plugin-node-skel) | |
(find-file (concat plugin-name "_test.c")) | |
(plugin-test-skel) | |
(cd start-dir)))) | |