Use ligatures instead of prettify-symbols
This commit is contained in:
parent
80b92ec9f4
commit
cf0813bc7c
@ -128,6 +128,80 @@
|
|||||||
(trailing-whitespace ((t (:inherit nil :background "red3")))))
|
(trailing-whitespace ((t (:inherit nil :background "red3")))))
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
** Use ligatures
|
||||||
|
|
||||||
|
#+begin_src emacs-lisp
|
||||||
|
(use-package ligature
|
||||||
|
:config
|
||||||
|
;; Enable the "www" ligature in every possible major mode
|
||||||
|
(ligature-set-ligatures 't '("www"))
|
||||||
|
;; Enable traditional ligature support in eww-mode, if the
|
||||||
|
;; `variable-pitch' face supports it
|
||||||
|
(ligature-set-ligatures 'eww-mode '("ff" "fi" "ffi"))
|
||||||
|
;; Enable all Cascadia and Fira Code ligatures in programming modes
|
||||||
|
(ligature-set-ligatures 'prog-mode
|
||||||
|
'(;; == === ==== => =| =>>=>=|=>==>> ==< =/=//=// =~
|
||||||
|
;; =:= =!=
|
||||||
|
("=" (rx (+ (or ">" "<" "|" "/" "~" ":" "!" "="))))
|
||||||
|
;; ;; ;;;
|
||||||
|
(";" (rx (+ ";")))
|
||||||
|
;; && &&&
|
||||||
|
("&" (rx (+ "&")))
|
||||||
|
;; !! !!! !. !: !!. != !== !~
|
||||||
|
("!" (rx (+ (or "=" "!" "\." ":" "~"))))
|
||||||
|
;; ?? ??? ?: ?= ?.
|
||||||
|
("?" (rx (or ":" "=" "\." (+ "?"))))
|
||||||
|
;; %% %%%
|
||||||
|
("%" (rx (+ "%")))
|
||||||
|
;; |> ||> |||> ||||> |] |} || ||| |-> ||-||
|
||||||
|
;; |->>-||-<<-| |- |== ||=||
|
||||||
|
;; |==>>==<<==<=>==//==/=!==:===>
|
||||||
|
("|" (rx (+ (or ">" "<" "|" "/" ":" "!" "}" "\]"
|
||||||
|
"-" "=" ))))
|
||||||
|
;; \\ \\\ \/
|
||||||
|
("\\" (rx (or "/" (+ "\\"))))
|
||||||
|
;; ++ +++ ++++ +>
|
||||||
|
("+" (rx (or ">" (+ "+"))))
|
||||||
|
;; :: ::: :::: :> :< := :// ::=
|
||||||
|
(":" (rx (or ">" "<" "=" "//" ":=" (+ ":"))))
|
||||||
|
;; // /// //// /\ /* /> /===:===!=//===>>==>==/
|
||||||
|
("/" (rx (+ (or ">" "<" "|" "/" "\\" "\*" ":" "!"
|
||||||
|
"="))))
|
||||||
|
;; .. ... .... .= .- .? ..= ..<
|
||||||
|
("\." (rx (or "=" "-" "\?" "\.=" "\.<" (+ "\."))))
|
||||||
|
;; -- --- ---- -~ -> ->> -| -|->-->>->--<<-|
|
||||||
|
("-" (rx (+ (or ">" "<" "|" "~" "-"))))
|
||||||
|
;; *> */ *) ** *** ****
|
||||||
|
("*" (rx (or ">" "/" ")" (+ "*"))))
|
||||||
|
;; www wwww
|
||||||
|
("w" (rx (+ "w")))
|
||||||
|
;; <> <!-- <|> <: <~ <~> <~~ <+ <* <$ </ <+> <*>
|
||||||
|
;; <$> </> <| <|| <||| <|||| <- <-| <-<<-|-> <->>
|
||||||
|
;; <<-> <= <=> <<==<<==>=|=>==/==//=!==:=>
|
||||||
|
;; << <<< <<<<
|
||||||
|
("<" (rx (+ (or "\+" "\*" "\$" "<" ">" ":" "~" "!"
|
||||||
|
"-" "/" "|" "="))))
|
||||||
|
;; >: >- >>- >--|-> >>-|-> >= >== >>== >=|=:=>>
|
||||||
|
;; >> >>> >>>>
|
||||||
|
(">" (rx (+ (or ">" "<" "|" "/" ":" "=" "-"))))
|
||||||
|
;; #: #= #! #( #? #[ #{ #_ #_( ## ### #####
|
||||||
|
("#" (rx (or ":" "=" "!" "(" "\?" "\[" "{" "_(" "_"
|
||||||
|
(+ "#"))))
|
||||||
|
;; ~~ ~~~ ~= ~- ~@ ~> ~~>
|
||||||
|
("~" (rx (or ">" "=" "-" "@" "~>" (+ "~"))))
|
||||||
|
;; __ ___ ____ _|_ __|____|_
|
||||||
|
("_" (rx (+ (or "_" "|"))))
|
||||||
|
;; Fira code: 0xFF 0x12
|
||||||
|
("0" (rx (and "x" (+ (in "A-F" "a-f" "0-9")))))
|
||||||
|
;; Fira code:
|
||||||
|
"Fl" "Tl" "fi" "fj" "fl" "ft"
|
||||||
|
;; The few not covered by the regexps.
|
||||||
|
"{|" "[|" "]#" "(*" "}#" "$>" "^="))
|
||||||
|
;; Enables ligature checks globally in all buffers. You can also do it
|
||||||
|
;; per mode with `ligature-mode'.
|
||||||
|
(global-ligature-mode t))
|
||||||
|
#+end_src
|
||||||
|
|
||||||
** Set up my personal keymap
|
** Set up my personal keymap
|
||||||
|
|
||||||
I set it up early so i can use it in ~use-package~ calls immediately.
|
I set it up early so i can use it in ~use-package~ calls immediately.
|
||||||
@ -1336,9 +1410,9 @@ If ENABLE is set, explicitly enable dark mode despite the current setting."
|
|||||||
|
|
||||||
Because we can.
|
Because we can.
|
||||||
|
|
||||||
#+BEGIN_SRC emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(global-prettify-symbols-mode t)
|
(global-prettify-symbols-mode t)
|
||||||
#+END_SRC
|
#+end_src
|
||||||
|
|
||||||
And set up all the pretty symbols.
|
And set up all the pretty symbols.
|
||||||
|
|
||||||
@ -1346,14 +1420,10 @@ And set up all the pretty symbols.
|
|||||||
(setq prettify-symbols-alist
|
(setq prettify-symbols-alist
|
||||||
'(("lambda" . ?λ)
|
'(("lambda" . ?λ)
|
||||||
("function" . ?ƒ)
|
("function" . ?ƒ)
|
||||||
("->" . ?→)
|
|
||||||
("=>" . ?⇒)
|
|
||||||
("map" . ?↦)
|
("map" . ?↦)
|
||||||
("not" . ?¬)
|
("not" . ?¬)
|
||||||
("and" . ?∧)
|
("and" . ?∧)
|
||||||
("or" . ?∨)
|
("or" . ?∨)))
|
||||||
("<=" . ?≤)
|
|
||||||
(">=" . ?≥)))
|
|
||||||
#+END_SRC
|
#+END_SRC
|
||||||
|
|
||||||
Finally, set the frame title to the current file name
|
Finally, set the frame title to the current file name
|
||||||
|
Loading…
Reference in New Issue
Block a user