diff options
Diffstat (limited to 'extras/emacs/plugin.el')
-rw-r--r-- | extras/emacs/plugin.el | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/extras/emacs/plugin.el b/extras/emacs/plugin.el new file mode 100644 index 00000000000..4f1361a32f2 --- /dev/null +++ b/extras/emacs/plugin.el @@ -0,0 +1,32 @@ +(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)))) + |