diff --git a/modules/ui/pretty-code/config.el b/modules/ui/pretty-code/config.el index ed94d931d..89a1a698b 100644 --- a/modules/ui/pretty-code/config.el +++ b/modules/ui/pretty-code/config.el @@ -49,17 +49,54 @@ besides what is listed.") "An alist containing a mapping of major modes to its value for `prettify-symbols-alist'.") +;;; Automatic font-specific ligatures +(defvar +prog-ligatures-alist + (eval-when-compile + `((?! . ,(regexp-opt '("!!" "!=" "!=="))) + (?# . ,(regexp-opt '("##" "###" "####" "#(" "#:" "#=" "#?" "#[" "#_" "#_(" "#{"))) + (?$ . ,(regexp-opt '("$>" "$>>"))) + (?% . ,(regexp-opt '("%%" "%%%"))) + (?& . ,(regexp-opt '("&&" "&&&"))) + (?* . ,(regexp-opt '("*" "**" "***" "**/" "*/" "*>"))) + (?+ . ,(regexp-opt '("+" "++" "+++" "+>"))) + (?- . ,(regexp-opt '("--" "---" "-->" "-<" "-<<" "->" "->>" "-}" "-~"))) + (?. . ,(regexp-opt '(".-" ".." "..." "..<" ".="))) + (?/ . ,(regexp-opt '("/*" "/**" "//" "///" "/=" "/==" "/>"))) + (?: . ,(regexp-opt '(":" "::" ":::" ":=" ":<" ":=" ":>"))) + (?0 . "0\\(?:\\(x[a-fA-F0-9]\\).?\\)") ; Tries to match the x in 0xDEADBEEF + ;; (?x . ,(regexp-opt '("x"))) ; Also tries to match the x in 0xDEADBEEF + (?\; . ,(regexp-opt '(";;"))) + (?< . ,(regexp-opt '("" "-<" "-<<" "->" "->>" "-}" "-~"))) - (?. . ,(regexp-opt '(".-" ".." "..." "..<" ".="))) - (?/ . ,(regexp-opt '("/*" "/**" "//" "///" "/=" "/==" "/>"))) - (?: . ,(regexp-opt '(":" "::" ":::" ":=" ":<" ":=" ":>"))) - (?0 . "0\\(?:\\(x[a-fA-F0-9]\\).?\\)") ; Tries to match the x in 0xDEADBEEF - ;; (?x . ,(regexp-opt '("x"))) ; Also tries to match the x in 0xDEADBEEF - (?\; . ,(regexp-opt '(";;"))) - (?< . ,(regexp-opt '("