|
|
- ;;; custom-ligatures --- PragmataPro specific ligatures
-
- ;;; Commentary:
- ;; Enable ligatures without prettify-symbols
-
- ;; All ligatures (for testing)
-
- ;; [ERROR]
- ;; [DEBUG]
- ;; [INFO]
- ;; [WARN]
- ;; [WARNING]
- ;; [ERR]
- ;; [FATAL]
- ;; [TRACE]
- ;; !!
- ;; !=
- ;; !==
- ;; !!!
- ;; !≡
- ;; !≡≡
- ;; !>
- ;; #(
- ;; #_
- ;; #{
- ;; #?
- ;; #>
- ;; ##
- ;; %=
- ;; %>
- ;; &%
- ;; &&
- ;; &*
- ;; &+
- ;; &-
- ;; &/
- ;; &=
- ;; &&&
- ;; &>
- ;; ***
- ;; *=
- ;; */
- ;; *>
- ;; ++
- ;; +++
- ;; +=
- ;; +>
- ;; ++=
- ;; --
- ;; -<
- ;; -<<
- ;; -=
- ;; ->
- ;; ->>
- ;; ---
- ;; -->
- ;; -+-
- ;; -\/
- ;; ..
- ;; ...
- ;; ..<
- ;; .>
- ;; .~
- ;; .=
- ;; /*
- ;; //
- ;; />
- ;; /=
- ;; /==
- ;; ///
- ;; /**
- ;; ::
- ;; :=
- ;; :≡
- ;; :>
- ;; :=>
- ;; <$>
- ;; <*
- ;; <*>
- ;; <+>
- ;; <-
- ;; <<
- ;; <<<
- ;; <<=
- ;; <=
- ;; <=>
- ;; <>
- ;; <|>
- ;; <<-
- ;; <|
- ;; <=<
- ;; <~
- ;; <~~
- ;; <<~
- ;; <$
- ;; <+
- ;; <!>
- ;; <@>
- ;; <#>
- ;; <%>
- ;; <^>
- ;; <&>
- ;; <?>
- ;; <.>
- ;; </>
- ;; <\>
- ;; <">
- ;; <:>
- ;; <~>
- ;; <**>
- ;; <<^
- ;; <!
- ;; <@
- ;; <#
- ;; <%
- ;; <^
- ;; <&
- ;; <?
- ;; <.
- ;; </
- ;; <\
- ;; <"
- ;; <:
- ;; <->
- ;; <!--
- ;; <--
- ;; <~<
- ;; <==>
- ;; ==<
- ;; ==
- ;; ===
- ;; ==>
- ;; =>
- ;; =~
- ;; =>>
- ;; =/=
- ;; ≡≡
- ;; ≡≡≡
- ;; ≡:≡
- ;; >-
- ;; >=
- ;; >>
- ;; >>-
- ;; >==
- ;; >>>
- ;; >=>
- ;; >>^
- ;; ??
- ;; ?~
- ;; ?=
- ;; ?>
- ;; ???
- ;; ^=
- ;; ^.
- ;; ^?
- ;; ^..
- ;; ^<<
- ;; ^>>
- ;; ^>
- ;; \\
- ;; \>
- ;; \/-
- ;; @>
- ;; |=
- ;; ||
- ;; |>
- ;; |||
- ;; |+|
- ;; |->
- ;; |-->
- ;; |=>
- ;; |==>
- ;; ~=
- ;; ~>
- ;; ~~>
- ;; ~>>
- ;; ">
-
- ;;; Code:
-
- (defconst pragmatapro-fontlock-keywords-alist
- (mapcar (lambda (regex-char-pair)
- `(,(car regex-char-pair)
- (0 (prog1 ()
- (compose-region (match-beginning 1)
- (match-end 1)
- ,(concat (list ?\C-i)
- (list (decode-char 'ucs (cadr regex-char-pair)))))))))
- '(("\\(\\[ERROR\\]\\)" #XE380)
- ("\\(\\[DEBUG\\]\\)" #XE381)
- ("\\(\\[INFO\\]\\)" #XE382)
- ("\\(\\[WARN\\]\\)" #XE383)
- ("\\(\\[WARNING\\]\\)" #XE384)
- ("\\(\\[ERR\\]\\)" #XE385)
- ("\\(\\[FATAL\\]\\)" #XE386)
- ("\\(\\[TRACE\\]\\)" #XE387)
- ("\\(!!\\)" #XE900)
- ("\\(!=\\)" #XE901)
- ("\\(!==\\)" #XE902)
- ("\\(!!!\\)" #XE903)
- ("\\(!≡\\)" #XE904)
- ("\\(!≡≡\\)" #XE905)
- ("[^<]\\(!>\\)" #XE906)
- ("\\(#(\\)" #XE920)
- ("\\(#_\\)" #XE921)
- ("\\(#{\\)" #XE922)
- ("\\(#\\?\\)" #XE923)
- ("[^<]\\(#>\\)" #XE924)
- ("\\(##\\)" #XE925)
- ("\\(%=\\)" #XE930)
- ("[^<]\\(%>\\)" #XE931)
- ("\\(&%\\)" #XE940)
- ("\\(&&\\)" #XE941)
- ("\\(&\\*\\)" #XE942)
- ("\\(&\\+\\)" #XE943)
- ("\\(&-\\)" #XE944)
- ("\\(&/\\)" #XE945)
- ("\\(&=\\)" #XE946)
- ("\\(&&&\\)" #XE947)
- ("[^<]\\(&>\\)" #XE948)
- ("\\(\\*\\*\\*\\)" #XE960)
- ("\\(\\*=\\)" #XE961)
- ("\\(\\*/\\)" #XE962)
- ("[^<]\\(\\*>\\)" #XE963)
- ("\\(\\+\\+\\)" #XE970)
- ("\\(\\+\\+\\+\\)" #XE971)
- ("[^\\+]\\(\\+=\\)" #XE972)
- ("[^<]\\(\\+>\\)" #XE973)
- ("\\(\\+\\+=\\)" #XE974)
- ("\\(--\\)" #XE980)
- ("[^-]\\(-<\\)" #XE981)
- ("\\(-<<\\)" #XE982)
- ("\\(-=\\)" #XE983)
- ("[^|]\\(->\\)" #XE984)
- ("[^|]\\(->>\\)" #XE985)
- ("\\(---\\)" #XE986)
- ("\\(-->\\)" #XE987)
- ("\\(-\\+-\\)" #XE988)
- ("\\(-\\\\/\\)" #XE989)
- ("[^\\^]\\(\\.\\.\\)" #XE990)
- ("\\(\\.\\.\\.\\)" #XE991)
- ("\\(\\.\\.<\\)" #XE992)
- ("\\(\\.>\\)" #XE993)
- ("\\(\\.~\\)" #XE994)
- ("\\(\\.=\\)" #XE995)
- ("\\(/\\*\\)" #XE9A0)
- ("\\(//\\)" #XE9A1)
- ("[^<]\\(/>\\)" #XE9A2)
- ("[^=]\\(/=\\)" #XE9A3)
- ("\\(/==\\)" #XE9A4)
- ("\\(///\\)" #XE9A5)
- ("\\(/\\*\\*\\)" #XE9A6)
- ("\\(::\\)" #XE9B0)
- ("\\(:=\\)" #XE9B1)
- ("[^≡]\\(:≡\\)" #XE9B2)
- ("\\(:>\\)" #XE9B3)
- ("\\(:=>\\)" #XE9B4)
- ("\\(<\\*\\)" #XE9C1)
- ("\\(<\\*>\\)" #XE9C2)
- ("[^<]\\(<-\\)" #XE9C4)
- ("[^-]\\(<<\\)" #XE9C5)
- ("\\(<<<\\)" #XE9C6)
- ("\\(<<=\\)" #XE9C7)
- ("[^<]\\(<=\\)" #XE9C8)
- ("\\(<=>\\)" #XE9C9)
- ("\\(<>\\)" #XE9CA)
- ("\\(<<-\\)" #XE9CC)
- ("\\(<|\\)" #XE9CD)
- ("\\(<|>\\)" #XE9CB)
- ("\\(<=<\\)" #XE9CE)
- ("[^<]\\(<~\\)" #XE9CF)
- ("\\(<~~\\)" #XE9D0)
- ("\\(<<~\\)" #XE9D1)
- ("\\(<\\$\\)" #XE9D2)
- ("\\(<\\$>\\)" #XE9C0)
- ("\\(<\\+\\)" #XE9D3)
- ("\\(<\\+>\\)" #XE9C3)
- ("\\(<~>\\)" #XE9E0)
- ("\\(<\\*\\*>\\)" #XE9E1)
- ("\\(<<\\^\\)" #XE9E2)
- ("\\(<!\\)" #XE9E3)
- ("\\(<!>\\)" #XE9D4)
- ("\\(<@\\)" #XE9E4)
- ("\\(<#\\)" #XE9E5)
- ("\\(<#>\\)" #XE9D6)
- ("\\(<%\\)" #XE9E6)
- ("\\(<%>\\)" #XE9D7)
- ("[^<]\\(<\\^\\)" #XE9E7)
- ("\\(<&\\)" #XE9E8)
- ("\\(<&>\\)" #XE9D9)
- ("\\(<\\?\\)" #XE9E9)
- ("\\(<\\.\\)" #XE9EA)
- ("\\(<\\.>\\)" #XE9DB)
- ("\\(</\\)" #XE9EB)
- ("\\(</>\\)" #XE9DC)
- ("\\(<\\\\\\)" #XE9EC)
- ("\\(<\"\\)" #XE9ED)
- ("\\(<\">\\)" #XE9DE)
- ("\\(<:\\)" #XE9EE)
- ("\\(<:>\\)" #XE9DF)
- ("\\(<->\\)" #XE9EF)
- ("\\(<!--\\)" #XE9F0)
- ("\\(<--\\)" #XE9F1)
- ("\\(<~<\\)" #XE9F2)
- ("\\(<==>\\)" #XE9F3)
- ("\\(==<\\)" #XEA00)
- ("[^/!<=>]\\(==\\)[^><=]" #XEA01)
- ("\\(===\\)" #XEA02)
- ("[^<]\\(==>\\)" #XEA03)
- ("[^=:<]\\(=>\\)" #XEA04)
- ("\\(=~\\)" #XEA05)
- ("\\(=>>\\)" #XEA06)
- ("\\(=/=\\)" #XEA07)
- ("[^!]\\(≡≡\\)" #XEA10)
- ("\\(≡≡≡\\)" #XEA11)
- ("\\(≡:≡\\)" #XEA12)
- ("[^>]\\(>-\\)" #XEA20)
- ("\\(>=\\)" #XEA21)
- ("[^=-]\\(>>\\)" #XEA22)
- ("\\(>>-\\)" #XEA23)
- ("\\(>==\\)" #XEA24)
- ("\\(>>>\\)" #XEA25)
- ("\\(>=>\\)" #XEA26)
- ("\\(>>\\^\\)" #XEA27)
- ("\\(\\?\\?\\)" #XEA40)
- ("\\(\\?~\\)" #XEA41)
- ("\\(\\?=\\)" #XEA42)
- ("\\(\\?>\\)" #XEA43)
- ("\\(<\\?>\\)" #XE9DA)
- ("\\(\\?\\?\\?\\)" #XEA44)
- ("\\(\\^=\\)" #XEA48)
- ("\\(\\^\\.\\)" #XEA49)
- ("\\(\\^\\?\\)" #XEA4A)
- ("\\(\\^\\.\\.\\)" #XEA4B)
- ("\\(\\^<<\\)" #XEA4C)
- ("\\(\\^>\\)" #XEA4E)
- ("\\(\\^>>\\)" #XEA4D)
- ("\\(<\\^>\\)" #XE9D8)
- ("[^\\\\]\\(\\\\\\\\\\)" #XEA50)
- ("[^<]\\(\\\\>\\)" #XEA51)
- ("\\(<\\\\>\\)" #XE9DD)
- ("\\(\\\\/-\\)" #XEA52)
- ("\\(@>\\)" #XEA57)
- ("\\(<@>\\)" #XE9D5)
- ("\\(|=\\)" #XEA60)
- ("\\(||\\)" #XEA61)
- ("[^<]\\(|>\\)" #XEA62)
- ("\\(|||\\)" #XEA63)
- ("\\(|\\+|\\)" #XEA64)
- ("\\(|->\\)" #XEA65)
- ("\\(|-->\\)" #XEA66)
- ("\\(|=>\\)" #XEA67)
- ("\\(|==>\\)" #XEA68)
- ("\\(~=\\)" #XEA70)
- ("[^~<]\\(~>\\)" #XEA71)
- ("\\(~~>\\)" #XEA72)
- ("\\(~>>\\)" #XEA73)
- ("[^<]\\(\">\\)" #XEA90))))
-
- (defun add-pragmatapro-symbol-keywords ()
- "Add the symbols to font-lock."
- (font-lock-add-keywords nil pragmatapro-fontlock-keywords-alist))
-
- (add-hook 'prog-mode-hook
- #'add-pragmatapro-symbol-keywords)
- (add-hook 'emacs-lisp-mode-hook
- #'add-pragmatapro-symbol-keywords)
-
- (provide 'custom-ligatures)
- ;;; custom-ligatures.el ends here
|