aboutsummaryrefslogtreecommitdiff
path: root/doom.d/modules/gentemplate.org
diff options
context:
space:
mode:
Diffstat (limited to 'doom.d/modules/gentemplate.org')
-rw-r--r--doom.d/modules/gentemplate.org48
1 files changed, 48 insertions, 0 deletions
diff --git a/doom.d/modules/gentemplate.org b/doom.d/modules/gentemplate.org
new file mode 100644
index 0000000..6df07db
--- /dev/null
+++ b/doom.d/modules/gentemplate.org
@@ -0,0 +1,48 @@
+#+TITLE: Generate Template
+
+
+* Preclude
+Generate templates from my set on Github or on computer currently.
+* List of templates
+Make a list of possible templates for my system to use
+#+BEGIN_SRC elisp
+(setq oreodave/templates/template-list (list "CTemplate" "CPPTemplate" "PythonTemplate" "NodeTemplate" "ArduinoTemplate"))
+#+END_SRC
+* Download template for given template name and directory
+For a given template name and destination, map the template name to
+a URL and clone to the destination using magit-clone-regular.
+#+BEGIN_SRC elisp
+(after! magit-clone
+ (defun oreodave/templates/download-template (template-name dest)
+ (magit-clone-regular (concat "https://github.com/oreodave/" template-name) dest nil)))
+
+#+END_SRC
+* Copy and move template for a template name and destination directory
+#+BEGIN_SRC elisp
+(defun oreodave/templates/copy-template (template-name dest)
+ (copy-file (expand-file-name (concat "~/Projects/Templates/" template-name)) dest))
+#+END_SRC
+* Find if online or not
+Function which checks that the network connections are = 1. If only one network
+connection, must be offline
+#+BEGIN_SRC elisp
+(defun oreodave/templates/offline ()
+ (eq (list-length (network-interface-list)) 1))
+#+END_SRC
+* Generate-template
+After getting a downloader function, write a new function that asks for the
+template and destination of clone for cloning to begin.
+#+BEGIN_SRC elisp
+(after! (ivy magit-clone)
+ (defun oreodave/templates/generate-template ()
+ (interactive)
+ (ivy-read "Enter template: "
+ oreodave/templates/template-list
+ :action
+ (lambda (template-name)
+ (let ((dir (read-directory-name "Enter directory to download to: "))
+ (offline (oreodave/templates/offline)))
+ (if offline
+ (oreodave/templates/copy-template template-name dir))
+ (oreodave/templates/download-template template-name dir))))))
+#+END_SRC