blob: 6749183b6fd9ef7b321e7f839e57918d21f026a9 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
;; NOTE: https://github.com/minad/tempel/issues/23
c-mode c-ts-mode c++-mode c++-ts-mode
(guard
"#ifndef "
(p
(thread-last
(file-name-base (or (buffer-file-name)
(buffer-name)))
(concat (when-let ((project (project-current)))
(concat (project-name project) "_")))
(upcase)
(string-replace "-" "_")
(replace-regexp-in-string "^[0-9]+" "_\\&")
(replace-regexp-in-string "[^A-Z0-9_]+" "")
(format "%s_H"))
header)
n
"#define " header n n r n n
"#endif /* !" header " */")
emacs-lisp-mode
(header
";;; " (file-name-nondirectory (or (buffer-file-name)
(buffer-name)))
" --- " p " -*- lexical-binding: t; -*-" n n q)
(section "\f" n ";;; " p n n q)
|