diff --git a/programs/emacs/default.el b/programs/emacs/default.el index 4724f2d..3862284 100644 --- a/programs/emacs/default.el +++ b/programs/emacs/default.el @@ -559,6 +559,20 @@ :commands (academic-phrases academic-phrases-by-section)) + +(use-package ligature + :config + (ligature-set-ligatures 'prog-mode + '("&&" "***" "*>" "\\\\" "||" "|>" "::" + "==" "===" "==>" "=>" "=<<" "!!" ">>" + ">>=" ">>>" ">>-" ">-" "->" "-<" "-<<" + "<*" "<*>" "<|" "<|>" "<$>" "<>" "<-" + ; disable ++ until > emacs-27.2, since C++-mode causes a crash otherwise + ; "<<" "<<<" "<+>" ".." "..." "++" "+++" + "<<" "<<<" "<+>" ".." "..." "+++" + "/=" ":::" ">=>" "->>" "<=>" "<=<" "<->")) + (global-ligature-mode t)) + (custom-set-faces ;; custom-set-faces was added by Custom. ;; If you edit it by hand, you could mess it up, so be careful. diff --git a/programs/emacs/default.nix b/programs/emacs/default.nix index 48c0279..58a405b 100644 --- a/programs/emacs/default.nix +++ b/programs/emacs/default.nix @@ -84,7 +84,10 @@ let yaml-mode yasnippet #zenburn-theme - ] ++ (with lpkgs; [org-roam-ui]))); + ] ++ (with lpkgs; [ + org-roam-ui + ligatures + ]))); in { services.emacs = { diff --git a/programs/emacs/packages.nix b/programs/emacs/packages.nix index 273c95c..cbb6946 100644 --- a/programs/emacs/packages.nix +++ b/programs/emacs/packages.nix @@ -16,4 +16,15 @@ with epkgs; rec{ cp -r out $out/share/emacs/site-lisp ''; }; + + ligatures = trivialBuild { + pname = "ligatures"; + version = "unstable-2021-08-27"; + src = pkgs.fetchFromGitHub { + owner = "mickeynp"; + repo = "ligature.el"; + rev = "d3426509cc5436a12484d91e48abd7b62429b7ef"; + sha256 = "baFDkfQLM2MYW2QhMpPnOMSfsLlcp9fO5xfyioZzOqg="; + }; + }; }