Misc haskell stuff, snippets, etc
This commit is contained in:
		
							parent
							
								
									8ba14144a3
								
							
						
					
					
						commit
						29c7632fd2
					
				
					 19 changed files with 341 additions and 250 deletions
				
			
		
							
								
								
									
										19
									
								
								+bindings.el
									
										
									
									
									
								
							
							
						
						
									
										19
									
								
								+bindings.el
									
										
									
									
									
								
							|  | @ -1022,17 +1022,20 @@ private/hlissner/snippets." | ||||||
| 
 | 
 | ||||||
| (map! | (map! | ||||||
|   (:map haskell-mode-map |   (:map haskell-mode-map | ||||||
|      :n "K"     'lsp-info-under-point |      ;; :n "K"     'lsp-info-under-point | ||||||
|      :n "g d"   'lsp-ui-peek-find-definitions |      ;; :n "g d"   'lsp-ui-peek-find-definitions | ||||||
|      :n "g r"   'lsp-ui-peek-find-references |      ;; :n "g r"   'lsp-ui-peek-find-references | ||||||
|      ;; :n "g SPC" 'intero-repl-load |      ;; :n "g \\"  '+haskell/repl | ||||||
|      :n "g \\"  '+haskell/repl |      :n "K"     'intero-info | ||||||
|      ;; :n "g y"   'intero-type-at |      :n "g d"   'intero-goto-definition | ||||||
|  |      :n "g SPC" 'intero-repl-load | ||||||
|  |      :n "g \\"  'intero-repl | ||||||
|  |      :n "g y"   'intero-type-at | ||||||
|      ;; :n "g RET" 'grfn/run-sputnik-test-for-file |      ;; :n "g RET" 'grfn/run-sputnik-test-for-file | ||||||
| 
 | 
 | ||||||
|      (:localleader |      (:localleader | ||||||
|        :desc "Apply action"  :n "a" 'lsp-execute-code-action |        :desc "Apply action"  :n "e" 'intero-repl-eval-region | ||||||
|        :desc "Rename symbol" :n "r" 'lsp-rename)) |        :desc "Rename symbol" :n "r" 'intero-apply-suggestions)) | ||||||
| 
 | 
 | ||||||
|   (:after agda2-mode |   (:after agda2-mode | ||||||
|     (:map agda2-mode-map |     (:map agda2-mode-map | ||||||
|  |  | ||||||
							
								
								
									
										278
									
								
								config.el
									
										
									
									
									
								
							
							
						
						
									
										278
									
								
								config.el
									
										
									
									
									
								
							|  | @ -1,5 +1,195 @@ | ||||||
| ;;; private/grfn/config.el -*- lexical-binding: t; -*- | ;;; private/grfn/config.el -*- lexical-binding: t; -*- | ||||||
| 
 | 
 | ||||||
|  | ;; I've swapped these keys on my keyboard | ||||||
|  | (setq x-super-keysym 'alt | ||||||
|  |       x-alt-keysym   'meta) | ||||||
|  | 
 | ||||||
|  | (setq user-mail-address "root@gws.fyi" | ||||||
|  |       user-full-name    "Griffin Smith") | ||||||
|  | 
 | ||||||
|  | ; (def-package-hook! doom-themes :disable) | ||||||
|  | 
 | ||||||
|  | (after! rust | ||||||
|  |   (setq rust-format-on-save t)) | ||||||
|  | 
 | ||||||
|  | ; (defconst rust-src-path | ||||||
|  | ;   (-> "/Users/griffin/.cargo/bin/rustc --print sysroot" | ||||||
|  | ;       shell-command-to-string | ||||||
|  | ;       string-trim | ||||||
|  | ;       (concat "/lib/rustlib/src/rust/src"))) | ||||||
|  | ; | ||||||
|  | ; (setenv "RUST_SRC_PATH" rust-src-path) | ||||||
|  | ; | ||||||
|  | ; (after! racer | ||||||
|  | ;   (setq racer-rust-src-path rust-src-path)) | ||||||
|  | ; | ||||||
|  | (add-hook! rust-mode | ||||||
|  |   (flycheck-rust-setup) | ||||||
|  |   (flycheck-mode) | ||||||
|  |   (racer-mode) | ||||||
|  |   (cargo-minor-mode)) | ||||||
|  | 
 | ||||||
|  | (add-hook! elixir-mode | ||||||
|  |   (require 'flycheck-credo) | ||||||
|  |   (setq flycheck-elixir-credo-strict t) | ||||||
|  |   (flycheck-credo-setup) | ||||||
|  | 
 | ||||||
|  |   (require 'flycheck-mix) (flycheck-mix-setup) | ||||||
|  | 
 | ||||||
|  |   (require 'flycheck-dialyxir) (flycheck-dialyxir-setup) | ||||||
|  | 
 | ||||||
|  |   (flycheck-mode)) | ||||||
|  | 
 | ||||||
|  | (setq exec-path (append exec-path '("/Users/griffin/.cargo/bin"))) | ||||||
|  | 
 | ||||||
|  | (after! cargo | ||||||
|  |   (setq cargo-process--custom-path-to-bin "/Users/griffin/.cargo/bin/cargo")) | ||||||
|  | 
 | ||||||
|  | (setq +solarized-s-base03    "#002b36" | ||||||
|  |       +solarized-s-base02    "#073642" | ||||||
|  |       ;; emphasized content | ||||||
|  |       +solarized-s-base01    "#586e75" | ||||||
|  |       ;; primary content | ||||||
|  |       +solarized-s-base00    "#657b83" | ||||||
|  |       +solarized-s-base0     "#839496" | ||||||
|  |       ;; comments | ||||||
|  |       +solarized-s-base1     "#93a1a1" | ||||||
|  |       ;; background highlight light | ||||||
|  |       +solarized-s-base2     "#eee8d5" | ||||||
|  |       ;; background light | ||||||
|  |       +solarized-s-base3     "#fdf6e3" | ||||||
|  | 
 | ||||||
|  |       ;; Solarized accented colors | ||||||
|  |       +solarized-yellow    "#b58900" | ||||||
|  |       +solarized-orange    "#cb4b16" | ||||||
|  |       +solarized-red       "#dc322f" | ||||||
|  |       +solarized-magenta   "#d33682" | ||||||
|  |       +solarized-violet    "#6c71c4" | ||||||
|  |       +solarized-blue      "#268bd2" | ||||||
|  |       +solarized-cyan      "#2aa198" | ||||||
|  |       +solarized-green     "#859900" | ||||||
|  | 
 | ||||||
|  |       ;; Darker and lighter accented colors | ||||||
|  |       ;; Only use these in exceptional circumstances! | ||||||
|  |       +solarized-yellow-d  "#7B6000" | ||||||
|  |       +solarized-yellow-l  "#DEB542" | ||||||
|  |       +solarized-orange-d  "#8B2C02" | ||||||
|  |       +solarized-orange-l  "#F2804F" | ||||||
|  |       +solarized-red-d     "#990A1B" | ||||||
|  |       +solarized-red-l     "#FF6E64" | ||||||
|  |       +solarized-magenta-d "#93115C" | ||||||
|  |       +solarized-magenta-l "#F771AC" | ||||||
|  |       +solarized-violet-d  "#3F4D91" | ||||||
|  |       +solarized-violet-l  "#9EA0E5" | ||||||
|  |       +solarized-blue-d    "#00629D" | ||||||
|  |       +solarized-blue-l    "#69B7F0" | ||||||
|  |       +solarized-cyan-d    "#00736F" | ||||||
|  |       +solarized-cyan-l    "#69CABF" | ||||||
|  |       +solarized-green-d   "#546E00" | ||||||
|  |       +solarized-green-l "#B4C342") | ||||||
|  | 
 | ||||||
|  | (defadvice load-theme (after theme-set-overrides activate) | ||||||
|  |   (dolist (theme-settings theme-overrides) | ||||||
|  |     (let ((theme (car theme-settings)) | ||||||
|  |           (faces (cadr theme-settings))) | ||||||
|  |       (if (member theme custom-enabled-themes) | ||||||
|  |           (dolist (face faces) | ||||||
|  |             (custom-theme-set-faces theme face)))))) | ||||||
|  | 
 | ||||||
|  | (defcustom theme-overrides nil | ||||||
|  |   "Association list of override faces to set for different custom themes.") | ||||||
|  | 
 | ||||||
|  | (defun alist-set (alist-symbol key value) | ||||||
|  |   "Set VALUE of a KEY in ALIST-SYMBOL." | ||||||
|  |   (set alist-symbol (cons (list key value) (assq-delete-all key (eval alist-symbol))))) | ||||||
|  | 
 | ||||||
|  | (alist-set 'theme-overrides 'grfn-solarized-light | ||||||
|  |            `((font-lock-doc-face ((t (:foreground ,+solarized-s-base1)))) | ||||||
|  |              (font-lock-preprocessor-face ((t (:foreground ,+solarized-red)))) | ||||||
|  |              (font-lock-keyword-face ((t (:foreground ,+solarized-green)))) | ||||||
|  | 
 | ||||||
|  |              (elixir-attribute-face ((t (:foreground ,+solarized-blue)))) | ||||||
|  |              (elixir-atom-face ((t (:foreground ,+solarized-cyan)))) | ||||||
|  |              (linum ((t (:background ,+solarized-s-base2 :foreground ,+solarized-s-base1)))) | ||||||
|  |              (line-number ((t (:background ,+solarized-s-base2 :foreground ,+solarized-s-base1)))) | ||||||
|  | 
 | ||||||
|  |              (haskell-operator-face ((t (:foreground ,+solarized-green)))) | ||||||
|  |              (haskell-keyword-face ((t (:foreground ,+solarized-cyan)))))) | ||||||
|  | 
 | ||||||
|  | (setq solarized-use-variable-pitch nil | ||||||
|  |       solarized-scale-org-headlines nil) | ||||||
|  | 
 | ||||||
|  | (add-to-list 'custom-theme-load-path "~/.doom.d/themes") | ||||||
|  | (load-theme 'grfn-solarized-light t) | ||||||
|  | 
 | ||||||
|  | (defface haskell-import-face `((t (:foreground ,+solarized-magenta))) "") | ||||||
|  | 
 | ||||||
|  | (setq doom-theme 'grfn-solarized-light) | ||||||
|  | ; (setq doom-theme 'doom-solarized-light) | ||||||
|  | 
 | ||||||
|  | (add-hook! doom-post-init | ||||||
|  |   (set-face-attribute 'bold nil :weight 'ultra-light) | ||||||
|  |   (set-face-bold-p 'bold nil)) | ||||||
|  | 
 | ||||||
|  | (defun rx-words (&rest words) | ||||||
|  |   (rx-to-string | ||||||
|  |    `(and symbol-start (group (or ,@words)) symbol-end))) | ||||||
|  | 
 | ||||||
|  | (font-lock-add-keywords | ||||||
|  |  'elixir-mode | ||||||
|  |  `((,(rx-words "def" | ||||||
|  |                "defp" | ||||||
|  |                "test" | ||||||
|  |                "describe" | ||||||
|  |                "property" | ||||||
|  |                "defrecord" | ||||||
|  |                "defmodule" | ||||||
|  |                "defstruct" | ||||||
|  |                "defdelegate" | ||||||
|  |                "defprotocol" | ||||||
|  |                "defimpl" | ||||||
|  |                "use" | ||||||
|  |                "import" | ||||||
|  |                "alias" | ||||||
|  |                "require" | ||||||
|  |                "assert" | ||||||
|  |                "refute" | ||||||
|  |                "assert_raise") | ||||||
|  |     . | ||||||
|  |     'font-lock-preprocessor-face))) | ||||||
|  | 
 | ||||||
|  | (font-lock-add-keywords | ||||||
|  |  'elixir-mode | ||||||
|  |  `((,(rx-words "def" | ||||||
|  |                "defp" | ||||||
|  |                "test" | ||||||
|  |                "describe" | ||||||
|  |                "property" | ||||||
|  |                "defrecord" | ||||||
|  |                "defmodule" | ||||||
|  |                "defstruct" | ||||||
|  |                "defdelegate" | ||||||
|  |                "use" | ||||||
|  |                "import" | ||||||
|  |                "alias" | ||||||
|  |                "require" | ||||||
|  |                "assert" | ||||||
|  |                "refute" | ||||||
|  |                "assert_raise") | ||||||
|  |     . | ||||||
|  |     'font-lock-preprocessor-face))) | ||||||
|  | 
 | ||||||
|  | (font-lock-add-keywords | ||||||
|  |  'haskell-mode | ||||||
|  |  `((,(rx-words "import") . 'haskell-import-face))) | ||||||
|  | 
 | ||||||
|  | ;; (font-lock-add-keywords | ||||||
|  | ;;  'haskell-mode | ||||||
|  | ;;  `((,(rx "-- |") . 'haskell-keyword-face))) | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | (load-file (let ((coding-system-for-read 'utf-8)) | ||||||
|  |                 (shell-command-to-string "agda-mode locate"))) | ||||||
| 
 | 
 | ||||||
| (defvar +grfn-dir (file-name-directory load-file-name)) | (defvar +grfn-dir (file-name-directory load-file-name)) | ||||||
| (defvar +grfn-snippets-dir (expand-file-name "snippets/" +grfn-dir)) | (defvar +grfn-snippets-dir (expand-file-name "snippets/" +grfn-dir)) | ||||||
|  | @ -85,9 +275,6 @@ | ||||||
| 
 | 
 | ||||||
| (def-package! org-clubhouse) | (def-package! org-clubhouse) | ||||||
| 
 | 
 | ||||||
| (setq solarized-use-variable-pitch nil |  | ||||||
|       solarized-scale-org-headlines nil) |  | ||||||
| 
 |  | ||||||
| ; (require 'doom-themes) | ; (require 'doom-themes) | ||||||
| 
 | 
 | ||||||
| ;; Should really figure out which of these is correct, eventually | ;; Should really figure out which of these is correct, eventually | ||||||
|  | @ -248,11 +435,11 @@ | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| (add-hook! haskell-mode | (add-hook! haskell-mode | ||||||
|   ;; (intero-mode) |   (intero-mode) | ||||||
|   (lsp-mode) |   ;; (lsp-mode) | ||||||
|   ;; (flycheck-add-next-checker |   (flycheck-add-next-checker | ||||||
|   ;;  'intero |    'intero | ||||||
|   ;;  'haskell-hlint) |    'haskell-hlint) | ||||||
|   (set-fill-column 80) |   (set-fill-column 80) | ||||||
|   (setq evil-shift-width 2)) |   (setq evil-shift-width 2)) | ||||||
| 
 | 
 | ||||||
|  | @ -451,44 +638,47 @@ | ||||||
| ;;                  (with-selected-window window | ;;                  (with-selected-window window | ||||||
| ;;                    (split-window-below)))))))) | ;;                    (split-window-below)))))))) | ||||||
| 
 | 
 | ||||||
| (def-package! lsp-mode | ;; (def-package! lsp-mode | ||||||
|   :after (:any haskell-mode) | ;;   :after (:any haskell-mode) | ||||||
|   :config | ;;   :config | ||||||
|   (lsp-mode) | ;;   (lsp-mode) | ||||||
|   (setq lsp-project-whitelist '("^/home/griffin/code/urb/grid/$") | ;;   (setq lsp-project-whitelist '("^/home/griffin/code/urb/grid/$") | ||||||
|         lsp-response-timeout 60) | ;;         lsp-response-timeout 60) | ||||||
|   :hook | ;;   :hook | ||||||
|   (haskell-mode . lsp-mode)) | ;;   (haskell-mode . lsp-mode)) | ||||||
| 
 | 
 | ||||||
| (def-package! lsp-ui | ;; (def-package! lsp-ui | ||||||
|   :after lsp-mode | ;;   :after lsp-mode | ||||||
|   :config | ;;   :config | ||||||
|   (setq lsp-ui-flycheck-enable t) | ;;   (setq lsp-ui-flycheck-enable t) | ||||||
|   (setq imenu-auto-rescan t) | ;;   (setq imenu-auto-rescan t) | ||||||
|   (set-face-background 'lsp-ui-doc-background +solarized-s-base2) | ;;   (set-face-background 'lsp-ui-doc-background +solarized-s-base2) | ||||||
|   (set-face-background 'lsp-face-highlight-read +solarized-s-base2) | ;;   (set-face-background 'lsp-face-highlight-read +solarized-s-base2) | ||||||
|   (set-face-background 'lsp-face-highlight-write +solarized-s-base2) | ;;   (set-face-background 'lsp-face-highlight-write +solarized-s-base2) | ||||||
|   :hook | ;;   :hook | ||||||
|   (lsp-mode . lsp-ui-mode) | ;;   (lsp-mode . lsp-ui-mode) | ||||||
|   (lsp-ui-mode . flycheck-mode)) | ;;   (lsp-ui-mode . flycheck-mode)) | ||||||
| 
 | 
 | ||||||
| (def-package! company-lsp | ;; (def-package! company-lsp | ||||||
|   :after (lsp-mode lsp-ui) | ;;   :after (lsp-mode lsp-ui) | ||||||
|   :config | ;;   :config | ||||||
|   (setq company-backends '(company-lsp)) | ;;   (setq company-backends '(company-lsp)) | ||||||
|   (setq company-lsp-async t)) | ;;   (setq company-lsp-async t)) | ||||||
| 
 | 
 | ||||||
| (def-package! lsp-haskell | ;; (def-package! lsp-haskell | ||||||
|   :after (lsp-mode lsp-ui haskell-mode) | ;;   :after (lsp-mode lsp-ui haskell-mode) | ||||||
|   :hook | ;;   :hook | ||||||
|   (haskell-mode . lsp-haskell-enable) | ;;   (haskell-mode . lsp-haskell-enable) | ||||||
|   :config | ;;   :config | ||||||
|   (setq lsp-haskell-process-path-hie "/home/griffin/.local/bin/hie-wrapper")) | ;;   (setq lsp-haskell-process-path-hie "/home/griffin/.local/bin/hie-wrapper" | ||||||
|  | ;;         lsp-haskell-process-args-hie | ||||||
|  | ;;           '("-d" "-l" "/tmp/hie.log" "+RTS" "-M4G" "-H1G" "-K4G" "-A16M" "-RTS" | ||||||
|  | ;;             "--lsp"))) | ||||||
| 
 | 
 | ||||||
| (def-package! lsp-imenu | ;; (def-package! lsp-imenu | ||||||
|   :after (lsp-mode lsp-ui) | ;;   :after (lsp-mode lsp-ui) | ||||||
|   :hook | ;;   :hook | ||||||
|   (lsp-after-open . lsp-enable-imenu)) | ;;   (lsp-after-open . lsp-enable-imenu)) | ||||||
| 
 | 
 | ||||||
| (def-package! evil-magit | (def-package! evil-magit | ||||||
|   :after (magit)) |   :after (magit)) | ||||||
|  | @ -548,7 +738,3 @@ | ||||||
|    `(agda2-highlight-termination-problem-face ((t (:background ,orange :foreground ,base03)))) |    `(agda2-highlight-termination-problem-face ((t (:background ,orange :foreground ,base03)))) | ||||||
|    `(agda2-highlight-incomplete-pattern-face ((t (:background ,orange :foreground ,base03)))) |    `(agda2-highlight-incomplete-pattern-face ((t (:background ,orange :foreground ,base03)))) | ||||||
|    `(agda2-highlight-typechecks-face ((t (:background ,cyan :foreground ,base03)))))) |    `(agda2-highlight-typechecks-face ((t (:background ,cyan :foreground ,base03)))))) | ||||||
| 
 |  | ||||||
| ;; (with-eval-after-load 'intero |  | ||||||
| ;;   (setq intero-package-version "0.1.31")) |  | ||||||
| 
 |  | ||||||
|  |  | ||||||
							
								
								
									
										193
									
								
								init.el
									
										
									
									
									
								
							
							
						
						
									
										193
									
								
								init.el
									
										
									
									
									
								
							|  | @ -91,8 +91,8 @@ | ||||||
|        emacs-lisp        ; drown in parentheses |        emacs-lisp        ; drown in parentheses | ||||||
|       ;ess               ; emacs speaks statistics |       ;ess               ; emacs speaks statistics | ||||||
|       ;go                ; the hipster dialect |       ;go                ; the hipster dialect | ||||||
|       ;(haskell +intero) ; a language that's lazier than I am |       (haskell +intero) ; a language that's lazier than I am | ||||||
|        haskell           ; a language that's lazier than I am |        ;; haskell           ; a language that's lazier than I am | ||||||
|       ;hy                ; readability of scheme w/ speed of python |       ;hy                ; readability of scheme w/ speed of python | ||||||
|       ;(java +meghanada) ; the poster child for carpal tunnel syndrome |       ;(java +meghanada) ; the poster child for carpal tunnel syndrome | ||||||
|        javascript        ; all(hope(abandon(ye(who(enter(here)))))) |        javascript        ; all(hope(abandon(ye(who(enter(here)))))) | ||||||
|  | @ -152,192 +152,3 @@ | ||||||
|        ;; and additional ex commands for evil-mode. Use it as a reference for |        ;; and additional ex commands for evil-mode. Use it as a reference for | ||||||
|        ;; your own modules. |        ;; your own modules. | ||||||
|        (default +bindings +snippets +evil-commands)) |        (default +bindings +snippets +evil-commands)) | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| ;; I've swapped these keys on my keyboard |  | ||||||
| (setq x-super-keysym 'alt |  | ||||||
|       x-alt-keysym   'meta) |  | ||||||
| 
 |  | ||||||
| (setq user-mail-address "root@gws.fyi" |  | ||||||
|       user-full-name    "Griffin Smith") |  | ||||||
| 
 |  | ||||||
| ; (def-package-hook! doom-themes :disable) |  | ||||||
| 
 |  | ||||||
| (after! rust |  | ||||||
|   (setq rust-format-on-save t)) |  | ||||||
| 
 |  | ||||||
| ; (defconst rust-src-path |  | ||||||
| ;   (-> "/Users/griffin/.cargo/bin/rustc --print sysroot" |  | ||||||
| ;       shell-command-to-string |  | ||||||
| ;       string-trim |  | ||||||
| ;       (concat "/lib/rustlib/src/rust/src"))) |  | ||||||
| ; |  | ||||||
| ; (setenv "RUST_SRC_PATH" rust-src-path) |  | ||||||
| ; |  | ||||||
| ; (after! racer |  | ||||||
| ;   (setq racer-rust-src-path rust-src-path)) |  | ||||||
| ; |  | ||||||
| (add-hook! rust-mode |  | ||||||
|   (flycheck-rust-setup) |  | ||||||
|   (flycheck-mode) |  | ||||||
|   (racer-mode) |  | ||||||
|   (cargo-minor-mode)) |  | ||||||
| 
 |  | ||||||
| (add-hook! elixir-mode |  | ||||||
|   (require 'flycheck-credo) |  | ||||||
|   (setq flycheck-elixir-credo-strict t) |  | ||||||
|   (flycheck-credo-setup) |  | ||||||
| 
 |  | ||||||
|   (require 'flycheck-mix) (flycheck-mix-setup) |  | ||||||
| 
 |  | ||||||
|   (require 'flycheck-dialyxir) (flycheck-dialyxir-setup) |  | ||||||
| 
 |  | ||||||
|   (flycheck-mode)) |  | ||||||
| 
 |  | ||||||
| (setq exec-path (append exec-path '("/Users/griffin/.cargo/bin"))) |  | ||||||
| 
 |  | ||||||
| (after! cargo |  | ||||||
|   (setq cargo-process--custom-path-to-bin "/Users/griffin/.cargo/bin/cargo")) |  | ||||||
| 
 |  | ||||||
| (setq +solarized-s-base03    "#002b36" |  | ||||||
|       +solarized-s-base02    "#073642" |  | ||||||
|       ;; emphasized content |  | ||||||
|       +solarized-s-base01    "#586e75" |  | ||||||
|       ;; primary content |  | ||||||
|       +solarized-s-base00    "#657b83" |  | ||||||
|       +solarized-s-base0     "#839496" |  | ||||||
|       ;; comments |  | ||||||
|       +solarized-s-base1     "#93a1a1" |  | ||||||
|       ;; background highlight light |  | ||||||
|       +solarized-s-base2     "#eee8d5" |  | ||||||
|       ;; background light |  | ||||||
|       +solarized-s-base3     "#fdf6e3" |  | ||||||
| 
 |  | ||||||
|       ;; Solarized accented colors |  | ||||||
|       +solarized-yellow    "#b58900" |  | ||||||
|       +solarized-orange    "#cb4b16" |  | ||||||
|       +solarized-red       "#dc322f" |  | ||||||
|       +solarized-magenta   "#d33682" |  | ||||||
|       +solarized-violet    "#6c71c4" |  | ||||||
|       +solarized-blue      "#268bd2" |  | ||||||
|       +solarized-cyan      "#2aa198" |  | ||||||
|       +solarized-green     "#859900" |  | ||||||
| 
 |  | ||||||
|       ;; Darker and lighter accented colors |  | ||||||
|       ;; Only use these in exceptional circumstances! |  | ||||||
|       +solarized-yellow-d  "#7B6000" |  | ||||||
|       +solarized-yellow-l  "#DEB542" |  | ||||||
|       +solarized-orange-d  "#8B2C02" |  | ||||||
|       +solarized-orange-l  "#F2804F" |  | ||||||
|       +solarized-red-d     "#990A1B" |  | ||||||
|       +solarized-red-l     "#FF6E64" |  | ||||||
|       +solarized-magenta-d "#93115C" |  | ||||||
|       +solarized-magenta-l "#F771AC" |  | ||||||
|       +solarized-violet-d  "#3F4D91" |  | ||||||
|       +solarized-violet-l  "#9EA0E5" |  | ||||||
|       +solarized-blue-d    "#00629D" |  | ||||||
|       +solarized-blue-l    "#69B7F0" |  | ||||||
|       +solarized-cyan-d    "#00736F" |  | ||||||
|       +solarized-cyan-l    "#69CABF" |  | ||||||
|       +solarized-green-d   "#546E00" |  | ||||||
|       +solarized-green-l "#B4C342") |  | ||||||
| 
 |  | ||||||
| (defadvice load-theme (after theme-set-overrides activate) |  | ||||||
|   (dolist (theme-settings theme-overrides) |  | ||||||
|     (let ((theme (car theme-settings)) |  | ||||||
|           (faces (cadr theme-settings))) |  | ||||||
|       (if (member theme custom-enabled-themes) |  | ||||||
|           (dolist (face faces) |  | ||||||
|             (custom-theme-set-faces theme face)))))) |  | ||||||
| 
 |  | ||||||
| (defcustom theme-overrides nil |  | ||||||
|   "Association list of override faces to set for different custom themes.") |  | ||||||
| 
 |  | ||||||
| (defun alist-set (alist-symbol key value) |  | ||||||
|   "Set VALUE of a KEY in ALIST-SYMBOL." |  | ||||||
|   (set alist-symbol (cons (list key value) (assq-delete-all key (eval alist-symbol))))) |  | ||||||
| 
 |  | ||||||
| (alist-set 'theme-overrides 'grfn-solarized-light |  | ||||||
|            `((font-lock-doc-face ((t (:foreground ,+solarized-s-base1)))) |  | ||||||
|              (font-lock-preprocessor-face ((t (:foreground ,+solarized-red)))) |  | ||||||
|              (font-lock-keyword-face ((t (:foreground ,+solarized-green)))) |  | ||||||
| 
 |  | ||||||
|              (elixir-attribute-face ((t (:foreground ,+solarized-blue)))) |  | ||||||
|              (elixir-atom-face ((t (:foreground ,+solarized-cyan)))) |  | ||||||
|              (linum ((t (:background ,+solarized-s-base2 :foreground ,+solarized-s-base1)))) |  | ||||||
|              (line-number ((t (:background ,+solarized-s-base2 :foreground ,+solarized-s-base1)))) |  | ||||||
| 
 |  | ||||||
|              (haskell-operator-face ((t (:foreground ,+solarized-green)))) |  | ||||||
|              (haskell-keyword-face ((t (:foreground ,+solarized-cyan)))))) |  | ||||||
| 
 |  | ||||||
| (add-to-list 'custom-theme-load-path "~/.doom.d/themes") |  | ||||||
| (load-theme 'grfn-solarized-light t) |  | ||||||
| 
 |  | ||||||
| (defface haskell-import-face `((t (:foreground ,+solarized-magenta))) "") |  | ||||||
| 
 |  | ||||||
| (setq doom-theme 'grfn-solarized-light) |  | ||||||
| ; (setq doom-theme 'doom-solarized-light) |  | ||||||
| 
 |  | ||||||
| (add-hook! doom-post-init |  | ||||||
|   (set-face-attribute 'bold nil :weight 'ultra-light) |  | ||||||
|   (set-face-bold-p 'bold nil)) |  | ||||||
| 
 |  | ||||||
| (defun rx-words (&rest words) |  | ||||||
|   (rx-to-string |  | ||||||
|    `(and symbol-start (group (or ,@words)) symbol-end))) |  | ||||||
| 
 |  | ||||||
| (font-lock-add-keywords |  | ||||||
|  'elixir-mode |  | ||||||
|  `((,(rx-words "def" |  | ||||||
|                "defp" |  | ||||||
|                "test" |  | ||||||
|                "describe" |  | ||||||
|                "property" |  | ||||||
|                "defrecord" |  | ||||||
|                "defmodule" |  | ||||||
|                "defstruct" |  | ||||||
|                "defdelegate" |  | ||||||
|                "defprotocol" |  | ||||||
|                "defimpl" |  | ||||||
|                "use" |  | ||||||
|                "import" |  | ||||||
|                "alias" |  | ||||||
|                "require" |  | ||||||
|                "assert" |  | ||||||
|                "refute" |  | ||||||
|                "assert_raise") |  | ||||||
|     . |  | ||||||
|     'font-lock-preprocessor-face))) |  | ||||||
| 
 |  | ||||||
| (font-lock-add-keywords |  | ||||||
|  'elixir-mode |  | ||||||
|  `((,(rx-words "def" |  | ||||||
|                "defp" |  | ||||||
|                "test" |  | ||||||
|                "describe" |  | ||||||
|                "property" |  | ||||||
|                "defrecord" |  | ||||||
|                "defmodule" |  | ||||||
|                "defstruct" |  | ||||||
|                "defdelegate" |  | ||||||
|                "use" |  | ||||||
|                "import" |  | ||||||
|                "alias" |  | ||||||
|                "require" |  | ||||||
|                "assert" |  | ||||||
|                "refute" |  | ||||||
|                "assert_raise") |  | ||||||
|     . |  | ||||||
|     'font-lock-preprocessor-face))) |  | ||||||
| 
 |  | ||||||
| (font-lock-add-keywords |  | ||||||
|  'haskell-mode |  | ||||||
|  `((,(rx-words "import") . 'haskell-import-face))) |  | ||||||
| 
 |  | ||||||
| ;; (font-lock-add-keywords |  | ||||||
| ;;  'haskell-mode |  | ||||||
| ;;  `((,(rx "-- |") . 'haskell-keyword-face))) |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| (load-file (let ((coding-system-for-read 'utf-8)) |  | ||||||
|                 (shell-command-to-string "agda-mode locate"))) |  | ||||||
|  |  | ||||||
							
								
								
									
										10
									
								
								packages.el
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								packages.el
									
										
									
									
									
								
							|  | @ -68,8 +68,8 @@ | ||||||
| (package! graphql-mode) | (package! graphql-mode) | ||||||
| 
 | 
 | ||||||
| ;; Haskell | ;; Haskell | ||||||
| (package! lsp-mode) | ;; (package! lsp-mode) | ||||||
| (package! lsp-ui) | ;; (package! lsp-ui) | ||||||
| (package! lsp-haskell) | ;; (package! lsp-haskell) | ||||||
| (package! company-lsp) | ;; (package! company-lsp) | ||||||
| (package! lsp-imenu) | ;; (package! lsp-imenu) | ||||||
|  |  | ||||||
							
								
								
									
										5
									
								
								snippets/haskell-mode/annotation
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								snippets/haskell-mode/annotation
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | ||||||
|  | # key: ann | ||||||
|  | # name: annotation | ||||||
|  | # expand-env: ((yas-indent-line 'fixed)) | ||||||
|  | # -- | ||||||
|  | {-# ANN ${1:module} ("${2:HLint: ignore ${3:Reduce duplication}}" :: String) #-} | ||||||
							
								
								
									
										4
									
								
								snippets/haskell-mode/import-i
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								snippets/haskell-mode/import-i
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,4 @@ | ||||||
|  | # key: i | ||||||
|  | # name: import-i | ||||||
|  | # -- | ||||||
|  | import           ${1:Prelude} | ||||||
							
								
								
									
										6
									
								
								snippets/haskell-mode/inl
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								snippets/haskell-mode/inl
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | ||||||
|  | # -*- mode: snippet -*- | ||||||
|  | # name: inl | ||||||
|  | # key: inl | ||||||
|  | # expand-env: ((yas-indent-line 'fixed)) | ||||||
|  | # -- | ||||||
|  | {-# INLINE $1 #-} | ||||||
							
								
								
									
										5
									
								
								snippets/haskell-mode/inline
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								snippets/haskell-mode/inline
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | ||||||
|  | # key: inline | ||||||
|  | # name: inline | ||||||
|  | # expand-env: ((yas-indent-line 'fixed)) | ||||||
|  | # -- | ||||||
|  | {-# INLINE $1 #-} | ||||||
							
								
								
									
										6
									
								
								snippets/haskell-mode/language pragma
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								snippets/haskell-mode/language pragma
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | ||||||
|  | # -*- mode: snippet -*- | ||||||
|  | # name: language pragma | ||||||
|  | # key: lang | ||||||
|  | # expand-env: ((yas-indent-line 'fixed)) | ||||||
|  | # -- | ||||||
|  | {-# LANGUAGE $1 #-} | ||||||
							
								
								
									
										6
									
								
								snippets/haskell-mode/shut up, hlint
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								snippets/haskell-mode/shut up, hlint
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | ||||||
|  | # -*- mode: snippet -*- | ||||||
|  | # name: shut up, hlint | ||||||
|  | # key: dupl | ||||||
|  | # expand-env: ((yas-indent-line 'fixed)) | ||||||
|  | # -- | ||||||
|  | {-# ANN module ("HLint: ignore Reduce duplication" :: String) #-} | ||||||
							
								
								
									
										4
									
								
								snippets/js2-mode/action-type
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								snippets/js2-mode/action-type
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,4 @@ | ||||||
|  | # key: at | ||||||
|  | # name: action-type | ||||||
|  | # -- | ||||||
|  | export const ${1:FOO_BAR$(->> yas-text s-upcase (s-replace-all '(("-" . "_") (" " . "_"))))}: '${3:ns}/${1:$(-> yas-text s-dashed-words)}' = '$3/${1:$(-> yas-text s-dashed-words)}'$5 | ||||||
							
								
								
									
										6
									
								
								snippets/js2-mode/describe
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								snippets/js2-mode/describe
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | ||||||
|  | # key: desc | ||||||
|  | # name: describe | ||||||
|  | # -- | ||||||
|  | describe('$1', () => { | ||||||
|  |   $2 | ||||||
|  | }) | ||||||
							
								
								
									
										5
									
								
								snippets/js2-mode/expect
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								snippets/js2-mode/expect
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | ||||||
|  | # -*- mode: snippet -*- | ||||||
|  | # name: expect | ||||||
|  | # key: ex | ||||||
|  | # -- | ||||||
|  | expect($1).$2 | ||||||
							
								
								
									
										6
									
								
								snippets/js2-mode/header
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								snippets/js2-mode/header
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,6 @@ | ||||||
|  | # -*- mode: snippet -*- | ||||||
|  | # name: header | ||||||
|  | # key: hh | ||||||
|  | # expand-env: ((yas-indent-line 'fixed)) | ||||||
|  | # -- | ||||||
|  | //////////////////////////////////////////////////////////////////////////////// | ||||||
							
								
								
									
										7
									
								
								snippets/js2-mode/it
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								snippets/js2-mode/it
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,7 @@ | ||||||
|  | # -*- mode: snippet -*- | ||||||
|  | # name: it | ||||||
|  | # key: it | ||||||
|  | # -- | ||||||
|  | it('$1', () => { | ||||||
|  |   $2 | ||||||
|  | }) | ||||||
							
								
								
									
										5
									
								
								snippets/js2-mode/it-pending
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								snippets/js2-mode/it-pending
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,5 @@ | ||||||
|  | # -*- mode: snippet -*- | ||||||
|  | # name: it-pending | ||||||
|  | # key: xi | ||||||
|  | # -- | ||||||
|  | it('$1')$0 | ||||||
							
								
								
									
										12
									
								
								snippets/js2-mode/module
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								snippets/js2-mode/module
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,12 @@ | ||||||
|  | # key: module | ||||||
|  | # name: module | ||||||
|  | # expand-env: ((yas-indent-line (quote fixed))) | ||||||
|  | # condition: (= (length "module") (current-column)) | ||||||
|  | # -- | ||||||
|  | /** | ||||||
|  |  * @fileOverview $1 | ||||||
|  |  * @name ${2:`(file-name-nondirectory (buffer-file-name))`} | ||||||
|  |  * @author Griffin Smith | ||||||
|  |  * @license Proprietary | ||||||
|  |  */ | ||||||
|  | $3 | ||||||
							
								
								
									
										7
									
								
								snippets/js2-mode/record
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								snippets/js2-mode/record
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,7 @@ | ||||||
|  | # -*- mode: snippet -*- | ||||||
|  | # name: record | ||||||
|  | # key: rec | ||||||
|  | # -- | ||||||
|  | export default class $1 extends Record({ | ||||||
|  |   $2 | ||||||
|  | }) {} | ||||||
							
								
								
									
										7
									
								
								snippets/js2-mode/test
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								snippets/js2-mode/test
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,7 @@ | ||||||
|  | # -*- mode: snippet -*- | ||||||
|  | # name: test | ||||||
|  | # key: test | ||||||
|  | # -- | ||||||
|  | test('$1', () => { | ||||||
|  |   $2 | ||||||
|  | }) | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue