Browse Source

Add to prettify, customize rainbow-identifiers

Josh Bicking 7 years ago
parent
commit
f1655f3f92
2 changed files with 183 additions and 1 deletions
  1. 2 0
      emacs.d/init.el
  2. 181 1
      emacs.d/packages/packages.el

+ 2 - 0
emacs.d/init.el

@@ -1,3 +1,5 @@
+;; TODO Move prettify lists into their own file.
+
 ;;;; Startup
 
 ;(package-initialize)

+ 181 - 1
emacs.d/packages/packages.el

@@ -322,7 +322,16 @@
 (use-package rainbow-identifiers
   :ensure t
   :config
-  (add-hook 'prog-mode-hook #'rainbow-identifiers-mode))
+  (add-hook 'prog-mode-hook #'rainbow-identifiers-mode)
+  (setq rainbow-identifiers-faces-to-override
+        '(
+          font-lock-constant-face
+          font-lock-type-face
+          font-lock-function-name-face
+          font-lock-variable-name-face
+          font-lock-keyword-face
+          font-lock-string-face)))
+
 
 (use-package rainbow-mode
   :ensure t
@@ -456,6 +465,177 @@
 
 ;;;; Builtin configs
 
+
+(global-prettify-symbols-mode)
+
+(add-hook 'prog-mode-hook
+          (lambda ()
+            (setq prettify-symbols-alist
+                  (append
+                   '(
+                     ("->" . ?→)
+                     ("lambda" . ?λ)
+                     ("->" . ?→)
+                     ("<=" . ?≤)
+                     (">=" . ?≥)
+                     ("!=" . ?≠)) prettify-symbols-alist))))
+
+;; List from https://github.com/cpitclaudel/.emacs.d/blob/master/lisp/prettify-alists/haskell-prettify.el
+(add-hook 'haskell-mode-hook
+            (lambda ()
+              (setq prettify-symbols-alist
+		    (append
+		     '(;; Double-struck letters
+		       ("|A|" . ?𝔸)
+		       ("|B|" . ?𝔹)
+		       ("|C|" . ?ℂ)
+		       ("|D|" . ?𝔻)
+		       ("|E|" . ?𝔼)
+		       ("|F|" . ?𝔽)
+		       ("|G|" . ?𝔾)
+		       ("|H|" . ?ℍ)
+		       ("|I|" . ?𝕀)
+		       ("|J|" . ?𝕁)
+		       ("|K|" . ?𝕂)
+		       ("|L|" . ?𝕃)
+		       ("|M|" . ?𝕄)
+		       ("|N|" . ?ℕ)
+		       ("|O|" . ?𝕆)
+		       ("|P|" . ?ℙ)
+		       ("|Q|" . ?ℚ)
+		       ("|R|" . ?ℝ)
+		       ("|S|" . ?𝕊)
+		       ("|T|" . ?𝕋)
+		       ("|U|" . ?𝕌)
+		       ("|V|" . ?𝕍)
+		       ("|W|" . ?𝕎)
+		       ("|X|" . ?𝕏)
+		       ("|Y|" . ?𝕐)
+		       ("|Z|" . ?ℤ)
+		       ("|gamma|" . ?ℽ)
+		       ("|Gamma|" . ?ℾ)
+		       ("|pi|" . ?ℼ)
+		       ("|Pi|" . ?ℿ)
+
+		       ;; Types
+		       ("::" . ?∷)
+
+		       ;; Quantifiers
+		       ("forall" . ?∀)
+		       ("exists" . ?∃)
+
+		       ;; Arrows
+		       ("-->" . ?⟶)
+		       ("<-" . ?←)
+		       ("<--" . ?⟵)
+		       ("<->" . ?↔)
+		       ("<-->" . ?⟷)
+
+		       ("=>" . ?⇒)
+		       ("==>" . ?⟹)
+		       ("<==" . ?⟸)
+		       ("<=>" . ?⇔)
+		       ("<==>" . ?⟺)
+
+		       ("|->" . ?↦)
+		       ("|-->" . ?⟼)
+		       ("<-|" . ?↤)
+		       ("<--|" . ?⟻)
+
+		       ("|=>" . ?⤇)
+		       ("|==>" . ?⟾)
+		       ("<=|" . ?⤆)
+		       ("<==|" . ?⟽)
+
+		       ("~>" . ?⇝)
+		       ("<~" . ?⇜)
+
+		       (">->" . ?↣)
+		       ("<-<" . ?↢)
+		       ("->>" . ?↠)
+		       ("<<-" . ?↞)
+
+		       (">->>" . ?⤖)
+		       ("<<-<" . ?⬻)
+
+		       ("<|-" . ?⇽)
+		       ("-|>" . ?⇾)
+		       ("<|-|>" . ?⇿)
+
+		       ("<-/-" . ?↚)
+		       ("-/->" . ?↛)
+
+		       ("<-|-" . ?⇷)
+		       ("-|->" . ?⇸)
+		       ("<-|->" . ?⇹)
+
+		       ("<-||-" . ?⇺)
+		       ("-||->" . ?⇻)
+		       ("<-||->" . ?⇼)
+
+		       ("-o->" . ?⇴)
+		       ("<-o-" . ?⬰)
+
+		       ;; Boolean operators
+		       ("not" . ?¬)
+		       ("&&" . ?∧)
+		       ("||" . ?∨)
+
+		       ;; Relational operators
+		       ("==" . ?≡)
+		       ("/=" . ?≠)
+		       ("<=" . ?≤)
+		       (">=" . ?≥)
+		       ("/<" . ?≮)
+		       ("/>" . ?≯)
+
+		       ;; Containers / Collections
+		       ("++" . ?⧺)
+		       ("+++" . ?⧻)
+		       ("|||" . ?⫴)
+		       ("empty" . ?∅)
+		       ("elem" . ?∈)
+		       ("notElem" . ?∉)
+		       ("member" . ?∈)
+		       ("notMember" . ?∉)
+		       ("union" . ?∪)
+		       ("intersection" . ?∩)
+		       ("isSubsetOf" . ?⊆)
+                       ("isProperSubsetOf" . ?⊂)
+
+                       ;; Other
+                       ("<<" . ?≪)
+                       (">>" . ?≫)
+                       ("<<<" . ?⋘)
+                       (">>>" . ?⋙)
+                       ("<|" . ?⊲)
+                       ("|>" . ?⊳)
+                       ("><" . ?⋈)
+                       ("mempty" . ?∅)
+                       ("mappend" . ?⊕)
+                       ("<*>" . ?⊛)
+                       ("undefined" . ?⊥)
+                       (":=" . ?≔)
+                       ("=:" . ?≕)
+                       ("=def" . ?≝)
+                       ("=?" . ?≟)
+                       ("..." . ?…)) prettify-symbols-alist))))
+
+(setq python--prettify-symbols-alist
+  (append
+   '(("def" .      #x2131)
+     ("not" .      #x2757)
+     ("return" .   #x27fc)
+     ("yield" .    #x27fb)
+     ("or" . ?∨)
+     ("and" . ?∧)
+     ("None" . ?⊥)
+     ("set()" . ?∅)
+     ("not in" . ?∉)
+     ("in" . ?∈)
+     ("is not" . ?≢)
+     ("is" . ?≡)) python--prettify-symbols-alist))
+
 (use-package flyspell
   :config
   ;; move point to previous error