diff options
author | dx <aryadevchavali1@gmail.com> | 2020-04-24 02:53:57 +0100 |
---|---|---|
committer | dx <aryadevchavali1@gmail.com> | 2020-05-05 02:59:45 +0100 |
commit | c65cf688fca3075f9d194e1ca8b954f9ddfd983c (patch) | |
tree | cd53b6d49505cf06c080d45f729f4eb9845c306c /Doom/.doom.d/modules/private/gentemplate/config.el | |
parent | e3e4bd9710f2d144ef4fecebebe69d8cc852ed94 (diff) | |
download | dotfiles-c65cf688fca3075f9d194e1ca8b954f9ddfd983c.tar.gz dotfiles-c65cf688fca3075f9d194e1ca8b954f9ddfd983c.tar.bz2 dotfiles-c65cf688fca3075f9d194e1ca8b954f9ddfd983c.zip |
~doom.d -> Doom/.doom.d
Proper naming, GNU/Stow style.
Diffstat (limited to 'Doom/.doom.d/modules/private/gentemplate/config.el')
-rw-r--r-- | Doom/.doom.d/modules/private/gentemplate/config.el | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Doom/.doom.d/modules/private/gentemplate/config.el b/Doom/.doom.d/modules/private/gentemplate/config.el new file mode 100644 index 0000000..5f00084 --- /dev/null +++ b/Doom/.doom.d/modules/private/gentemplate/config.el @@ -0,0 +1,31 @@ +;;; private/gentemplate/config.el -*- lexical-binding: t; -*- + +(require 'cl) + +(setq +gentemplate/template-list (list "CTemplate" "CPPTemplate" "PythonTemplate" "NodeTemplate" "ArduinoTemplate" "JavaTemplate")) +(setq +gentemplate/profile-url "https://github.com/oreodave/") + +(defun +gentemplate/offline () + (eq (list-length (network-interface-list)) 1)) + +(defun +gentemplate/copy-template (template-name dest) + "Copy a template project via it's `template-name' to a folder called `dest'" + (copy-directory (expand-file-name (concat "~/Code/Templates/" template-name)) dest)) + +(after! (ivy magit-clone) + (defun +gentemplate/download-template (template-name dest) + "Download a given template via its `template-name' to the `dest' folder" + (magit-clone-regular (concat +gentemplate/profile-url template-name) dest nil)) + + (defun +gentemplate/generate-template () + (interactive) + (ivy-read + "Enter template: " + +gentemplate/template-list + :action + (lambda (template-name) + (let ((dir (read-directory-name "Enter directory to download to: ")) + (offline (+gentemplate/offline))) + (if offline + (+gentemplate/copy-template template-name dir) + (+gentemplate/download-template template-name dir))))))) |