(defun fira-code-mode--make-alist (list) "Generate prettify-symbols alist from LIST." (let ((idx -1)) (mapcar (lambda (s) (setq idx (1+ idx)) (let* ((code (+ #Xe100 idx)) (width (string-width s)) (prefix ()) (suffix '(?\s (Br . Br))) (n 1)) (while (< n width) (setq prefix (append prefix '(?\s (Br . Bl)))) (setq n (1+ n))) (cons s (append prefix suffix (list (decode-char 'ucs code)))))) list))) (defconst fira-code-mode--ligatures '("www" "**" "***" "**/" "*>" "*/" "\\\\" "\\\\\\" "{-" "[]" "::" ":::" ":=" "!!" "!=" "!==" "-}" "--" "---" "-->" "->" "->>" "-<" "-<<" "-~" "#{" "#[" "##" "###" "####" "#(" "#?" "#_" "#_(" ".-" ".=" ".." "..<" "..." "?=" "??" ";;" "/*" "/**" "/=" "/==" "/>" "//" "///" "&&" "||" "||=" "|=" "|>" "^=" "$>" "++" "+++" "+>" "=:=" "==" "===" "==>" "=>" "=>>" "<=" "=<<" "=/=" ">-" ">=" ">=>" ">>" ">>-" ">>=" ">>>" "<*" "<*>" "<|" "<|>" "<$" "<$>" "