aboutsummaryrefslogtreecommitdiff
path: root/Doom/.doom.d/modules
diff options
context:
space:
mode:
Diffstat (limited to 'Doom/.doom.d/modules')
-rw-r--r--Doom/.doom.d/modules/private/gentemplate/README.org19
-rw-r--r--Doom/.doom.d/modules/private/gentemplate/config.el31
-rw-r--r--Doom/.doom.d/modules/private/ocaml/README.org16
-rw-r--r--Doom/.doom.d/modules/private/ocaml/config.el20
-rw-r--r--Doom/.doom.d/modules/private/ocaml/packages.el6
-rw-r--r--Doom/.doom.d/modules/private/oreoline/README.org13
-rw-r--r--Doom/.doom.d/modules/private/oreoline/config.el62
-rw-r--r--Doom/.doom.d/modules/private/oreoline/packages.el5
8 files changed, 172 insertions, 0 deletions
diff --git a/Doom/.doom.d/modules/private/gentemplate/README.org b/Doom/.doom.d/modules/private/gentemplate/README.org
new file mode 100644
index 0000000..c09f20e
--- /dev/null
+++ b/Doom/.doom.d/modules/private/gentemplate/README.org
@@ -0,0 +1,19 @@
+#+TITLE: private/gentemplate
+#+DATE: March 17, 2020
+
+* Description
+This module allows users to clone templates from my Github to specific machines.
+These templates allow for quick and easy setup for languages or frameworks where
+this sort of thing isn't very nice to do (for example C++).
+
+This module is used through the main function =+gentemplate/generate-template=.
+It will ask what template you want to use then where to put it, finally doing
+the necessary work to get you that template. You may mutate the variables
+=+gentemplate/template-list= and =+gentemplate/profile-url= to customise your
+templates.
+* Prerequisites
+- git
+* Requirements
+- ivy
+- magit
+- cl
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)))))))
diff --git a/Doom/.doom.d/modules/private/ocaml/README.org b/Doom/.doom.d/modules/private/ocaml/README.org
new file mode 100644
index 0000000..de29e59
--- /dev/null
+++ b/Doom/.doom.d/modules/private/ocaml/README.org
@@ -0,0 +1,16 @@
+#+TITLE: private/ocaml
+#+DATE: March 29, 2020
+
+* Description
+My own ocaml module. Has LSP support, which is well defined.
+
+Pretty minimalist and allows for quick coding. Uses the terminal a lot so I'd
+suggest using vterm as well for quick access to the terminal.
+* Prerequisites
+- ocaml compiler
+- opam
+- ocamllsp (from opam) (if LSP)
+* Requirements
+- lsp
+- tuareg
+- utop
diff --git a/Doom/.doom.d/modules/private/ocaml/config.el b/Doom/.doom.d/modules/private/ocaml/config.el
new file mode 100644
index 0000000..df138ad
--- /dev/null
+++ b/Doom/.doom.d/modules/private/ocaml/config.el
@@ -0,0 +1,20 @@
+;;; private/ocaml/config.el -*- lexical-binding: t; -*-
+
+(use-package! utop
+ :config
+ (map!
+ :localleader
+ :map tuareg-mode-map
+ :desc "Repl" "c" #'utop
+ (:prefix ("e" . "eval")
+ :desc "Buffer" "b" #'utop-eval-buffer
+ :desc "Region" "r" #'utop-eval-region)))
+
+
+(when (featurep! +lsp)
+ (after! lsp
+ (lsp-register-client
+ (make-lsp-client :new-connection (lsp-stdio-connection "ocamllsp")
+ :major-modes '(tuareg-mode)
+ :server-id 'ocaml-lsp))
+ (add-hook 'tuareg-mode-hook #'lsp!)))
diff --git a/Doom/.doom.d/modules/private/ocaml/packages.el b/Doom/.doom.d/modules/private/ocaml/packages.el
new file mode 100644
index 0000000..61f1c8d
--- /dev/null
+++ b/Doom/.doom.d/modules/private/ocaml/packages.el
@@ -0,0 +1,6 @@
+;; -*- no-byte-compile: t; -*-
+;;; private/ocaml/packages.el
+
+
+(package! tuareg)
+(package! utop)
diff --git a/Doom/.doom.d/modules/private/oreoline/README.org b/Doom/.doom.d/modules/private/oreoline/README.org
new file mode 100644
index 0000000..57b24e9
--- /dev/null
+++ b/Doom/.doom.d/modules/private/oreoline/README.org
@@ -0,0 +1,13 @@
+#+TITLE: private/oreoline
+#+DATE: March 29, 2020
+
+* Description
+My very own modeline. Minimalist, isn't particularly fancy but does the job.
+Uses telephone line with some configuration. Has support for a light version as well.
+
+Has LSP support as well as evil support (can present evil modes and LSP mode).
+* Prerequisites
+None
+* Requirements
+- telephone line
+- evil-anzu
diff --git a/Doom/.doom.d/modules/private/oreoline/config.el b/Doom/.doom.d/modules/private/oreoline/config.el
new file mode 100644
index 0000000..7616ca4
--- /dev/null
+++ b/Doom/.doom.d/modules/private/oreoline/config.el
@@ -0,0 +1,62 @@
+;;; ui/telephone/config.el -*- lexical-binding: t; -*-
+
+(use-package! telephone-line
+ :hook (after-init . telephone-line-mode)
+ :init
+ ; Faces
+ (defface my-accent-dark '((t (:foreground "Black" :background "Cadet Blue"))) "")
+ (defface my-evil-dark '((t (:foreground "White" :background "Black"))) "")
+ (defface my-accent-light '((t (:foreground "black" :background "Light Slate Grey"))) "")
+ (defface my-evil-light '((t (:foreground "black" :background "Sky Blue"))) "")
+
+ ;; Set telephone line faces
+ (setq telephone-line-faces
+ '((evil . (my-evil-dark . my-evil-dark))
+ (modal . telephone-line-modal-face)
+ (ryo . telephone-line-ryo-modal-face)
+ (accent . (my-accent-dark . telephone-line-accent-inactive))
+ (nil mode-line . mode-line-inactive)))
+ (when (featurep! +light)
+ (setq telephone-line-faces
+ '((evil . (my-evil-light . my-evil-light))
+ (modal . telephone-line-modal-face)
+ (ryo . telephone-line-ryo-modal-face)
+ (accent . (my-accent-light . telephone-line-accent-inactive))
+ (nil mode-line . mode-line-inactive))))
+
+ ; Seperators
+ (setq telephone-line-primary-left-separator 'telephone-line-abs-left
+ telephone-line-secondary-left-separator 'telephone-line-identity-hollow-left
+ telephone-line-primary-right-separator 'telephone-line-abs-right
+ telephone-line-secondary-right-separator 'telephone-line-identity-hollow-right)
+
+ ; LSP segment
+ (telephone-line-defsegment +oreoline-lsp-segment ()
+ (after! lsp-mode
+ (if (lsp-workspaces)
+ (propertize "")
+ (propertize ""))))
+
+ ; LHS
+ (setq telephone-line-lhs
+ '((evil . (telephone-line-evil-tag-segment
+ telephone-line-buffer-modified-segment))
+ (accent . (telephone-line-vc-segment
+ telephone-line-filesize-segment
+ telephone-line-buffer-name-segment
+ telephone-line-erc-modified-channels-segment
+ telephone-line-process-segment))
+ (nil . ())))
+
+ ; RHS
+ (setq telephone-line-rhs
+ '((nil . (telephone-line-misc-info-segment))
+ (accent . (telephone-line-major-mode-segment
+ +oreoline-lsp-segment
+ telephone-line-flycheck-segment))
+ (evil . (telephone-line-airline-position-segment))))
+ :config
+ (size-indication-mode +1))
+
+(use-package! evil-anzu
+ :after-call evil-ex-start-search evil-ex-start-word-search evil-ex-search-activate-highlight)
diff --git a/Doom/.doom.d/modules/private/oreoline/packages.el b/Doom/.doom.d/modules/private/oreoline/packages.el
new file mode 100644
index 0000000..9479896
--- /dev/null
+++ b/Doom/.doom.d/modules/private/oreoline/packages.el
@@ -0,0 +1,5 @@
+;; -*- no-byte-compile: t; -*-
+;;; ui/telephone/packages.el
+
+(package! telephone-line)
+(package! evil-anzu)