From 1cc05b4caf218e4957d9aef912da978688ea3ab6 Mon Sep 17 00:00:00 2001 From: dx Date: Sat, 18 Jul 2020 00:54:58 +0100 Subject: +clean up gentemplate to be completion agnostic --- .../doom/modules/private/gentemplate/config.el | 31 +++++++++++----------- 1 file changed, 15 insertions(+), 16 deletions(-) (limited to 'Doom') diff --git a/Doom/.config/doom/modules/private/gentemplate/config.el b/Doom/.config/doom/modules/private/gentemplate/config.el index d843cc2..55caa75 100644 --- a/Doom/.config/doom/modules/private/gentemplate/config.el +++ b/Doom/.config/doom/modules/private/gentemplate/config.el @@ -2,35 +2,34 @@ (require 'cl-lib) -(defvar +gentemplate/profile-url +(defconst +gentemplate/repo-url "https://github.com/oreodave/" - "Profile to download templates from on github.") + "Repository url to download templates") -(defvar +gentemplate/template-list +(defconst +gentemplate/template-list (list "CTemplate" "CPPTemplate" "PythonTemplate" "NodeTemplate" "ArduinoTemplate" "JavaTemplate") - "List of templates to use, relative to the profile-url") + "List of templates to use, relative to the repo-url") (defun +gentemplate/offline () + "Check if user is offline" (eq (cl-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) +(after! magit (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)) + (magit-clone-regular (concat +gentemplate/repo-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))))))) + (let ((template-name (completing-read + "Enter template: " + +gentemplate/template-list)) + (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))))) -- cgit v1.2.3-13-gbd6f