Advertisement
Guest User

C++-class.el

a guest
Jul 22nd, 2014
195
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.15 KB | None | 0 0
  1. ;;;; Generic class generator for C++ classes
  2. ;;;; Ensure you have no buffers created for your class already
  3. ;;;; You'll need to set the major modes and save the buffers still
  4. ;;;; Ryan Burnside July 22 2014
  5.  
  6. (defun insert-header (class)
  7. (push-mark)
  8. (goto-char (point-min))
  9. (insert
  10. (format
  11. "
  12. #ifndef %s
  13. #define %s
  14.  
  15. class %s
  16. {
  17. public:
  18.  
  19. private:
  20.  
  21. protected:
  22. };
  23.  
  24. #endif
  25. "
  26. (upcase (concat class "_h"))
  27. (upcase (concat class "_h"))
  28. class)))
  29.  
  30. (defun insert-definition (class)
  31. (push-mark)
  32. (goto-char (point-min))
  33. (insert
  34. (format
  35. "
  36. // Documentation for %s
  37.  
  38. #include \"%s\"
  39. #include <iostream> // Debug messages
  40. "
  41. class
  42. (concat class ".h"))))
  43.  
  44. (defun C++-class (class)
  45. (interactive "sEnter new class name: ")
  46. (let* ((header-name (concat class ".h"))
  47. (def-name (concat class ".cpp")))
  48.  
  49. (generate-new-buffer header-name)
  50. (generate-new-buffer def-name)
  51. ;; Begin work on Header Buffer
  52. (set-buffer header-name)
  53. (insert-header class)
  54. ;; Begin work on Definition Buffer
  55. (set-buffer def-name)
  56. (insert-definition class)
  57. (switch-to-buffer header-name)))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement