template rendering done.
This commit is contained in:
parent
93233433d3
commit
8d95c57a5f
|
@ -59,21 +59,48 @@
|
|||
)
|
||||
|
||||
|
||||
|
||||
(defun project/render (data)
|
||||
"Render the data with known context variables and return rendered daa"
|
||||
(setq data (replace-regexp-in-string "::project::" project-name data))
|
||||
(setq data (replace-regexp-in-string "::desc::" project-desc data))
|
||||
(setq data (replace-regexp-in-string "::author::" project-author data))
|
||||
(setq data (replace-regexp-in-string "::email::" project-author-email data))
|
||||
(setq data (replace-regexp-in-string "::year::" (format-time-string "%Y") data))
|
||||
)
|
||||
|
||||
|
||||
(defun insert-license ()
|
||||
"Return the prepared license string."
|
||||
(if project-license
|
||||
(let (license-data license-file)
|
||||
(setq license-file (concat TEMPLATESPATH (concat "licenses/" (concat project-license ".tmpl"))))
|
||||
;; loading template file
|
||||
(setq license-data (io/read license-file))
|
||||
(setq license-data (replace-regexp-in-string "::project::" project-name license-data))
|
||||
(setq license-data (replace-regexp-in-string "::desc::" project-desc license-data))
|
||||
(setq license-data (replace-regexp-in-string "::author::" project-author license-data))
|
||||
(setq license-data (replace-regexp-in-string "::email::" project-author-email license-data))
|
||||
(setq license-data (replace-regexp-in-string "::year::" (format-time-string "%Y") license-data))
|
||||
;; Rendering template
|
||||
;; (setq license-data (replace-regexp-in-string "::project::" project-name license-data))
|
||||
;; (setq license-data (replace-regexp-in-string "::desc::" project-desc license-data))
|
||||
;; (setq license-data (replace-regexp-in-string "::author::" project-author license-data))
|
||||
;; (setq license-data (replace-regexp-in-string "::email::" project-author-email license-data))
|
||||
;; (setq license-data (replace-regexp-in-string "::year::" (format-time-string "%Y") license-data))
|
||||
(setq license-data (project/render license-data))
|
||||
(identity license-data)
|
||||
)
|
||||
(let (license-data)
|
||||
(setq license-data "Put you GOD DAMN, FUCKing license here")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(defun project/render-template (template)
|
||||
"Render the template and return the rendered template string"
|
||||
(let (data license-data)
|
||||
(setq data (io/read template))
|
||||
(setq data (project/render data))
|
||||
;; add the license header
|
||||
(setq license-data (insert-license))
|
||||
(setq data (replace-regexp-in-string "::license::" license-data data))
|
||||
)
|
||||
)
|
||||
|
|
@ -48,12 +48,15 @@
|
|||
(defun generic-c () "Create a generic type C project"
|
||||
(interactive)
|
||||
(c-new-project)
|
||||
(let (current-template-file license-data filelist)
|
||||
(setq current-template-file (concat TEMPLATESPATH "c/generic_c/main.c.tmpl"))
|
||||
(setq filelist (file-expand-wildcards load-elc))
|
||||
;; add the license header
|
||||
(setq license-data (insert-license))
|
||||
|
||||
(let (template-file-regexp license-data filelist cur template-data)
|
||||
(setq template-file-regexp (concat TEMPLATESPATH "c/generic_c/*.tmpl"))
|
||||
(setq filelist (file-expand-wildcards template-file-regexp))
|
||||
(while filelist
|
||||
(setq cur (pop filelist))
|
||||
(setq template-data (project/render-template cur))
|
||||
(setq template-data (replace-regexp-in-string "::unixname::" unix-project-name template-data))
|
||||
(project/write-dest-file cur template-data)
|
||||
)
|
||||
)
|
||||
)
|
||||
(init-menus)
|
|
@ -0,0 +1,12 @@
|
|||
/*
|
||||
::license::
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include "::unixname::.h"
|
||||
|
||||
int main (int argc, char *argv[])
|
||||
{
|
||||
printf("Hello SHIT World\n");
|
||||
return 0;
|
||||
}
|
Loading…
Reference in New Issue