diff --git a/modules/ui/pretty-code/+fira.el b/modules/ui/pretty-code/+fira.el index a62b9a83c..276f8bffd 100644 --- a/modules/ui/pretty-code/+fira.el +++ b/modules/ui/pretty-code/+fira.el @@ -1,131 +1,134 @@ ;;; ui/pretty-code/+fira.el -*- lexical-binding: t; -*- +(defvar +pretty-code-fira-code-font-name "Fira Code Symbol" + "Name of the fira code ligature font.") + +(defvar +pretty-code-fira-code-font-ligatures + '(("www" . #Xe100) + ("**" . #Xe101) + ("***" . #Xe102) + ("**/" . #Xe103) + ("*>" . #Xe104) + ("*/" . #Xe105) + ("\\\\" . #Xe106) + ("\\\\\\" . #Xe107) + ("{-" . #Xe108) + ("[]" . #Xe109) + ("::" . #Xe10a) + (":::" . #Xe10b) + (":=" . #Xe10c) + ("!!" . #Xe10d) + ("!=" . #Xe10e) + ("!==" . #Xe10f) + ("-}" . #Xe110) + ("--" . #Xe111) + ("---" . #Xe112) + ("-->" . #Xe113) + ("->" . #Xe114) + ("->>" . #Xe115) + ("-<" . #Xe116) + ("-<<" . #Xe117) + ("-~" . #Xe118) + ("#{" . #Xe119) + ("#[" . #Xe11a) + ("##" . #Xe11b) + ("###" . #Xe11c) + ("####" . #Xe11d) + ("#(" . #Xe11e) + ("#?" . #Xe11f) + ("#_" . #Xe120) + ("#_(" . #Xe121) + (".-" . #Xe122) + (".=" . #Xe123) + (".." . #Xe124) + ("..<" . #Xe125) + ("..." . #Xe126) + ("?=" . #Xe127) + ("??" . #Xe128) + (";;" . #Xe129) + ("/*" . #Xe12a) + ("/**" . #Xe12b) + ("/=" . #Xe12c) + ("/==" . #Xe12d) + ("/>" . #Xe12e) + ("//" . #Xe12f) + ("///" . #Xe130) + ("&&" . #Xe131) + ("||" . #Xe132) + ("||=" . #Xe133) + ("|=" . #Xe134) + ("|>" . #Xe135) + ("^=" . #Xe136) + ("$>" . #Xe137) + ("++" . #Xe138) + ("+++" . #Xe139) + ("+>" . #Xe13a) + ("=:=" . #Xe13b) + ("==" . #Xe13c) + ("===" . #Xe13d) + ("==>" . #Xe13e) + ("=>" . #Xe13f) + ("=>>" . #Xe140) + ("<=" . #Xe141) + ("=<<" . #Xe142) + ("=/=" . #Xe143) + (">-" . #Xe144) + (">=" . #Xe145) + (">=>" . #Xe146) + (">>" . #Xe147) + (">>-" . #Xe148) + (">>=" . #Xe149) + (">>>" . #Xe14a) + ("<*" . #Xe14b) + ("<*>" . #Xe14c) + ("<|" . #Xe14d) + ("<|>" . #Xe14e) + ("<$" . #Xe14f) + ("<$>" . #Xe150) + ("" . #Xe113) - ("->" . #Xe114) - ("->>" . #Xe115) - ("-<" . #Xe116) - ("-<<" . #Xe117) - ("-~" . #Xe118) - ("#{" . #Xe119) - ("#[" . #Xe11a) - ("##" . #Xe11b) - ("###" . #Xe11c) - ("####" . #Xe11d) - ("#(" . #Xe11e) - ("#?" . #Xe11f) - ("#_" . #Xe120) - ("#_(" . #Xe121) - (".-" . #Xe122) - (".=" . #Xe123) - (".." . #Xe124) - ("..<" . #Xe125) - ("..." . #Xe126) - ("?=" . #Xe127) - ("??" . #Xe128) - (";;" . #Xe129) - ("/*" . #Xe12a) - ("/**" . #Xe12b) - ("/=" . #Xe12c) - ("/==" . #Xe12d) - ("/>" . #Xe12e) - ("//" . #Xe12f) - ("///" . #Xe130) - ("&&" . #Xe131) - ("||" . #Xe132) - ("||=" . #Xe133) - ("|=" . #Xe134) - ("|>" . #Xe135) - ("^=" . #Xe136) - ("$>" . #Xe137) - ("++" . #Xe138) - ("+++" . #Xe139) - ("+>" . #Xe13a) - ("=:=" . #Xe13b) - ("==" . #Xe13c) - ("===" . #Xe13d) - ("==>" . #Xe13e) - ("=>" . #Xe13f) - ("=>>" . #Xe140) - ("<=" . #Xe141) - ("=<<" . #Xe142) - ("=/=" . #Xe143) - (">-" . #Xe144) - (">=" . #Xe145) - (">=>" . #Xe146) - (">>" . #Xe147) - (">>-" . #Xe148) - (">>=" . #Xe149) - (">>>" . #Xe14a) - ("<*" . #Xe14b) - ("<*>" . #Xe14c) - ("<|" . #Xe14d) - ("<|>" . #Xe14e) - ("<$" . #Xe14f) - ("<$>" . #Xe150) - ("" . #Xe101) @@ -221,11 +224,10 @@ "Defines the character mappings for ligatures for Iosevka.") (defun +pretty-code|setup-iosevka-ligatures () - (set-fontset-font t '(#Xe100 . #Xe16f) "Iosevka") + (set-fontset-font t '(#Xe100 . #Xe16f) +pretty-code-iosevka-font-name) (setq-default prettify-symbols-alist (append prettify-symbols-alist +pretty-code-iosevka-font-ligatures))) -(add-hook! 'doom-init-ui-hook #'+pretty-code|setup-iosevka-ligatures) - +(add-hook 'doom-init-ui-hook #'+pretty-code|setup-iosevka-ligatures) diff --git a/modules/ui/pretty-code/autoload/settings.el b/modules/ui/pretty-code/autoload.el similarity index 100% rename from modules/ui/pretty-code/autoload/settings.el rename to modules/ui/pretty-code/autoload.el diff --git a/modules/ui/pretty-code/autoload/autoload.el b/modules/ui/pretty-code/autoload/autoload.el deleted file mode 100644 index 5e63825c1..000000000 --- a/modules/ui/pretty-code/autoload/autoload.el +++ /dev/null @@ -1,27 +0,0 @@ -;;; ui/pretty-code/autoload.el -*- lexical-binding: t; -*- - -;;;###autoload -(defvar +pretty-code-enabled-modes t - "List of major modes in which `prettify-symbols-mode' should be enabled. -If t, enable it everywhere. If the first element is 'not, enable it in any mode -besides what is listed.") - - -;;;###autoload -(defun +pretty-code|init-pretty-symbols () - "Enabled `prettify-symbols-mode'. - -If the current major mode is disabled in `+pretty-code-enabled-modes', this -function does nothing. Otherwise, it sets the value of -`prettify-code-symbols-alist' according to `+pretty-code-symbols-alist' for the -current major mode." - (when (or (eq +pretty-code-enabled-modes 't) - (if (eq (car +pretty-code-enabled-modes 'not)) - (not (memq major-mode (cdr +pretty-code-enabled-modes))) - (memq major-mode +pretty-code-enabled-modes))) - (setq prettify-symbols-alist - (append (alist-get major-mode +pretty-code-symbols-alist) - (default-value 'prettify-symbols-alist))) - (when prettify-symbols-mode - (prettify-symbols-mode -1)) - (prettify-symbols-mode +1))) diff --git a/modules/ui/pretty-code/config.el b/modules/ui/pretty-code/config.el index 4bea61304..10738bd6e 100644 --- a/modules/ui/pretty-code/config.el +++ b/modules/ui/pretty-code/config.el @@ -5,7 +5,31 @@ ((featurep! +iosevka) (load! "+iosevka"))) +(defvar +pretty-code-enabled-modes t + "List of major modes in which `prettify-symbols-mode' should be enabled. +If t, enable it everywhere. If the first element is 'not, enable it in any mode +besides what is listed.") + ;; When you get to the right edge, it goes back to how it normally prints (setq prettify-symbols-unprettify-at-point 'right-edge) -(add-hook! 'after-change-major-mode-hook #'+pretty-code|init-pretty-symbols) +(defun +pretty-code|init-pretty-symbols () + "Enabled `prettify-symbols-mode'. + +If the current major mode is disabled in `+pretty-code-enabled-modes', this +function does nothing. Otherwise, it sets the value of +`prettify-code-symbols-alist' according to `+pretty-code-symbols-alist' for the +current major mode." + (unless (eq major-mode 'fundamental-mode) + (when (or (eq +pretty-code-enabled-modes 't) + (if (eq (car +pretty-code-enabled-modes 'not)) + (not (memq major-mode (cdr +pretty-code-enabled-modes))) + (memq major-mode +pretty-code-enabled-modes))) + (setq prettify-symbols-alist + (append (alist-get major-mode +pretty-code-symbols-alist) + (default-value 'prettify-symbols-alist))) + (when prettify-symbols-mode + (prettify-symbols-mode -1)) + (prettify-symbols-mode +1)))) + +(add-hook 'after-change-major-mode-hook #'+pretty-code|init-pretty-symbols)