Skip to content

Instantly share code, notes, and snippets.

@ngnguyen1
Created December 9, 2012 03:51
Show Gist options
  • Save ngnguyen1/4243254 to your computer and use it in GitHub Desktop.
Save ngnguyen1/4243254 to your computer and use it in GitHub Desktop.
hook-java.el
(defun java-class ()
"Generate a skeleton source for a Java class."
(interactive)
(setq name (read-from-minibuffer "Class name: " nil nil nil nil nil nil))
(setq pck (read-from-minibuffer "Package: " nil nil nil nil nil nil))
(setq exts (read-from-minibuffer "Extends: " "extends " nil nil nil nil nil))
(setq impl (read-from-minibuffer "Implements: " "implements " nil nil nil nil nil))
(insert (format "package %s;\n" pck))
(insert "\n")
(insert "/**\n")
(insert " * \n")
(insert " **/\n")
(insert (format "public class %s %s %s {\n" name exts impl))
(insert " \n")
(insert "}\n")
(end-of-line -1)
)
(add-hook 'find-file-hooks 'maybe-load-template)
(defun maybe-load-template ()
(interactive)
(when (and
(string-match "\\.java$" (buffer-file-name))
(eq 1 (point-max)))
(add-hook 'java-mode-hook 'java-class)))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment