switching to using ligature-mode instead of self rolled.
This makes it so in org mode ligatures aren't used
This commit is contained in:
parent
44d24a1671
commit
d570c9e9f7
113
README.org
113
README.org
|
@ -409,26 +409,10 @@ Let's make xref use ripgrep instead of grep for speed.
|
||||||
** Fix NixOS
|
** Fix NixOS
|
||||||
I am currently using NixOS. In order for emacs to have access to certain programs, we need to set some environment variables
|
I am currently using NixOS. In order for emacs to have access to certain programs, we need to set some environment variables
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(add-to-list 'exec-path "/home/chris/.nix-profile/bin")
|
|
||||||
;; (add-to-list 'exec-path "/etc/profiles/per-user/chris/bin")
|
|
||||||
;; (add-to-list 'exec-path "/run/current-system/sw/bin")
|
|
||||||
(add-to-list 'exec-path "/run/current-system/profile/bin")
|
|
||||||
(add-to-list 'exec-path "/usr/bin")
|
(add-to-list 'exec-path "/usr/bin")
|
||||||
;; (add-to-list 'exec-path "/opt/android-sdk/cmdline-tools/latest/bin")
|
|
||||||
;; (add-to-list 'exec-path "/home/chris/bin")
|
|
||||||
|
|
||||||
;; (setq exec-directory "/usr/bin")
|
|
||||||
(setenv "NIX_CONF_DIR" "/etc/nix")
|
(setenv "NIX_CONF_DIR" "/etc/nix")
|
||||||
(setenv "NIX_OTHER_STORES" "/run/nix/remote-stores/*/nix")
|
|
||||||
(setenv "NIX_PATH" "nixpkgs=%h/nixpkgs:nixos=%h/nixpkgs/nixos:nixos-config=/etc/nixos/configuration.nix")
|
|
||||||
(setenv "NIX_PROFILES" "${pkgs.lib.concatStringsSep " " config.environment.profiles}")
|
|
||||||
(setenv "NIX_REMOTE" "daemon")
|
(setenv "NIX_REMOTE" "daemon")
|
||||||
(setenv "NIX_USER_PROFILE_DIR" "/nix/var/nix/profiles/per-user/%u")
|
|
||||||
(setenv "XCURSOR_THEME" "phinger-cursors-light")
|
(setenv "XCURSOR_THEME" "phinger-cursors-light")
|
||||||
;; (load "site-paths" t)
|
|
||||||
(setenv "CC" "/run/current-system/sw/bin/gcc")
|
|
||||||
(setenv "CXX" "/run/current-system/sw/bin/g++")
|
|
||||||
(setenv "QT_AUTO_SCREEN_SCALE_FACTOR" "1")
|
|
||||||
(setenv "QT_SCALE_FACTOR" "1")
|
(setenv "QT_SCALE_FACTOR" "1")
|
||||||
|
|
||||||
(defun chris/nix-reload ()
|
(defun chris/nix-reload ()
|
||||||
|
@ -509,32 +493,76 @@ Let's use =no-littering= in order to stop emacs from filling all our folders wit
|
||||||
** Ligatures
|
** Ligatures
|
||||||
Here let's try to add ligatures to our font system since the VictorMono Nerd Font supports all ligatures being a "Nerd Font".
|
Here let's try to add ligatures to our font system since the VictorMono Nerd Font supports all ligatures being a "Nerd Font".
|
||||||
#+begin_src emacs-lisp
|
#+begin_src emacs-lisp
|
||||||
(let ((alist '((?! . "\\(?:!\\(?:==\\|[!=]\\)\\)")
|
(use-package ligature
|
||||||
(?# . "\\(?:#\\(?:###?\\|_(\\|[!#(:=?[_{]\\)\\)")
|
:load-path "path-to-ligature-repo"
|
||||||
(?$ . "\\(?:\\$>\\)")
|
: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 (+ "%")))
|
||||||
(dolist (char-regexp alist)
|
;; |> ||> |||> ||||> |] |} || ||| |-> ||-||
|
||||||
(set-char-table-range composition-function-table (car char-regexp)
|
;; |->>-||-<<-| |- |== ||=||
|
||||||
`([,(cdr char-regexp) 0 font-shape-gstring]))))
|
;; |==>>==<<==<=>==//==/=!==:===>
|
||||||
|
("|" (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
|
#+end_src
|
||||||
|
|
||||||
** Keybindings
|
** Keybindings
|
||||||
|
@ -818,6 +846,7 @@ Let's start by creating a self contained function of what I'd like started on ev
|
||||||
(set-face-attribute 'org-block-end-line nil :inherit 'org-block-begin-line)
|
(set-face-attribute 'org-block-end-line nil :inherit 'org-block-begin-line)
|
||||||
(set-face-attribute 'org-column nil :background "#242631" :inherit 'fixed-pitch)
|
(set-face-attribute 'org-column nil :background "#242631" :inherit 'fixed-pitch)
|
||||||
(set-face-attribute 'org-quote nil :background "#242631" :inherit 'fixed-pitch)
|
(set-face-attribute 'org-quote nil :background "#242631" :inherit 'fixed-pitch)
|
||||||
|
(set-face-attribute 'org-table nil :inherit 'fixed-pitch)
|
||||||
|
|
||||||
;; Setup better completion functions for org mode
|
;; Setup better completion functions for org mode
|
||||||
(setq-local completion-at-point-functions
|
(setq-local completion-at-point-functions
|
||||||
|
|
113
init.el
113
init.el
|
@ -199,26 +199,10 @@
|
||||||
|
|
||||||
(setq xref-search-program 'ripgrep)
|
(setq xref-search-program 'ripgrep)
|
||||||
|
|
||||||
(add-to-list 'exec-path "/home/chris/.nix-profile/bin")
|
|
||||||
;; (add-to-list 'exec-path "/etc/profiles/per-user/chris/bin")
|
|
||||||
;; (add-to-list 'exec-path "/run/current-system/sw/bin")
|
|
||||||
(add-to-list 'exec-path "/run/current-system/profile/bin")
|
|
||||||
(add-to-list 'exec-path "/usr/bin")
|
(add-to-list 'exec-path "/usr/bin")
|
||||||
;; (add-to-list 'exec-path "/opt/android-sdk/cmdline-tools/latest/bin")
|
|
||||||
;; (add-to-list 'exec-path "/home/chris/bin")
|
|
||||||
|
|
||||||
;; (setq exec-directory "/usr/bin")
|
|
||||||
(setenv "NIX_CONF_DIR" "/etc/nix")
|
(setenv "NIX_CONF_DIR" "/etc/nix")
|
||||||
(setenv "NIX_OTHER_STORES" "/run/nix/remote-stores/*/nix")
|
|
||||||
(setenv "NIX_PATH" "nixpkgs=%h/nixpkgs:nixos=%h/nixpkgs/nixos:nixos-config=/etc/nixos/configuration.nix")
|
|
||||||
(setenv "NIX_PROFILES" "${pkgs.lib.concatStringsSep " " config.environment.profiles}")
|
|
||||||
(setenv "NIX_REMOTE" "daemon")
|
(setenv "NIX_REMOTE" "daemon")
|
||||||
(setenv "NIX_USER_PROFILE_DIR" "/nix/var/nix/profiles/per-user/%u")
|
|
||||||
(setenv "XCURSOR_THEME" "phinger-cursors-light")
|
(setenv "XCURSOR_THEME" "phinger-cursors-light")
|
||||||
;; (load "site-paths" t)
|
|
||||||
(setenv "CC" "/run/current-system/sw/bin/gcc")
|
|
||||||
(setenv "CXX" "/run/current-system/sw/bin/g++")
|
|
||||||
(setenv "QT_AUTO_SCREEN_SCALE_FACTOR" "1")
|
|
||||||
(setenv "QT_SCALE_FACTOR" "1")
|
(setenv "QT_SCALE_FACTOR" "1")
|
||||||
|
|
||||||
(defun chris/nix-reload ()
|
(defun chris/nix-reload ()
|
||||||
|
@ -264,32 +248,76 @@
|
||||||
kept-old-versions 5 ; and how many of the old
|
kept-old-versions 5 ; and how many of the old
|
||||||
)
|
)
|
||||||
|
|
||||||
(let ((alist '((?! . "\\(?:!\\(?:==\\|[!=]\\)\\)")
|
(use-package ligature
|
||||||
(?# . "\\(?:#\\(?:###?\\|_(\\|[!#(:=?[_{]\\)\\)")
|
:load-path "path-to-ligature-repo"
|
||||||
(?$ . "\\(?:\\$>\\)")
|
: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 (+ "%")))
|
||||||
(dolist (char-regexp alist)
|
;; |> ||> |||> ||||> |] |} || ||| |-> ||-||
|
||||||
(set-char-table-range composition-function-table (car char-regexp)
|
;; |->>-||-<<-| |- |== ||=||
|
||||||
`([,(cdr char-regexp) 0 font-shape-gstring]))))
|
;; |==>>==<<==<=>==//==/=!==:===>
|
||||||
|
("|" (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))
|
||||||
|
|
||||||
(use-package evil
|
(use-package evil
|
||||||
:init
|
:init
|
||||||
|
@ -544,6 +572,7 @@
|
||||||
(set-face-attribute 'org-block-end-line nil :inherit 'org-block-begin-line)
|
(set-face-attribute 'org-block-end-line nil :inherit 'org-block-begin-line)
|
||||||
(set-face-attribute 'org-column nil :background "#242631" :inherit 'fixed-pitch)
|
(set-face-attribute 'org-column nil :background "#242631" :inherit 'fixed-pitch)
|
||||||
(set-face-attribute 'org-quote nil :background "#242631" :inherit 'fixed-pitch)
|
(set-face-attribute 'org-quote nil :background "#242631" :inherit 'fixed-pitch)
|
||||||
|
(set-face-attribute 'org-table nil :inherit 'fixed-pitch)
|
||||||
|
|
||||||
;; Setup better completion functions for org mode
|
;; Setup better completion functions for org mode
|
||||||
(setq-local completion-at-point-functions
|
(setq-local completion-at-point-functions
|
||||||
|
|
Loading…
Reference in a new issue