From 34e30e0f39a5e084cca15e5da261345812b7402e Mon Sep 17 00:00:00 2001 From: James Ravn Date: Fri, 8 Nov 2019 10:43:32 +0000 Subject: [PATCH 001/423] Add +pretty-code/install-iosevka-font --- modules/ui/pretty-code/+iosevka.el | 51 ++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/modules/ui/pretty-code/+iosevka.el b/modules/ui/pretty-code/+iosevka.el index 315dbd754..734eb7950 100644 --- a/modules/ui/pretty-code/+iosevka.el +++ b/modules/ui/pretty-code/+iosevka.el @@ -230,3 +230,54 @@ +pretty-code-iosevka-font-ligatures))) (add-hook 'doom-init-ui-hook #'+pretty-code-setup-iosevka-ligatures-h) + +(defvar +pretty-code--iosevka-font-names + '( + "iosevka-custom-lightoblique.ttf" + "iosevka-custom-thinoblique.ttf" + "iosevka-custom-mediumitalic.ttf" + "iosevka-custom-light.ttf" + "iosevka-custom-heavy.ttf" + "iosevka-custom-bolditalic.ttf" + "iosevka-custom-bold.ttf" + "iosevka-custom-lightitalic.ttf" + "iosevka-custom-thin.ttf" + "iosevka-custom-extralight.ttf" + "iosevka-custom-oblique.ttf" + "iosevka-custom-italic.ttf" + "iosevka-custom-heavyoblique.ttf" + "iosevka-custom-heavyitalic.ttf" + "iosevka-custom-extralightitalic.ttf" + "iosevka-custom-thinitalic.ttf" + "iosevka-custom-medium.ttf" + "iosevka-custom-mediumoblique.ttf" + "iosevka-custom-extralightoblique.ttf" + "iosevka-custom-boldoblique.ttf" + "iosevka-custom-regular.ttf")) + +(defun +pretty-code/install-iosevka-font (&optional pfx) + "Helper function to download and install Iosevka font based on OS. +When PFX is non-nil, ignore the prompt and just install" + (interactive "P") + (when (or pfx (yes-or-no-p "This will download and install the Iosevka fonts, are you sure you want to do this?")) + (let* ((url-format "https://github.com/jsravn/iosevka-emacs/raw/master/%s") + (font-dest (cl-case window-system + (x (concat (or (getenv "XDG_DATA_HOME") ;; Default Linux install directories + (concat (getenv "HOME") "/.local/share")) + "/fonts/")) + (mac (concat (getenv "HOME") "/Library/Fonts/" )) + (ns (concat (getenv "HOME") "/Library/Fonts/" )))) ;; Default MacOS install directory + (known-dest? (stringp font-dest)) + (font-dest (or font-dest (read-directory-name "Font installation directory: " "~/")))) + + (unless (file-directory-p font-dest) (mkdir font-dest t)) + + (dolist (font +pretty-code--iosevka-font-names) + (url-copy-file (format url-format font) (expand-file-name font font-dest) t)) + + (when known-dest? + (message "Font downloaded, updating font cache... ") + (shell-command-to-string (format "fc-cache -f -v"))) + (message "Successfully %s `Iosevka' fonts to `%s'!" + (if known-dest? "installed" "downloaded") + font-dest)))) From 45da8d0d5fd815f7705a141aa9afae2d36cc526f Mon Sep 17 00:00:00 2001 From: "sevensidedmarble (Andrew Stewart)" Date: Sat, 15 Feb 2020 12:22:01 -0500 Subject: [PATCH 002/423] Initial version of dart module --- modules/lang/dart/+flutter.el | 7 +++++++ modules/lang/dart/config.el | 12 ++++++++++++ modules/lang/dart/doctor.el | 11 +++++++++++ modules/lang/dart/packages.el | 6 ++++++ 4 files changed, 36 insertions(+) create mode 100644 modules/lang/dart/+flutter.el create mode 100644 modules/lang/dart/config.el create mode 100644 modules/lang/dart/doctor.el create mode 100644 modules/lang/dart/packages.el diff --git a/modules/lang/dart/+flutter.el b/modules/lang/dart/+flutter.el new file mode 100644 index 000000000..f31283902 --- /dev/null +++ b/modules/lang/dart/+flutter.el @@ -0,0 +1,7 @@ +;;; lang/dart/+flutter.el -*- lexical-binding: t; -*- + +(use-package! flutter + :config + (map! :map dart-mode-map + :localleader + "r" #'flutter-run-or-hot-reload)) diff --git a/modules/lang/dart/config.el b/modules/lang/dart/config.el new file mode 100644 index 000000000..fc574a62e --- /dev/null +++ b/modules/lang/dart/config.el @@ -0,0 +1,12 @@ +;;; lang/dart/config.el -*- lexical-binding: t; -*- + +(cond ((featurep! +flutter) (load! "+flutter")) + ((featurep! +lsp) (load! "+lsp"))) + +(use-package! dart-mode + :config + (when (featurep! +flutter) + (if IS-LINUX + (setq lsp-dart-sdk-dir "/opt/flutter/bin/cache/dart-sdk/"))) + (when (featurep! +lsp) + (add-hook 'dart-mode-hook 'lsp))) diff --git a/modules/lang/dart/doctor.el b/modules/lang/dart/doctor.el new file mode 100644 index 000000000..aa68b7bce --- /dev/null +++ b/modules/lang/dart/doctor.el @@ -0,0 +1,11 @@ +;;; lang/dart/doctor.el -*- lexical-binding: t; -*- + +(assert! (or (not (featurep! +lsp)) + (featurep! :tools lsp)) + "This module requires (:tools lsp)") + +(unless (executable-find "dart") + (warn! "Dart isn't on PATH.")) + +(unless (file-readable-p lsp-dart-sdk-dir) + (warn! "LSP Mode can't find lsp-dart-sdk-dir.")) diff --git a/modules/lang/dart/packages.el b/modules/lang/dart/packages.el new file mode 100644 index 000000000..2116e665c --- /dev/null +++ b/modules/lang/dart/packages.el @@ -0,0 +1,6 @@ +;; -*- no-byte-compile: t; -*- +;;; lang/dart/packages.el + +(package! dart-mode) +(when (featurep! +flutter) + (package! flutter)) From ac4961163c578c0e7df0551c24c0db229d569a41 Mon Sep 17 00:00:00 2001 From: "sevensidedmarble (Andrew Stewart)" Date: Mon, 17 Feb 2020 10:12:23 -0500 Subject: [PATCH 003/423] Add README.org --- modules/lang/dart/README.org | 62 ++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 modules/lang/dart/README.org diff --git a/modules/lang/dart/README.org b/modules/lang/dart/README.org new file mode 100644 index 000000000..5047e6353 --- /dev/null +++ b/modules/lang/dart/README.org @@ -0,0 +1,62 @@ +#+TITLE: lang/dart +#+DATE: February 16, 2020 +#+SINCE: February 16, 2020 +#+STARTUP: inlineimages nofold + +* Table of Contents :TOC_3:noexport: +- [[#description][Description]] + - [[#maintainers][Maintainers]] + - [[#module-flags][Module Flags]] + - [[#plugins][Plugins]] +- [[#prerequisites][Prerequisites]] +- [[#features][Features]] +- [[#configuration][Configuration]] + - [[#dart--flutter][Dart & Flutter]] + - [[#android][Android]] +- [[#troubleshooting][Troubleshooting]] + +* Description +The `dart` module wraps `dart-mode`, with LSP code completion for `.dart` files, +syntax highlighting, etc. Included is a `+lsp` flag for enabling LSP features, +and a `+flutter` flag for working with Flutter. + +** Maintainers ++ @sevensidedmarble (Author) + +** Module Flags ++ =+lsp= Will start LSP automatically in `dart-mode-hook`. ++ =+flutter= Adds the `flutter` package and some settings for Flutter development. + +** Plugins ++ [[https://github.com/bradyt/dart-mode][dart-mode]] ++ [[https://github.com/amake/flutter.el][flutter.el]] + +* Prerequisites +Make sure that the Dart SDK is on your `PATH`, and if using Flutter, make sure +the Flutter binary is on your `PATH` as well. + +* Features ++ Syntax highlighting and formatting for `.dart` files provided by LSP ++ Emacs functions for running and debugging Flutter projects + +* Configuration +** Dart & Flutter +On Linux, the installers for Dart and Flutter use the `/opt` directory, and this +module assumes that. However, you may set `lsp-dart-sdk-dir` to your Dart +install directory, if it differs, to make sure LSP can find the language server +included with the Dart SDK. + +Alternatively, these variables shouldn't be necessary if you just include Dart +and Flutter on your `PATH` variable. +** Android +You will also need to setup your system for Android development if you intend to +use Flutter to develop mobile applications. Refer to your distributions package +manager for details. In most distributions the `/opt/android-sdk` directory is +used, and you might have to change some permissions in this directory since it's +owned by root. The [[https://wiki.archlinux.org/index.php/Android][Arch Linux wiki has a great guide on this here.]] + +* Troubleshooting +See the configuration section for information on the binaries for Dart and +Flutter. On new installs to the `/opt` directory, you will likely need to edit +the permissions of the `/opt/dart-sdk` and `/opt/flutter` directories (not to +mention the Android SDK, as discussed above). From aefb0672b4f41ae284dad753f86143c6f35fcad6 Mon Sep 17 00:00:00 2001 From: "sevensidedmarble (Andrew Stewart)" Date: Mon, 17 Feb 2020 10:12:43 -0500 Subject: [PATCH 004/423] Reformat configuration --- modules/lang/dart/+flutter.el | 7 ------- modules/lang/dart/config.el | 20 +++++++++++++------- 2 files changed, 13 insertions(+), 14 deletions(-) delete mode 100644 modules/lang/dart/+flutter.el diff --git a/modules/lang/dart/+flutter.el b/modules/lang/dart/+flutter.el deleted file mode 100644 index f31283902..000000000 --- a/modules/lang/dart/+flutter.el +++ /dev/null @@ -1,7 +0,0 @@ -;;; lang/dart/+flutter.el -*- lexical-binding: t; -*- - -(use-package! flutter - :config - (map! :map dart-mode-map - :localleader - "r" #'flutter-run-or-hot-reload)) diff --git a/modules/lang/dart/config.el b/modules/lang/dart/config.el index fc574a62e..95a0e2bef 100644 --- a/modules/lang/dart/config.el +++ b/modules/lang/dart/config.el @@ -1,12 +1,18 @@ ;;; lang/dart/config.el -*- lexical-binding: t; -*- -(cond ((featurep! +flutter) (load! "+flutter")) - ((featurep! +lsp) (load! "+lsp"))) - (use-package! dart-mode + :defer t :config - (when (featurep! +flutter) - (if IS-LINUX - (setq lsp-dart-sdk-dir "/opt/flutter/bin/cache/dart-sdk/"))) + (when (and (featurep! +flutter) IS-LINUX) + (setq lsp-dart-sdk-dir "/opt/flutter/bin/cache/dart-sdk/")) (when (featurep! +lsp) - (add-hook 'dart-mode-hook 'lsp))) + (add-hook 'dart-mode-local-vars-hook #'lsp!))) + + +(when (featurep! +flutter) + (use-package! flutter + :defer t + :config + (map! :map dart-mode-map + :localleader + "r" #'flutter-run-or-hot-reload))) From 2e15387999f8a33ac7906030a1759042bb327f43 Mon Sep 17 00:00:00 2001 From: James Ravn Date: Tue, 25 Feb 2020 19:55:33 +0000 Subject: [PATCH 005/423] Move iosevka changes into pretty-code/autoload --- modules/ui/pretty-code/+iosevka.el | 51 ------------------ modules/ui/pretty-code/autoload/iosevka.el | 52 +++++++++++++++++++ .../{autoload.el => autoload/pretty-code.el} | 2 +- 3 files changed, 53 insertions(+), 52 deletions(-) create mode 100644 modules/ui/pretty-code/autoload/iosevka.el rename modules/ui/pretty-code/{autoload.el => autoload/pretty-code.el} (96%) diff --git a/modules/ui/pretty-code/+iosevka.el b/modules/ui/pretty-code/+iosevka.el index 734eb7950..315dbd754 100644 --- a/modules/ui/pretty-code/+iosevka.el +++ b/modules/ui/pretty-code/+iosevka.el @@ -230,54 +230,3 @@ +pretty-code-iosevka-font-ligatures))) (add-hook 'doom-init-ui-hook #'+pretty-code-setup-iosevka-ligatures-h) - -(defvar +pretty-code--iosevka-font-names - '( - "iosevka-custom-lightoblique.ttf" - "iosevka-custom-thinoblique.ttf" - "iosevka-custom-mediumitalic.ttf" - "iosevka-custom-light.ttf" - "iosevka-custom-heavy.ttf" - "iosevka-custom-bolditalic.ttf" - "iosevka-custom-bold.ttf" - "iosevka-custom-lightitalic.ttf" - "iosevka-custom-thin.ttf" - "iosevka-custom-extralight.ttf" - "iosevka-custom-oblique.ttf" - "iosevka-custom-italic.ttf" - "iosevka-custom-heavyoblique.ttf" - "iosevka-custom-heavyitalic.ttf" - "iosevka-custom-extralightitalic.ttf" - "iosevka-custom-thinitalic.ttf" - "iosevka-custom-medium.ttf" - "iosevka-custom-mediumoblique.ttf" - "iosevka-custom-extralightoblique.ttf" - "iosevka-custom-boldoblique.ttf" - "iosevka-custom-regular.ttf")) - -(defun +pretty-code/install-iosevka-font (&optional pfx) - "Helper function to download and install Iosevka font based on OS. -When PFX is non-nil, ignore the prompt and just install" - (interactive "P") - (when (or pfx (yes-or-no-p "This will download and install the Iosevka fonts, are you sure you want to do this?")) - (let* ((url-format "https://github.com/jsravn/iosevka-emacs/raw/master/%s") - (font-dest (cl-case window-system - (x (concat (or (getenv "XDG_DATA_HOME") ;; Default Linux install directories - (concat (getenv "HOME") "/.local/share")) - "/fonts/")) - (mac (concat (getenv "HOME") "/Library/Fonts/" )) - (ns (concat (getenv "HOME") "/Library/Fonts/" )))) ;; Default MacOS install directory - (known-dest? (stringp font-dest)) - (font-dest (or font-dest (read-directory-name "Font installation directory: " "~/")))) - - (unless (file-directory-p font-dest) (mkdir font-dest t)) - - (dolist (font +pretty-code--iosevka-font-names) - (url-copy-file (format url-format font) (expand-file-name font font-dest) t)) - - (when known-dest? - (message "Font downloaded, updating font cache... ") - (shell-command-to-string (format "fc-cache -f -v"))) - (message "Successfully %s `Iosevka' fonts to `%s'!" - (if known-dest? "installed" "downloaded") - font-dest)))) diff --git a/modules/ui/pretty-code/autoload/iosevka.el b/modules/ui/pretty-code/autoload/iosevka.el new file mode 100644 index 000000000..e68bf82df --- /dev/null +++ b/modules/ui/pretty-code/autoload/iosevka.el @@ -0,0 +1,52 @@ +;;; ui/pretty-code/autoload/iosevka.el -*- lexical-binding: t; -*- + +(defvar +pretty-code--iosevka-font-names + '( + "iosevka-custom-lightoblique.ttf" + "iosevka-custom-thinoblique.ttf" + "iosevka-custom-mediumitalic.ttf" + "iosevka-custom-light.ttf" + "iosevka-custom-heavy.ttf" + "iosevka-custom-bolditalic.ttf" + "iosevka-custom-bold.ttf" + "iosevka-custom-lightitalic.ttf" + "iosevka-custom-thin.ttf" + "iosevka-custom-extralight.ttf" + "iosevka-custom-oblique.ttf" + "iosevka-custom-italic.ttf" + "iosevka-custom-heavyoblique.ttf" + "iosevka-custom-heavyitalic.ttf" + "iosevka-custom-extralightitalic.ttf" + "iosevka-custom-thinitalic.ttf" + "iosevka-custom-medium.ttf" + "iosevka-custom-mediumoblique.ttf" + "iosevka-custom-extralightoblique.ttf" + "iosevka-custom-boldoblique.ttf" + "iosevka-custom-regular.ttf")) + +(defun +pretty-code/install-iosevka-font (&optional pfx) + "Helper function to download and install Iosevka font based on OS. +When PFX is non-nil, ignore the prompt and just install" + (interactive "P") + (when (or pfx (yes-or-no-p "This will download and install the Iosevka fonts, are you sure you want to do this?")) + (let* ((url-format "https://github.com/jsravn/iosevka-emacs/raw/master/%s") + (font-dest (cl-case window-system + (x (concat (or (getenv "XDG_DATA_HOME") ;; Default Linux install directories + (concat (getenv "HOME") "/.local/share")) + "/fonts/")) + (mac (concat (getenv "HOME") "/Library/Fonts/" )) + (ns (concat (getenv "HOME") "/Library/Fonts/" )))) ;; Default MacOS install directory + (known-dest? (stringp font-dest)) + (font-dest (or font-dest (read-directory-name "Font installation directory: " "~/")))) + + (unless (file-directory-p font-dest) (mkdir font-dest t)) + + (dolist (font +pretty-code--iosevka-font-names) + (url-copy-file (format url-format font) (expand-file-name font font-dest) t)) + + (when known-dest? + (message "Font downloaded, updating font cache... ") + (shell-command-to-string (format "fc-cache -f -v"))) + (message "Successfully %s `Iosevka' fonts to `%s'!" + (if known-dest? "installed" "downloaded") + font-dest)))) diff --git a/modules/ui/pretty-code/autoload.el b/modules/ui/pretty-code/autoload/pretty-code.el similarity index 96% rename from modules/ui/pretty-code/autoload.el rename to modules/ui/pretty-code/autoload/pretty-code.el index ee0942ea9..bdd3ce46b 100644 --- a/modules/ui/pretty-code/autoload.el +++ b/modules/ui/pretty-code/autoload/pretty-code.el @@ -1,4 +1,4 @@ -;;; ui/pretty-code/settings.el -*- lexical-binding: t; -*- +;;; ui/pretty-code/autoload/pretty-code.el -*- lexical-binding: t; -*- ;;;###autoload (defvar +pretty-code-symbols-alist '((t)) From 8ee2e327a0753881dd580afa72bbeb130ebe9215 Mon Sep 17 00:00:00 2001 From: James Ravn Date: Tue, 25 Feb 2020 20:52:47 +0000 Subject: [PATCH 006/423] Add autoload cookie to iosevka autoloads --- modules/ui/pretty-code/autoload/iosevka.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/ui/pretty-code/autoload/iosevka.el b/modules/ui/pretty-code/autoload/iosevka.el index e68bf82df..670f6fd67 100644 --- a/modules/ui/pretty-code/autoload/iosevka.el +++ b/modules/ui/pretty-code/autoload/iosevka.el @@ -1,5 +1,6 @@ ;;; ui/pretty-code/autoload/iosevka.el -*- lexical-binding: t; -*- +;;;###autoload (defvar +pretty-code--iosevka-font-names '( "iosevka-custom-lightoblique.ttf" @@ -24,6 +25,7 @@ "iosevka-custom-boldoblique.ttf" "iosevka-custom-regular.ttf")) +;;;###autoload (defun +pretty-code/install-iosevka-font (&optional pfx) "Helper function to download and install Iosevka font based on OS. When PFX is non-nil, ignore the prompt and just install" From 41140787a1b378480100e46b379643f7c9d447d8 Mon Sep 17 00:00:00 2001 From: James Ravn Date: Tue, 25 Feb 2020 21:39:37 +0000 Subject: [PATCH 007/423] Add generic font install function for pretty-code --- modules/ui/pretty-code/autoload/iosevka.el | 34 +++++---------------- modules/ui/pretty-code/config.el | 35 ++++++++++++++++++++++ 2 files changed, 43 insertions(+), 26 deletions(-) diff --git a/modules/ui/pretty-code/autoload/iosevka.el b/modules/ui/pretty-code/autoload/iosevka.el index 670f6fd67..bcd482605 100644 --- a/modules/ui/pretty-code/autoload/iosevka.el +++ b/modules/ui/pretty-code/autoload/iosevka.el @@ -1,6 +1,5 @@ ;;; ui/pretty-code/autoload/iosevka.el -*- lexical-binding: t; -*- -;;;###autoload (defvar +pretty-code--iosevka-font-names '( "iosevka-custom-lightoblique.ttf" @@ -26,29 +25,12 @@ "iosevka-custom-regular.ttf")) ;;;###autoload -(defun +pretty-code/install-iosevka-font (&optional pfx) - "Helper function to download and install Iosevka font based on OS. -When PFX is non-nil, ignore the prompt and just install" +(defun +pretty-code/install-iosevka-font (&optional prefix) + "Download and install Iosevka font based on OS. +When prefix is non-nil, ignore the prompt and just install." (interactive "P") - (when (or pfx (yes-or-no-p "This will download and install the Iosevka fonts, are you sure you want to do this?")) - (let* ((url-format "https://github.com/jsravn/iosevka-emacs/raw/master/%s") - (font-dest (cl-case window-system - (x (concat (or (getenv "XDG_DATA_HOME") ;; Default Linux install directories - (concat (getenv "HOME") "/.local/share")) - "/fonts/")) - (mac (concat (getenv "HOME") "/Library/Fonts/" )) - (ns (concat (getenv "HOME") "/Library/Fonts/" )))) ;; Default MacOS install directory - (known-dest? (stringp font-dest)) - (font-dest (or font-dest (read-directory-name "Font installation directory: " "~/")))) - - (unless (file-directory-p font-dest) (mkdir font-dest t)) - - (dolist (font +pretty-code--iosevka-font-names) - (url-copy-file (format url-format font) (expand-file-name font font-dest) t)) - - (when known-dest? - (message "Font downloaded, updating font cache... ") - (shell-command-to-string (format "fc-cache -f -v"))) - (message "Successfully %s `Iosevka' fonts to `%s'!" - (if known-dest? "installed" "downloaded") - font-dest)))) + (+pretty-code--install-font + prefix + "Iosevka" + "https://github.com/jsravn/iosevka-emacs/raw/master/%s" + +pretty-code--iosevka-font-names)) diff --git a/modules/ui/pretty-code/config.el b/modules/ui/pretty-code/config.el index a1f942bc0..bb378e39a 100644 --- a/modules/ui/pretty-code/config.el +++ b/modules/ui/pretty-code/config.el @@ -95,3 +95,38 @@ Otherwise it builds `prettify-code-symbols-alist' according to (load! "+hasklig")) ((featurep! +pragmata-pro) (load! "+pragmata-pro"))) + +(defun +pretty-code--install-font (prefix name url-format fonts-alist) + "Install fonts to the local system. + +If PREFIX is nil, will prompt whether or not to download. NAME is informational only. +URL-FORMAT is a format string that should be a url and have a single %s, which is expanded +for each font in FONTS-ALIST. FONTS-ALIST should be the filename of each font. It is used +as the source and destination filename. +" + (when (or prefix (yes-or-no-p + (format "This will download and install the %s fonts, are you sure you want to do this?" name))) + (let* ((font-dest (cl-case window-system + ;; Linux + (x (concat (or (getenv "XDG_DATA_HOME") + (concat (getenv "HOME") "/.local/share")) + "/fonts/")) + ;; MacOS + (mac (concat (getenv "HOME") "/Library/Fonts/" )) + (ns (concat (getenv "HOME") "/Library/Fonts/" )))) + (known-dest? (stringp font-dest)) + (font-dest (or font-dest (read-directory-name "Font installation directory: " "~/")))) + + (unless (file-directory-p font-dest) (mkdir font-dest t)) + + (dolist (font fonts-alist) + (url-copy-file (format url-format font) (expand-file-name font font-dest) t)) + + (when known-dest? + (message "Font downloaded, updating font cache... ") + (shell-command-to-string (format "fc-cache -f -v"))) + (message "Successfully %s `%s' fonts to `%s'!" + (if known-dest? "installed" "downloaded") + name + font-dest))) + ) From dea0320a1a27025e7ae20358d06a162f0f568a28 Mon Sep 17 00:00:00 2001 From: James Ravn Date: Tue, 25 Feb 2020 21:50:29 +0000 Subject: [PATCH 008/423] Add FiraCode download --- modules/ui/pretty-code/autoload/fira.el | 20 ++++++++++++++++++++ modules/ui/pretty-code/autoload/iosevka.el | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 modules/ui/pretty-code/autoload/fira.el diff --git a/modules/ui/pretty-code/autoload/fira.el b/modules/ui/pretty-code/autoload/fira.el new file mode 100644 index 000000000..05c3a5547 --- /dev/null +++ b/modules/ui/pretty-code/autoload/fira.el @@ -0,0 +1,20 @@ +;;; ui/pretty-code/autoload/fira.el -*- lexical-binding: t; -*- + +(defvar +pretty-code--fira-font-names + '( + "FiraCode-Bold.ttf" + "FiraCode-Light.ttf" + "FiraCode-Medium.ttf" + "FiraCode-Regular.ttf" + "FiraCode-Retina.ttf")) + +;;;###autoload +(defun +pretty-code/install-fira-font (&optional prefix) + "Download and install Fira Code font based on OS. +When prefix is non-nil, ignore the prompt and just install." + (interactive "P") + (+pretty-code--install-font + prefix + "FiraCode" + "https://github.com/tonsky/FiraCode/raw/13234c0/distr/ttf/%s" + +pretty-code--fira-font-names)) diff --git a/modules/ui/pretty-code/autoload/iosevka.el b/modules/ui/pretty-code/autoload/iosevka.el index bcd482605..a6f72bfd6 100644 --- a/modules/ui/pretty-code/autoload/iosevka.el +++ b/modules/ui/pretty-code/autoload/iosevka.el @@ -32,5 +32,5 @@ When prefix is non-nil, ignore the prompt and just install." (+pretty-code--install-font prefix "Iosevka" - "https://github.com/jsravn/iosevka-emacs/raw/master/%s" + "https://github.com/jsravn/iosevka-emacs/raw/20fc2c4/%s" +pretty-code--iosevka-font-names)) From d6356d9618fcea332c8bb08794d6557cfd988c94 Mon Sep 17 00:00:00 2001 From: James Ravn Date: Tue, 25 Feb 2020 22:07:00 +0000 Subject: [PATCH 009/423] Add hasklig font install --- modules/ui/pretty-code/autoload/hasklig.el | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 modules/ui/pretty-code/autoload/hasklig.el diff --git a/modules/ui/pretty-code/autoload/hasklig.el b/modules/ui/pretty-code/autoload/hasklig.el new file mode 100644 index 000000000..8a313c537 --- /dev/null +++ b/modules/ui/pretty-code/autoload/hasklig.el @@ -0,0 +1,29 @@ +;;; ui/pretty-code/autoload/hasklig.el -*- lexical-binding: t; -*- + +(defvar +pretty-code--hasklig-font-names + '( + "Hasklig-Black.otf" + "Hasklig-BlackIt.otf" + "Hasklig-Bold.otf" + "Hasklig-BoldIt.otf" + "Hasklig-ExtraLight.otf" + "Hasklig-ExtraLightIt.otf" + "Hasklig-It.otf" + "Hasklig-Light.otf" + "Hasklig-LightIt.otf" + "Hasklig-Medium.otf" + "Hasklig-MediumIt.otf" + "Hasklig-Regular.otf" + "Hasklig-Semibold.otf" + "Hasklig-SemiboldIt.otf")) + +;;;###autoload +(defun +pretty-code/install-hasklig-font (&optional prefix) + "Download and install Hasklig font based on OS. +When prefix is non-nil, ignore the prompt and just install." + (interactive "P") + (+pretty-code--install-font + prefix + "FiraCode" + "https://github.com/jsravn/hasklig-emacs/raw/33354a3/%s" + +pretty-code--hasklig-font-names)) From 2077a859d804eb6da617ae0855e3c4f7f010a26b Mon Sep 17 00:00:00 2001 From: James Ravn Date: Tue, 25 Feb 2020 22:09:37 +0000 Subject: [PATCH 010/423] Fix type in Hasklig install messages --- modules/ui/pretty-code/autoload/hasklig.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ui/pretty-code/autoload/hasklig.el b/modules/ui/pretty-code/autoload/hasklig.el index 8a313c537..507a8fab0 100644 --- a/modules/ui/pretty-code/autoload/hasklig.el +++ b/modules/ui/pretty-code/autoload/hasklig.el @@ -24,6 +24,6 @@ When prefix is non-nil, ignore the prompt and just install." (interactive "P") (+pretty-code--install-font prefix - "FiraCode" + "Hasklig" "https://github.com/jsravn/hasklig-emacs/raw/33354a3/%s" +pretty-code--hasklig-font-names)) From b7042a14956deeef36501a567d910e31c3702a90 Mon Sep 17 00:00:00 2001 From: Dima Gerasimov Date: Fri, 28 Feb 2020 18:52:50 +0100 Subject: [PATCH 011/423] Set org-babel-python-command to be same as python-shell-interpreter --- modules/lang/org/config.el | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/lang/org/config.el b/modules/lang/org/config.el index 96360c885..5fb690c65 100644 --- a/modules/lang/org/config.el +++ b/modules/lang/org/config.el @@ -194,7 +194,10 @@ Is relative to `org-directory', unless it is absolute. Is used in Doom's default ;; Fix 'require(...).print is not a function' error from `ob-js' when ;; executing JS src blocks - (setq org-babel-js-function-wrapper "console.log(require('util').inspect(function(){\n%s\n}()));")) + (setq org-babel-js-function-wrapper "console.log(require('util').inspect(function(){\n%s\n}()));") + + (after! python + (setq org-babel-python-command python-shell-interpreter))) (defun +org-init-babel-lazy-loader-h () From 365a481bc5fbc868bdc86a1740b779c486812778 Mon Sep 17 00:00:00 2001 From: James Ravn Date: Sat, 14 Mar 2020 16:07:25 +0000 Subject: [PATCH 012/423] Fix inserted filename for org-download-screenshot --- modules/lang/org/contrib/dragndrop.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/lang/org/contrib/dragndrop.el b/modules/lang/org/contrib/dragndrop.el index d1ce37f51..c0c2c6f8e 100644 --- a/modules/lang/org/contrib/dragndrop.el +++ b/modules/lang/org/contrib/dragndrop.el @@ -52,7 +52,7 @@ an file icon produced by `+org-attach-icon-for')." (format "#+attr_latex: :width %dcm\n" org-download-image-latex-width)) (format org-download-link-format (cond ((file-in-directory-p filename org-attach-directory) - (file-relative-name filename org-download-image-dir)) + (file-relative-name filename org-attach-directory)) ((file-in-directory-p filename org-directory) (file-relative-name filename org-directory)) (filename))))) From cf19fe739c78184a61f11f834e9306ff06fa431c Mon Sep 17 00:00:00 2001 From: Ralf Beckmann Date: Sat, 14 Mar 2020 20:52:33 +0100 Subject: [PATCH 013/423] Apply some minor changes to the helm module Remove usage of the following variables, since they are no longer present in helm's source code: helm-M-x-fuzzy-match helm-completion-in-region-fuzzy-match Also remove the usage of the deprecated helm-mode-fuzzy-match variable. Instead, modify completing-styles so that helmized commands will use multi- or fuzzy-matching, respectively. --- modules/completion/helm/config.el | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/modules/completion/helm/config.el b/modules/completion/helm/config.el index 5f1666850..b4906b2c8 100644 --- a/modules/completion/helm/config.el +++ b/modules/completion/helm/config.el @@ -77,23 +77,25 @@ be negative.") (setq helm-display-function #'+helm-posframe-display-fn)) (let ((fuzzy (featurep! +fuzzy))) - (setq helm-M-x-fuzzy-match fuzzy - helm-apropos-fuzzy-match fuzzy - helm-apropos-fuzzy-match fuzzy + (setq helm-apropos-fuzzy-match fuzzy helm-bookmark-show-location fuzzy helm-buffers-fuzzy-matching fuzzy - helm-completion-in-region-fuzzy-match fuzzy - helm-completion-in-region-fuzzy-match fuzzy helm-ff-fuzzy-matching fuzzy helm-file-cache-fuzzy-match fuzzy helm-flx-for-helm-locate fuzzy helm-imenu-fuzzy-match fuzzy helm-lisp-fuzzy-completion fuzzy helm-locate-fuzzy-match fuzzy - helm-mode-fuzzy-match fuzzy helm-projectile-fuzzy-match fuzzy helm-recentf-fuzzy-match fuzzy - helm-semantic-fuzzy-match fuzzy)) + helm-semantic-fuzzy-match fuzzy) + ;; Make sure that we have helm-multi-matching or fuzzy matching, + ;; (as prescribed by the fuzzy flag) also in the following cases: + ;; - helmized commands that use `completion-at-point' and similar functions + ;; - native commands that fall back to `completion-styles' like `helm-M-x' + (if (< emacs-major-version 27) + (push (if fuzzy 'helm-flex 'helm) completion-styles) + (push (if fuzzy 'flex 'helm) completion-styles))) :config (set-popup-rule! "^\\*helm" :vslot -100 :size 0.22 :ttl nil) @@ -121,7 +123,6 @@ be negative.") (dolist (fn '(helm-describe-variable helm-describe-function)) (advice-add fn :around #'doom-use-helpful-a))) - (use-package! helm-flx :when (featurep! +fuzzy) :hook (helm-mode . helm-flx-mode) From c1046231cefbf7cdaab116d1a72804fac0dfd5cd Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 14 Mar 2020 22:00:59 -0400 Subject: [PATCH 014/423] Fix #1792: tide-server-max-response-length = 512kb --- modules/lang/javascript/config.el | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/lang/javascript/config.el b/modules/lang/javascript/config.el index 96e21d21a..1d73bceba 100644 --- a/modules/lang/javascript/config.el +++ b/modules/lang/javascript/config.el @@ -169,7 +169,11 @@ to tide." :defer t :config (setq tide-completion-detailed t - tide-always-show-documentation t) + tide-always-show-documentation t + ;; Fix #1792: by default, tide ignores payloads larger than 100kb. This + ;; is too small for larger projects that produce long completion lists, + ;; so we up it to 512kb. + tide-server-max-response-length 524288) ;; code completion (after! company ;; tide affects the global `company-backends', undo this so doom can handle From 93521ba5beace54462b0b7be1f11b7ebfbb589c9 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 14 Mar 2020 22:04:30 -0400 Subject: [PATCH 015/423] Prevent "version control data is outdated" prompt The prompt was too intrusive, so update vc state if buffer is modified instead. --- modules/tools/magit/autoload.el | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/modules/tools/magit/autoload.el b/modules/tools/magit/autoload.el index 1c085813a..22259c480 100644 --- a/modules/tools/magit/autoload.el +++ b/modules/tools/magit/autoload.el @@ -48,16 +48,13 @@ (defun +magit--revert-buffer (buffer) (with-current-buffer buffer (kill-local-variable '+magit--stale-p) - (let ((buffer (or (buffer-base-buffer) (current-buffer)))) - (if-let (file (buffer-file-name buffer)) - (and (file-exists-p file) - (or (not (buffer-modified-p buffer)) - (y-or-n-p - (format "Version control data is outdated in %s, but it is unsaved. Revert anyway?" - buffer))) - (revert-buffer t t)) - (when (and vc-mode (fboundp 'vc-refresh-state)) - (vc-refresh-state)))))) + (let* ((buffer (or (buffer-base-buffer) (current-buffer))) + (file (buffer-file-name buffer))) + (if (or (buffer-modified-p buffer) + (and file (file-exists-p file))) + (when (bound-and-true-p vc-mode) + (vc-refresh-state)) + (revert-buffer t t))))) ;;;###autoload (defun +magit-mark-stale-buffers-h () From a64a893fa0df6b65f7b21173b2883ca3824b193c Mon Sep 17 00:00:00 2001 From: Hanno Perrey Date: Sun, 15 Mar 2020 17:32:32 +0100 Subject: [PATCH 016/423] adds workaround for circe TLS connections (#1862) - OpenSSL versions > 1.1.0 break the assumptions of tls.el of where the info block stops - this makes circe hang on TLS connections (jorgenschaefer/circe#340) - tls.el is no longer maintained therefore this adds a workaround in circe-mode buffers --- modules/app/irc/config.el | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/modules/app/irc/config.el b/modules/app/irc/config.el index 38f910a0c..a9e1b08a6 100644 --- a/modules/app/irc/config.el +++ b/modules/app/irc/config.el @@ -94,6 +94,23 @@ playback.") (add-hook 'circe-channel-mode-hook #'turn-on-visual-line-mode) (add-hook 'circe-mode-hook #'+irc--add-circe-buffer-to-persp-h) (add-hook 'circe-mode-hook #'turn-off-smartparens-mode) + (add-hook 'circe-mode-hook (lambda () (setq-local tls-end-of-info + (concat + "\\(" + ;; `openssl s_client' regexp. See ssl/ssl_txt.c lines 219-220. + ;; According to apps/s_client.c line 1515 `---' is always the last + ;; line that is printed by s_client before the real data. + "^ Verify return code: .+\n\\(\\|^ Extended master secret: .+\n\\)\\(\\|^ Max Early Data: .+\n\\)---\n\\|" + ;; `gnutls' regexp. See src/cli.c lines 721-. + "^- Simple Client Mode:\n" + "\\(\n\\|" ; ignore blank lines + ;; According to GnuTLS v2.1.5 src/cli.c lines 640-650 and 705-715 + ;; in `main' the handshake will start after this message. If the + ;; handshake fails, the programs will abort. + "^\\*\\*\\* Starting TLS handshake\n\\)*" + "\\)") + ))) + (defadvice! +irc--circe-run-disconnect-hook-a (&rest _) "Runs `+irc-disconnect-hook' after circe disconnects." From 4f39bf36f058b3e59068b5cb61cd810b05250813 Mon Sep 17 00:00:00 2001 From: Hanno Perrey Date: Sun, 15 Mar 2020 17:36:21 +0100 Subject: [PATCH 017/423] stops overriding circe default servers circe-network-defaults is filled with predefined server details e.g. for Freenode.net and those defaults should not be wiped here --- modules/app/irc/config.el | 1 - 1 file changed, 1 deletion(-) diff --git a/modules/app/irc/config.el b/modules/app/irc/config.el index a9e1b08a6..2d2f109f0 100644 --- a/modules/app/irc/config.el +++ b/modules/app/irc/config.el @@ -48,7 +48,6 @@ playback.") (use-package! circe :commands circe circe-server-buffers - :init (setq circe-network-defaults nil) :config (setq circe-default-quit-message nil circe-default-part-message nil From 2b47b1e99acc6cd5c339545e17df374ee8ad2bee Mon Sep 17 00:00:00 2001 From: "M. Yas. Davoodeh" Date: Mon, 16 Mar 2020 00:02:16 +0330 Subject: [PATCH 018/423] Fixed issues addressed by @hlissner on #2549. --- modules/lang/dart/README.org | 52 +++++++++++++++++++++++++++++++---- modules/lang/dart/config.el | 28 +++++++++---------- modules/lang/dart/doctor.el | 6 ++-- modules/lang/dart/packages.el | 4 +-- 4 files changed, 67 insertions(+), 23 deletions(-) diff --git a/modules/lang/dart/README.org b/modules/lang/dart/README.org index 5047e6353..df26b4e64 100644 --- a/modules/lang/dart/README.org +++ b/modules/lang/dart/README.org @@ -1,6 +1,6 @@ #+TITLE: lang/dart #+DATE: February 16, 2020 -#+SINCE: February 16, 2020 +#+SINCE: v3.0.0 #+STARTUP: inlineimages nofold * Table of Contents :TOC_3:noexport: @@ -9,6 +9,8 @@ - [[#module-flags][Module Flags]] - [[#plugins][Plugins]] - [[#prerequisites][Prerequisites]] + - [[#installing-dart-sdk][Installing Dart SDK]] + - [[#installing-flutter-sdk][Installing Flutter SDK]] - [[#features][Features]] - [[#configuration][Configuration]] - [[#dart--flutter][Dart & Flutter]] @@ -16,14 +18,18 @@ - [[#troubleshooting][Troubleshooting]] * Description +[[https://dart.dev/][Dart]] is a client-optimized language by Google for fast apps on any platform. +It is fast and optimized for UI, Famous for the [[https://flutter.io/][Flutter]] framework, also +made by Google. Both Flutter and Dart are free and open-source. + +** Maintainers +This module has no dedicated maintainers. + +** Module Flags The `dart` module wraps `dart-mode`, with LSP code completion for `.dart` files, syntax highlighting, etc. Included is a `+lsp` flag for enabling LSP features, and a `+flutter` flag for working with Flutter. -** Maintainers -+ @sevensidedmarble (Author) - -** Module Flags + =+lsp= Will start LSP automatically in `dart-mode-hook`. + =+flutter= Adds the `flutter` package and some settings for Flutter development. @@ -35,6 +41,42 @@ and a `+flutter` flag for working with Flutter. Make sure that the Dart SDK is on your `PATH`, and if using Flutter, make sure the Flutter binary is on your `PATH` as well. +** Installing Dart SDK +Before starting note that Flutter SDK will have a version of Dart. Therefore, +there is no need to install Dart. If you want to use Flutter just see +the next part. + +The stable version of the SDK is in most major distributions repositories. +If you find it necessary to install any other version or build from source, +please refer to the official website at: https://dart.dev/get-dart + +On Debian (also Ubuntu and its derivations), you can simply install the SDK via: +#+BEGIN_SRC shell +sudo apt-get install dart +#+END_SRC +Or on Arch (and its derivations, like Manjaro), you can install it using: +#+BEGIN_SRC shell +sudo pacman -S dart +#+END_SRC +And finally in MacOS, the [[https://brew.sh/][Homebrew]] can come in handy. If you have it installed +just run: +#+BEGIN_SRC shell +brew tap dart-lang/dart +brew install dart#+END_SRC +#+END_SRC + +** Installing Flutter SDK +Due to complications with permissions, it is suggested not to use AUR or any +automatic installation tools for Flutter SDK. + +On any system just run the following commands to install Flutter, once you have +met dependencies named on [[https://flutter.dev/docs/get-started/install/][the site]]: +#+BEGIN_SRC shell +git clone https://github.com/flutter/flutter --branch stable # to download Flutter +export PATH="$PATH:$(pwd)/flutter/bin" # to add it to PATH +flutter doctor # for Dependency check and further instructions +#+END_SRC + * Features + Syntax highlighting and formatting for `.dart` files provided by LSP + Emacs functions for running and debugging Flutter projects diff --git a/modules/lang/dart/config.el b/modules/lang/dart/config.el index 95a0e2bef..5c7b633f1 100644 --- a/modules/lang/dart/config.el +++ b/modules/lang/dart/config.el @@ -1,18 +1,18 @@ ;;; lang/dart/config.el -*- lexical-binding: t; -*- -(use-package! dart-mode +(after! dart-mode + (when (featurep! +lsp) + (add-hook 'dart-mode-local-vars-hook #'lsp!) + (when (and (featurep! +flutter) IS-LINUX) + (when-let (path (doom-glob "/opt/flutter/bin/cache/dart-sdk")) + (setq lsp-dart-sdk-dir path))))) + + + +(use-package! flutter + :when (featurep! +flutter) :defer t :config - (when (and (featurep! +flutter) IS-LINUX) - (setq lsp-dart-sdk-dir "/opt/flutter/bin/cache/dart-sdk/")) - (when (featurep! +lsp) - (add-hook 'dart-mode-local-vars-hook #'lsp!))) - - -(when (featurep! +flutter) - (use-package! flutter - :defer t - :config - (map! :map dart-mode-map - :localleader - "r" #'flutter-run-or-hot-reload))) + (map! :map dart-mode-map + :localleader + "r" #'flutter-run-or-hot-reload)) diff --git a/modules/lang/dart/doctor.el b/modules/lang/dart/doctor.el index aa68b7bce..521eddc32 100644 --- a/modules/lang/dart/doctor.el +++ b/modules/lang/dart/doctor.el @@ -7,5 +7,7 @@ (unless (executable-find "dart") (warn! "Dart isn't on PATH.")) -(unless (file-readable-p lsp-dart-sdk-dir) - (warn! "LSP Mode can't find lsp-dart-sdk-dir.")) +(when (featurep! +lsp) + (require 'dart-mode) + (unless (file-readable-p lsp-dart-sdk-dir) + (warn! "LSP Mode can't find lsp-dart-sdk-dir."))) diff --git a/modules/lang/dart/packages.el b/modules/lang/dart/packages.el index 2116e665c..e1464b17f 100644 --- a/modules/lang/dart/packages.el +++ b/modules/lang/dart/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/dart/packages.el -(package! dart-mode) +(package! dart-mode :pin "04fcd649f1") (when (featurep! +flutter) - (package! flutter)) + (package! flutter :pin "ec92a4df84")) From 91f3d677d739ac52067c5b3fd45f76c4c40f7a0b Mon Sep 17 00:00:00 2001 From: James Ravn Date: Mon, 16 Mar 2020 12:22:23 +0000 Subject: [PATCH 019/423] Fix formatting --- modules/ui/pretty-code/autoload/fira.el | 3 +-- modules/ui/pretty-code/autoload/hasklig.el | 3 +-- modules/ui/pretty-code/autoload/iosevka.el | 3 +-- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/modules/ui/pretty-code/autoload/fira.el b/modules/ui/pretty-code/autoload/fira.el index 05c3a5547..2a559cbd9 100644 --- a/modules/ui/pretty-code/autoload/fira.el +++ b/modules/ui/pretty-code/autoload/fira.el @@ -1,8 +1,7 @@ ;;; ui/pretty-code/autoload/fira.el -*- lexical-binding: t; -*- (defvar +pretty-code--fira-font-names - '( - "FiraCode-Bold.ttf" + '("FiraCode-Bold.ttf" "FiraCode-Light.ttf" "FiraCode-Medium.ttf" "FiraCode-Regular.ttf" diff --git a/modules/ui/pretty-code/autoload/hasklig.el b/modules/ui/pretty-code/autoload/hasklig.el index 507a8fab0..90fc295a6 100644 --- a/modules/ui/pretty-code/autoload/hasklig.el +++ b/modules/ui/pretty-code/autoload/hasklig.el @@ -1,8 +1,7 @@ ;;; ui/pretty-code/autoload/hasklig.el -*- lexical-binding: t; -*- (defvar +pretty-code--hasklig-font-names - '( - "Hasklig-Black.otf" + '("Hasklig-Black.otf" "Hasklig-BlackIt.otf" "Hasklig-Bold.otf" "Hasklig-BoldIt.otf" diff --git a/modules/ui/pretty-code/autoload/iosevka.el b/modules/ui/pretty-code/autoload/iosevka.el index a6f72bfd6..4fa4f83da 100644 --- a/modules/ui/pretty-code/autoload/iosevka.el +++ b/modules/ui/pretty-code/autoload/iosevka.el @@ -1,8 +1,7 @@ ;;; ui/pretty-code/autoload/iosevka.el -*- lexical-binding: t; -*- (defvar +pretty-code--iosevka-font-names - '( - "iosevka-custom-lightoblique.ttf" + '("iosevka-custom-lightoblique.ttf" "iosevka-custom-thinoblique.ttf" "iosevka-custom-mediumitalic.ttf" "iosevka-custom-light.ttf" From 215d9646ea2a5f398bb86a81af703651439f046b Mon Sep 17 00:00:00 2001 From: Shooooooooo Date: Mon, 16 Mar 2020 23:00:16 +0100 Subject: [PATCH 020/423] Add clipetty for TTY users. --- core/core-editor.el | 4 +++- core/packages.el | 5 ++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/core/core-editor.el b/core/core-editor.el index c4178aa3d..47bbd938e 100644 --- a/core/core-editor.el +++ b/core/core-editor.el @@ -139,7 +139,9 @@ possible." (defun doom-init-clipboard-in-tty-emacs-h () (and (not (getenv "SSH_CONNECTION")) (require 'xclip nil t) - (xclip-mode +1))))) + (xclip-mode +1)) + (and (require 'clipetty nil t) + (global-clipetty-mode +1))))) ;; diff --git a/core/packages.el b/core/packages.el index e1a3e9612..625d6fc75 100644 --- a/core/packages.el +++ b/core/packages.el @@ -34,7 +34,10 @@ :recipe (:host github :repo "hlissner/ws-butler") :pin "e4430d3778") (unless IS-WINDOWS - (package! xclip :pin "d022cf947d")) + (package! xclip :pin "d022cf947d") + (package! clipetty + :recipe (:host github :repo "spudlyo/clipetty") + :pin "fda5a80cf4")) ;; core-projects.el (package! projectile :pin "341150c0e7") From 01439743d705455668b078b01206ad9c2e667f27 Mon Sep 17 00:00:00 2001 From: dive Date: Tue, 17 Mar 2020 01:14:08 +0000 Subject: [PATCH 021/423] prefer jar for PlantUML if available --- modules/lang/plantuml/config.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/lang/plantuml/config.el b/modules/lang/plantuml/config.el index 45a18a685..09ad4145d 100644 --- a/modules/lang/plantuml/config.el +++ b/modules/lang/plantuml/config.el @@ -9,8 +9,8 @@ (set-popup-rule! "^\\*PLANTUML" :size 0.4 :select nil :ttl 0) (setq plantuml-default-exec-mode - (cond ((executable-find "plantuml") 'executable) - ((file-exists-p plantuml-jar-path) 'jar) + (cond ((file-exists-p plantuml-jar-path) 'jar) + ((executable-find "plantuml") 'executable) (plantuml-default-exec-mode)))) From efaafe9042b1759169757291257b301f14b0dccc Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 19 Mar 2020 23:34:29 -0400 Subject: [PATCH 022/423] Fix 'SPC t w' when :editor word-wrap is enabled --- modules/config/default/+evil-bindings.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/config/default/+evil-bindings.el b/modules/config/default/+evil-bindings.el index 9b5a06525..542105924 100644 --- a/modules/config/default/+evil-bindings.el +++ b/modules/config/default/+evil-bindings.el @@ -626,7 +626,7 @@ (:when (featurep! :lang org +pomodoro) :desc "Pomodoro timer" "t" #'org-pomodoro) :desc "Soft line wrapping" "w" #'visual-line-mode - (:when (featurep! :ui word-wrap) + (:when (featurep! :editor word-wrap) :desc "Soft line wrapping" "w" #'+word-wrap-mode) :desc "Zen mode" "z" #'writeroom-mode)) From 7f28a0eb47d08dfc529b3737a01a869c87c0cc30 Mon Sep 17 00:00:00 2001 From: Dror Levin Date: Fri, 20 Mar 2020 12:08:30 +0200 Subject: [PATCH 023/423] Document +icons for ivy in the module index --- docs/modules.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/modules.org b/docs/modules.org index 9eb0b8616..99d3c3a78 100644 --- a/docs/modules.org +++ b/docs/modules.org @@ -42,7 +42,7 @@ completion. + [[file:../modules/completion/company/README.org][company]] =+childframe +tng= - The ultimate code completion backend + helm =+fuzzy +childframe= - *Another* search engine for love and life + ido - The /other/ *other* search engine for love and life -+ [[file:../modules/completion/ivy/README.org][ivy]] =+fuzzy +prescient +childframe= - /The/ search engine for love and life ++ [[file:../modules/completion/ivy/README.org][ivy]] =+fuzzy +prescient +childframe +icons= - /The/ search engine for love and life * :config Modules that configure Emacs one way or another, or focus on making it easier From f4ef6205cda813a19b9c83ec37ba9432eccc76f1 Mon Sep 17 00:00:00 2001 From: Luke Berry Date: Fri, 20 Mar 2020 15:34:32 +0000 Subject: [PATCH 024/423] Update faq.org Minor grammatical fix in an otherwise fantastic faq --- docs/faq.org | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/faq.org b/docs/faq.org index 731984508..c7252ed12 100644 --- a/docs/faq.org +++ b/docs/faq.org @@ -27,7 +27,7 @@ - [[#how-do-i-change-the-leaderlocalleader-keys][How do I change the leader/localleader keys?]] - [[#how-do-i-change-the-style-of-line-numbers-or-disable-them-altogether][How do I change the style of line-numbers (or disable them altogether)?]] - [[#how-do-i-change-the-behavior-and-appearance-of-popup-windows][How do I change the behavior and appearance of popup windows?]] - - [[#how-do-i-change-the-appearance-a-face-or-faces][How do I change the appearance a face (or faces)?]] + - [[#how-do-i-change-the-appearance-of-a-face-or-faces][How do I change the appearance of a face (or faces)?]] - [[#can-doom-be-customized-without-restarting-emacs][Can Doom be customized without restarting Emacs?]] - [[#can-vimevil-be-removed-for-a-more-vanilla-emacs-experience][Can Vim/Evil be removed for a more vanilla Emacs experience?]] - [[#should-i-use-make-or-bindoom][Should I use ~make~ or ~bin/doom~?]] @@ -613,7 +613,7 @@ rules. You'll find more comprehensive documentation on ~set-popup-rule!~ in its docstring (available through =SPC h f= -- or =C-h f= for non-evil users). -** How do I change the appearance a face (or faces)? +** How do I change the appearance of a face (or faces)? Doom provides the ~custom-set-faces!~ and ~custom-theme-set-faces!~ macros as a convenience. From 1ab69ab4914e5de43f5e7b390eb570da0d361614 Mon Sep 17 00:00:00 2001 From: Teodor Heggelund Date: Fri, 20 Mar 2020 23:37:57 +0100 Subject: [PATCH 025/423] Fix typo: python-pytest-file-dwim --- modules/lang/python/README.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/lang/python/README.org b/modules/lang/python/README.org index b64c7c6ec..228ae963e 100644 --- a/modules/lang/python/README.org +++ b/modules/lang/python/README.org @@ -106,7 +106,7 @@ To enable support for auto-formatting with black enable ~:editor format-all~ in | ~ t O~ | ~nosetests-pdb-one~ | | ~ t V~ | ~nosetests-pdb-module~ | | ~ t f~ | ~python-pytest-file~ | -| ~ t k~ | ~python-pytest-file-dwin~ | +| ~ t k~ | ~python-pytest-file-dwim~ | | ~ t t~ | ~python-pytest-function~ | | ~ t m~ | ~python-pytest-function-dwim~ | | ~ t r~ | ~python-pytest-repeat~ | From ca6c5f764316f9e2a94443afd2b3f6a25f785ecc Mon Sep 17 00:00:00 2001 From: "Paul A. Patience" Date: Sat, 21 Mar 2020 14:27:02 -0400 Subject: [PATCH 026/423] docs/index: fix typo --- docs/index.org | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.org b/docs/index.org index e122f664e..cb0e4fd1a 100644 --- a/docs/index.org +++ b/docs/index.org @@ -29,7 +29,7 @@ d s= (or =C-h d s=). - [[#asking-for-help][Asking for help]] - [[#project-roadmap][Project roadmap]] - [[#tutorials--guides][Tutorials & guides]] - - [[#projects-that-supportcompliment-doom][Projects that support/compliment Doom]] + - [[#projects-that-supportcomplement-doom][Projects that support/complement Doom]] - [[#similar-projects][Similar projects]] * TODO Release Notes @@ -96,7 +96,7 @@ d s= (or =C-h d s=). + *Vim & Evil* - [[https://gist.github.com/dmsul/8bb08c686b70d5a68da0e2cb81cd857f][A crash course on modal editing and Ex commands]] -** Projects that support/compliment Doom +** Projects that support/complement Doom + [[https://github.com/plexus/chemacs][plexus/chemacs]] + [[https://github.com/r-darwish/topgrade][r-darwish/topgrade]] From 427ed2bbc0bca799cba23fd77f108acab46928ef Mon Sep 17 00:00:00 2001 From: Oskar Kvist Date: Mon, 23 Mar 2020 18:13:45 +0100 Subject: [PATCH 027/423] Fix +evil:defun-txtobj docstring --- modules/editor/evil/autoload/textobjects.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/editor/evil/autoload/textobjects.el b/modules/editor/evil/autoload/textobjects.el index a1c53b03f..ec40a417a 100644 --- a/modules/editor/evil/autoload/textobjects.el +++ b/modules/editor/evil/autoload/textobjects.el @@ -7,7 +7,8 @@ ;;;###autoload (autoload '+evil:defun-txtobj "editor/evil/autoload/textobjects" nil nil) (evil-define-text-object +evil:defun-txtobj (count &optional _beg _end type) - "Text object to select the whole buffer." + "Text object to select the top-level Lisp form or function definition at +point." (cl-destructuring-bind (beg . end) (bounds-of-thing-at-point 'defun) (evil-range beg end type))) From 0fb102688621cb3978e1ce78978006e646e9c41b Mon Sep 17 00:00:00 2001 From: Mykhailo Shevchuk Date: Mon, 23 Mar 2020 19:19:55 +0100 Subject: [PATCH 028/423] dragndrop: insert #+attr_org: :width if specified --- modules/lang/org/contrib/dragndrop.el | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/lang/org/contrib/dragndrop.el b/modules/lang/org/contrib/dragndrop.el index d1ce37f51..c776a4487 100644 --- a/modules/lang/org/contrib/dragndrop.el +++ b/modules/lang/org/contrib/dragndrop.el @@ -50,6 +50,8 @@ an file icon produced by `+org-attach-icon-for')." (format "#+attr_html: :width %dpx\n" org-download-image-html-width)) (if (= org-download-image-latex-width 0) "" (format "#+attr_latex: :width %dcm\n" org-download-image-latex-width)) + (if (= org-download-image-org-width 0) "" + (format "#+attr_org: :width %dpx\n" org-download-image-org-width)) (format org-download-link-format (cond ((file-in-directory-p filename org-attach-directory) (file-relative-name filename org-download-image-dir)) From bf3cdc37ce45ffdf0b0623ccd16e98211996b2f4 Mon Sep 17 00:00:00 2001 From: Vu Quoc Huy Date: Tue, 24 Mar 2020 01:29:54 +0100 Subject: [PATCH 029/423] Fix & add more security settings --- core/core.el | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/core/core.el b/core/core.el index 30c666ae2..0a9c1875f 100644 --- a/core/core.el +++ b/core/core.el @@ -180,12 +180,21 @@ users).") ;; Emacs is a huge security vulnerability, what with all the dependencies it ;; pulls in from all corners of the globe. Let's at least try to be more ;; discerning. -(setq gnutls-verify-error (getenv "INSECURE") +(setq gnutls-verify-error (not (getenv "INSECURE")) + gnutls-algorithm-priority "SECURE128:+SECURE192:-VERS-ALL:+VERS-TLS1.2:+VERS-TLS1.3" + ;; `gnutls-min-prime-bits' is set based on recommendations from + ;; https://www.keylength.com/en/4/ + gnutls-min-prime-bits 3072 tls-checktrust gnutls-verify-error - tls-program '("gnutls-cli --x509cafile %t -p %p %h" + ;; Emacs is built with `gnutls' by default, so `tls-program' would not + ;; be used in that case. Otherwiese, people have reasons to not go with + ;; `gnutls', we use `openssl' instead. + ;; For more details, see https://redd.it/8sykl1 + tls-program '("openssl s_client -connect %h:%p -CAfile %t -nbio -no_ssl3 -no_tls1 -no_tls1_1 -ign_eof" + "gnutls-cli -p %p --dh-bits=3072 --ocsp --x509cafile=%t \ +--strict-tofu --priority='SECURE192:+SECURE128:-VERS-ALL:+VERS-TLS1.2:+VERS-TLS1.3' %h" ;; compatibility fallbacks - "gnutls-cli -p %p %h" - "openssl s_client -connect %h:%p -no_ssl2 -no_ssl3 -ign_eof")) + "gnutls-cli -p %p %h")) ;; Emacs stores authinfo in HOME and in plaintext. Let's not do that, mkay? This ;; file usually stores usernames, passwords, and other such treasures for the From f34d56de136e9d29a2198279d752d090efda9c39 Mon Sep 17 00:00:00 2001 From: Vu Quoc Huy Date: Tue, 24 Mar 2020 14:12:10 +0100 Subject: [PATCH 030/423] Enable `mu4e-use-fancy-chars` by default --- modules/email/mu4e/config.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/email/mu4e/config.el b/modules/email/mu4e/config.el index 65e835348..8e895a6b4 100644 --- a/modules/email/mu4e/config.el +++ b/modules/email/mu4e/config.el @@ -60,7 +60,8 @@ (setq mail-user-agent 'mu4e-user-agent) ;; Use fancy icons - (setq mu4e-headers-has-child-prefix '("+" . "") + (setq mu4e-use-fancy-chars t + mu4e-headers-has-child-prefix '("+" . "") mu4e-headers-empty-parent-prefix '("-" . "") mu4e-headers-first-child-prefix '("\\" . "") mu4e-headers-duplicate-prefix '("=" . "") From e43e9fadb98a52f2dc932d37a98616765b66dd45 Mon Sep 17 00:00:00 2001 From: "M. Yas. Davoodeh" Date: Tue, 24 Mar 2020 13:45:36 +0430 Subject: [PATCH 031/423] Added Dart-Snippets from GitHub. --- modules/lang/dart/packages.el | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/modules/lang/dart/packages.el b/modules/lang/dart/packages.el index e1464b17f..b3e9f698a 100644 --- a/modules/lang/dart/packages.el +++ b/modules/lang/dart/packages.el @@ -2,5 +2,17 @@ ;;; lang/dart/packages.el (package! dart-mode :pin "04fcd649f1") + +;; Optional module features + (when (featurep! +flutter) (package! flutter :pin "ec92a4df84")) + +;; Features according to other user selected options + +(when (featurep! :editor snippets) + (package! dart-snippets + :recipe (:host github + :repo "MYDavoodeh/dart-snippets" + :files ("*.el" ("snippets" "snippets/*"))) + :pin "87ccb4defd")) From 55e5a3e084a7b6680c49a204f3ad621872de52de Mon Sep 17 00:00:00 2001 From: Vu Quoc Huy Date: Tue, 24 Mar 2020 14:48:00 +0100 Subject: [PATCH 032/423] Remove unused variables --- modules/email/mu4e/config.el | 5 ----- 1 file changed, 5 deletions(-) diff --git a/modules/email/mu4e/config.el b/modules/email/mu4e/config.el index 8e895a6b4..3bdb86efa 100644 --- a/modules/email/mu4e/config.el +++ b/modules/email/mu4e/config.el @@ -61,11 +61,6 @@ ;; Use fancy icons (setq mu4e-use-fancy-chars t - mu4e-headers-has-child-prefix '("+" . "") - mu4e-headers-empty-parent-prefix '("-" . "") - mu4e-headers-first-child-prefix '("\\" . "") - mu4e-headers-duplicate-prefix '("=" . "") - mu4e-headers-default-prefix '("|" . "") mu4e-headers-draft-mark '("D" . "") mu4e-headers-flagged-mark '("F" . "") mu4e-headers-new-mark '("N" . "") From 7d829eaa48e68c29a8d227cbcb1a91d8401efcb7 Mon Sep 17 00:00:00 2001 From: "M. Yas. Davoodeh" Date: Tue, 24 Mar 2020 18:48:18 +0430 Subject: [PATCH 033/423] Final pin. --- modules/lang/dart/packages.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/lang/dart/packages.el b/modules/lang/dart/packages.el index b3e9f698a..c11f8a62f 100644 --- a/modules/lang/dart/packages.el +++ b/modules/lang/dart/packages.el @@ -15,4 +15,4 @@ :recipe (:host github :repo "MYDavoodeh/dart-snippets" :files ("*.el" ("snippets" "snippets/*"))) - :pin "87ccb4defd")) + :pin "946ad5aaa5")) From a5c7c7141090b947f1108813135f021270f5c016 Mon Sep 17 00:00:00 2001 From: BSKY Date: Wed, 25 Mar 2020 15:13:46 +0900 Subject: [PATCH 034/423] Bump actions/checkout from v1 to v2 --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 08df944b3..9567b875b 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -27,7 +27,7 @@ jobs: with: version: ${{ matrix.emacs_version }} - - uses: actions/checkout@v1 + - uses: actions/checkout@v2 - name: Doom version run: "bin/doom version" - name: Run tests From 1d50451e088f612104458019cd33067214039c5b Mon Sep 17 00:00:00 2001 From: Nadav Cohen Date: Wed, 25 Mar 2020 11:19:37 -0700 Subject: [PATCH 035/423] Fixed typo in faq.org --- docs/faq.org | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/faq.org b/docs/faq.org index 731984508..78e0cc455 100644 --- a/docs/faq.org +++ b/docs/faq.org @@ -114,7 +114,7 @@ To paraphrase (and expand upon) a [[https://www.reddit.com/r/emacs/comments/6pa0 vim-slanted tastes. Doom's defaults enforce very particular (albeit optional) workflows. + *Doom lacks manpower.* Bugs stick around longer, documentation is light and - development is at the mercy of it's single maintainer's schedule, health and + development is at the mercy of its single maintainer's schedule, health and whims. + *Doom is not beginner friendly.* Spacemacs works out of the box. Your mileage may vary with Doom; assembly is required! Familiarity with Emacs Lisp (or From 0e2c9e8cb04ec7e01decd27244354ef2cf199cb7 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 25 Mar 2020 15:32:32 -0400 Subject: [PATCH 036/423] Disable enabled themes when loading a new one Prevents theme conflicts. --- core/core-ui.el | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/core/core-ui.el b/core/core-ui.el index faf5309f9..2f7f01f82 100644 --- a/core/core-ui.el +++ b/core/core-ui.el @@ -599,6 +599,12 @@ behavior). Do not set this directly, this is let-bound in `doom-init-theme-h'.") doom-init-theme-p t) (run-hooks 'doom-load-theme-hook))) +(defadvice! doom--disable-enabled-themes-a (&rest _) + "Disable previously enabled themes before loading a new one. +Otherwise, themes can conflict with each other." + :before #'load-theme + (mapc #'disable-theme custom-enabled-themes)) + (defadvice! doom--prefer-compiled-theme-a (orig-fn &rest args) "Make `load-theme' prioritize the byte-compiled theme for a moderate boost in startup (or theme switch) time, so long as `doom--prefer-theme-elc' is non-nil." From 53970b3a59dac046eb4ca5263b67c3df7a4a4734 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 25 Mar 2020 15:47:17 -0400 Subject: [PATCH 037/423] Deprecate prefer-byte-compiled theme optimization This optimization was incorporated into load-theme in Emacs 27+. --- core/core-ui.el | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/core/core-ui.el b/core/core-ui.el index 2f7f01f82..4e7617476 100644 --- a/core/core-ui.el +++ b/core/core-ui.el @@ -541,6 +541,7 @@ windows, switch to `doom-fallback-buffer'. Otherwise, delegate to original ;; Underline looks a bit better when drawn lower (setq x-underline-at-descent-line t) +;; DEPRECATED In Emacs 27 (defvar doom--prefer-theme-elc nil "If non-nil, `load-theme' will prefer the compiled theme (unlike its default behavior). Do not set this directly, this is let-bound in `doom-init-theme-h'.") @@ -588,7 +589,7 @@ behavior). Do not set this directly, this is let-bound in `doom-init-theme-h'.") "Load the theme specified by `doom-theme' in FRAME." (when (and doom-theme (not (memq doom-theme custom-enabled-themes))) (with-selected-frame (or frame (selected-frame)) - (let ((doom--prefer-theme-elc t)) + (let ((doom--prefer-theme-elc t)) ; DEPRECATED in Emacs 27 (load-theme doom-theme t))))) (defadvice! doom--run-load-theme-hooks-a (theme &optional _no-confirm no-enable) @@ -605,18 +606,21 @@ Otherwise, themes can conflict with each other." :before #'load-theme (mapc #'disable-theme custom-enabled-themes)) -(defadvice! doom--prefer-compiled-theme-a (orig-fn &rest args) - "Make `load-theme' prioritize the byte-compiled theme for a moderate boost in -startup (or theme switch) time, so long as `doom--prefer-theme-elc' is non-nil." - :around #'load-theme - (if (or (null after-init-time) - doom--prefer-theme-elc) - (cl-letf* ((old-locate-file (symbol-function 'locate-file)) - ((symbol-function 'locate-file) - (lambda (filename path &optional _suffixes predicate) - (funcall old-locate-file filename path '("c" "") predicate)))) - (apply orig-fn args)) - (apply orig-fn args))) +(unless EMACS27+ + ;; DEPRECATED Not needed in Emacs 27 + (defadvice! doom--prefer-compiled-theme-a (orig-fn &rest args) + "Have `load-theme' prioritize the byte-compiled theme. +This offers a moderate boost in startup (or theme switch) time, so long as +`doom--prefer-theme-elc' is non-nil." + :around #'load-theme + (if (or (null after-init-time) + doom--prefer-theme-elc) + (cl-letf* ((old-locate-file (symbol-function 'locate-file)) + ((symbol-function 'locate-file) + (lambda (filename path &optional _suffixes predicate) + (funcall old-locate-file filename path '("c" "") predicate)))) + (apply orig-fn args)) + (apply orig-fn args)))) ;; From 49a21720f887ccb463fa2be0183a16deea93e9c8 Mon Sep 17 00:00:00 2001 From: "M. Yas. Davoodeh" Date: Thu, 26 Mar 2020 00:20:59 +0430 Subject: [PATCH 038/423] Removed the snippet pkg since they're in Doom's. --- modules/lang/dart/packages.el | 9 --------- 1 file changed, 9 deletions(-) diff --git a/modules/lang/dart/packages.el b/modules/lang/dart/packages.el index c11f8a62f..71975f46f 100644 --- a/modules/lang/dart/packages.el +++ b/modules/lang/dart/packages.el @@ -7,12 +7,3 @@ (when (featurep! +flutter) (package! flutter :pin "ec92a4df84")) - -;; Features according to other user selected options - -(when (featurep! :editor snippets) - (package! dart-snippets - :recipe (:host github - :repo "MYDavoodeh/dart-snippets" - :files ("*.el" ("snippets" "snippets/*"))) - :pin "946ad5aaa5")) From 82e45e756d300419e77d5f40082ace532e31b008 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 25 Mar 2020 22:44:25 -0400 Subject: [PATCH 039/423] Don't disable cua-mode in pdf-view-mode This mode is global. We can't pretend it's buffer local. --- modules/tools/pdf/config.el | 3 --- 1 file changed, 3 deletions(-) diff --git a/modules/tools/pdf/config.el b/modules/tools/pdf/config.el index a7d862f2a..a5047ec41 100644 --- a/modules/tools/pdf/config.el +++ b/modules/tools/pdf/config.el @@ -40,9 +40,6 @@ props)))) (apply orig-fn args)))) - ;; Turn off cua so copy works - (add-hook! 'pdf-view-mode-hook (cua-mode 0)) - ;; Handle PDF-tools related popups better (set-popup-rules! '(("^\\*Outline*" :side right :size 40 :select nil) From 7d1093dc29f02189f437d3da19e6088f4c2e9d09 Mon Sep 17 00:00:00 2001 From: Seong Yong-ju Date: Thu, 26 Mar 2020 22:48:14 +0900 Subject: [PATCH 040/423] Fix region formatting --- modules/editor/format/autoload/format.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/editor/format/autoload/format.el b/modules/editor/format/autoload/format.el index eea715e8c..84f6874dd 100644 --- a/modules/editor/format/autoload/format.el +++ b/modules/editor/format/autoload/format.el @@ -201,7 +201,7 @@ See `+format/buffer' for the interactive version of this function, and (defalias '+format/buffer #'format-all-buffer) ;;;###autoload -(defun +format/region (beg end &optional arg) +(defun +format/region (beg end) "Runs the active formatter on the lines within BEG and END. WARNING: this may not work everywhere. It will throw errors if the region @@ -211,7 +211,7 @@ snippets or single lines." (save-restriction (narrow-to-region beg end) (let ((+format-region-p t)) - (+format/buffer arg)))) + (+format/buffer)))) ;;;###autoload (defun +format/region-or-buffer () From ec671002d656c233706505b754375ae6e52ea945 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 26 Mar 2020 17:34:32 -0400 Subject: [PATCH 041/423] Fix void-variable +org-present--overlays Accidentally removed some time ago. --- modules/lang/org/autoload/contrib-present.el | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/lang/org/autoload/contrib-present.el b/modules/lang/org/autoload/contrib-present.el index 6f40b31af..04aac9366 100644 --- a/modules/lang/org/autoload/contrib-present.el +++ b/modules/lang/org/autoload/contrib-present.el @@ -1,6 +1,9 @@ ;;; lang/org/autoload/contrib-present.el -*- lexical-binding: t; -*- ;;;###if (featurep! +present) +(defvar +org-present--overlays nil) + + ;; ;;; Helpers From fd177b971beb514ae6a280a457ef8eba11ea69d2 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 00:55:37 -0400 Subject: [PATCH 042/423] Bump core packages koral/gcmh@8867533 -> koral/gcmh@9e241e0 domtronn/all-the-icons.el@1416f37 -> domtronn/all-the-icons.el@f6cbb51 jscheid/dtrt-indent@48221c9 -> jscheid/dtrt-indent@1569b71 Fuco1/smartparens@1f8857c -> Fuco1/smartparens@555626a bbatsov/projectile@341150c -> bbatsov/projectile@588692a noctuid/general.el@f6e9286 -> noctuid/general.el@14ad4c8 justbur/emacs-which-key@7b068f3 -> justbur/emacs-which-key@8b49ae9 --- core/packages.el | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/core/packages.el b/core/packages.el index e1a3e9612..c172972d6 100644 --- a/core/packages.el +++ b/core/packages.el @@ -3,10 +3,10 @@ ;; core.el (package! auto-minor-mode :pin "17cfa1b548") -(package! gcmh :pin "8867533a73") +(package! gcmh :pin "9e241e0a9f") ;; core-ui.el -(package! all-the-icons :pin "1416f37984") +(package! all-the-icons :pin "f6cbb51c15") (package! hide-mode-line :pin "88888825b5") (package! highlight-numbers :pin "8b4744c7f4") (package! rainbow-delimiters :pin "5125f4e476") @@ -14,12 +14,12 @@ ;; core-editor.el (package! better-jumper :pin "6d240032ca") -(package! dtrt-indent :pin "48221c928b") +(package! dtrt-indent :pin "1569b712ea") (package! helpful :pin "c54e9ddbd6") (when IS-MAC (package! ns-auto-titlebar :pin "1efc30d385")) (package! pcre2el :pin "0b5b2a2c17") -(package! smartparens :pin "1f8857c5fe") +(package! smartparens :pin "555626a43f") (package! so-long :built-in 'prefer ; included in Emacs 27+ ;; REVIEW so-long is slated to be published to ELPA eventually, but until then @@ -37,11 +37,11 @@ (package! xclip :pin "d022cf947d")) ;; core-projects.el -(package! projectile :pin "341150c0e7") +(package! projectile :pin "588692ad56") ;; core-keybinds.el -(package! general :pin "f6e928622d") -(package! which-key :pin "7b068f3e95") +(package! general :pin "14ad4c888b") +(package! which-key :pin "8b49ae978c") ;; autoload/cache.el (package! persistent-soft :pin "a1e0ddf2a1") From f1df6230eab9ab4ecb0d5203c7c8503f7aae5c76 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 01:04:30 -0400 Subject: [PATCH 043/423] Bump :app irc, elfeed & twitter jorgenschaefer/circe@0c79138 -> jorgenschaefer/circe@e5bf5f8 skeeto/elfeed@3f0edb1 -> skeeto/elfeed@d0405e6 abo-abo/avy@cf95ba9 -> abo-abo/avy@3bf8314 --- modules/app/irc/packages.el | 2 +- modules/app/rss/packages.el | 2 +- modules/app/twitter/packages.el | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/app/irc/packages.el b/modules/app/irc/packages.el index fe52975f8..d4609d107 100644 --- a/modules/app/irc/packages.el +++ b/modules/app/irc/packages.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; -*- ;;; app/irc/packages.el -(package! circe :pin "0c79138fb2") +(package! circe :pin "e5bf5f8974") (package! circe-notifications :pin "291149ac12") diff --git a/modules/app/rss/packages.el b/modules/app/rss/packages.el index 1d33be22a..076686e55 100644 --- a/modules/app/rss/packages.el +++ b/modules/app/rss/packages.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; -*- ;;; app/rss/packages.el -(package! elfeed :pin "3f0edb1737") +(package! elfeed :pin "d0405e6386") (package! elfeed-org :pin "77b6bbf222") diff --git a/modules/app/twitter/packages.el b/modules/app/twitter/packages.el index d5ef4732c..927619ae8 100644 --- a/modules/app/twitter/packages.el +++ b/modules/app/twitter/packages.el @@ -2,4 +2,4 @@ ;;; app/twitter/packages.el (package! twittering-mode :pin "114891e8fd") -(package! avy :pin "cf95ba9582") +(package! avy :pin "3bf83140fa") From 6b73f3839596e4e2cb560315571c137043907373 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 01:08:36 -0400 Subject: [PATCH 044/423] Bump to flycheck/flycheck@f19a51c From flycheck/flycheck@08345d3 --- modules/checkers/syntax/packages.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/checkers/syntax/packages.el b/modules/checkers/syntax/packages.el index e25b891d7..d4cf34bbc 100644 --- a/modules/checkers/syntax/packages.el +++ b/modules/checkers/syntax/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; checkers/syntax/packages.el -(package! flycheck :pin "08345d38e2") +(package! flycheck :pin "f19a51c0f1") (package! flycheck-popup-tip :pin "ef86aad907") (when (featurep! +childframe) (package! flycheck-posframe :pin "2b3e94c2e4")) From 538bdf1387a31f05b087ffa23d10ab4b4a47cf19 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 01:09:33 -0400 Subject: [PATCH 045/423] Bump :completion Yevgnen/ivy-rich@0f22aff -> Yevgnen/ivy-rich@596874d abo-abo/swiper@5f1d9ce -> abo-abo/swiper@64f05f4 company-mode/company-mode@9de9905 -> company-mode/company-mode@61ddd9a emacs-helm/helm-org@8457e1e) -> emacs-helm/helm-org@b7a18df emacs-helm/helm@21e778b -> emacs-helm/helm@0181b7e raxod502/prescient.el@7fd8c3b -> raxod502/prescient.el@a194852 tumashu/posframe@8a9af54) -> tumashu/posframe@c15800a --- modules/completion/company/packages.el | 4 ++-- modules/completion/helm/packages.el | 6 +++--- modules/completion/ivy/packages.el | 6 +++--- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/modules/completion/company/packages.el b/modules/completion/company/packages.el index 87a5be858..d0d94e7e7 100644 --- a/modules/completion/company/packages.el +++ b/modules/completion/company/packages.el @@ -1,8 +1,8 @@ ;; -*- no-byte-compile: t; -*- ;;; completion/company/packages.el -(package! company :pin "9de9905ed2") +(package! company :pin "61ddd9afb5") (package! company-dict :pin "cd7b8394f6") -(package! company-prescient :pin "7fd8c3b802") +(package! company-prescient :pin "a194852e80") (when (featurep! +childframe) (package! company-box :pin "8fc6168f2d")) diff --git a/modules/completion/helm/packages.el b/modules/completion/helm/packages.el index 9513afaa3..08aa83de7 100644 --- a/modules/completion/helm/packages.el +++ b/modules/completion/helm/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; completion/helm/packages.el -(package! helm :pin "21e778bc88") +(package! helm :pin "0181b7ef46") (package! helm-rg :pin "785a80fe5c") (package! helm-c-yasnippet :pin "65ca732b51") (package! helm-company :pin "6eb5c2d730") @@ -13,6 +13,6 @@ (when (featurep! +fuzzy) (package! helm-flx :pin "6640fac5cb")) (when (featurep! +childframe) - (package! posframe :pin "8a9af547e6")) + (package! posframe :pin "c15800a838")) (when (featurep! :lang org) - (package! helm-org :pin "8457e1e462")) + (package! helm-org :pin "b7a18dfc17")) diff --git a/modules/completion/ivy/packages.el b/modules/completion/ivy/packages.el index 40b28ce3d..0a0b5aff5 100644 --- a/modules/completion/ivy/packages.el +++ b/modules/completion/ivy/packages.el @@ -1,18 +1,18 @@ ;; -*- no-byte-compile: t; -*- ;;; completion/ivy/packages.el -(package! swiper :pin "5f1d9ce045") +(package! swiper :pin "64f05f4735") (package! ivy) (package! ivy-hydra) (package! counsel) (package! amx :pin "e512e74e83") (package! counsel-projectile :pin "b556ed8995") -(package! ivy-rich :pin "0f22aff4c7") +(package! ivy-rich :pin "596874d146") (package! wgrep :pin "5977b8e000") (if (featurep! +prescient) - (package! ivy-prescient :pin "7fd8c3b802") + (package! ivy-prescient :pin "a194852e80") (when (featurep! +fuzzy) (package! flx :pin "17f5c9cb2a"))) From 2ecd100c38a38ba15cf13b2bd7b6e30cb113342d Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 01:15:07 -0400 Subject: [PATCH 046/423] Bump :editor evil emacs-evil/evil-collection@e6a4ba6 -> emacs-evil/evil-collection@fe0700e emacs-evil/evil@7c42ba4 -> emacs-evil/evil@2969324 ninrod/exato@88266fa -> ninrod/exato@d5daea3 redguardtoo/evil-nerd-commenter@fa40dab -> redguardtoo/evil-nerd-commenter@4387407 --- modules/editor/evil/+everywhere.el | 1 + modules/editor/evil/README.org | 1 - modules/editor/evil/config.el | 1 - modules/editor/evil/packages.el | 8 ++++---- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/modules/editor/evil/+everywhere.el b/modules/editor/evil/+everywhere.el index fcc34b980..5f98acc84 100644 --- a/modules/editor/evil/+everywhere.el +++ b/modules/editor/evil/+everywhere.el @@ -196,6 +196,7 @@ variable for an explanation of the defaults (in comments). See which-key woman xref + xwidget youtube-dl (ztree ztree-diff))) diff --git a/modules/editor/evil/README.org b/modules/editor/evil/README.org index d83e57182..46053eaad 100644 --- a/modules/editor/evil/README.org +++ b/modules/editor/evil/README.org @@ -36,7 +36,6 @@ This holy module brings the vim experience to Emacs. + [[https://github.com/TheBB/evil-indent-plus][evil-indent-plus]] + [[https://github.com/edkolev/evil-lion][evil-lion]] + [[https://github.com/redguardtoo/evil-nerd-commenter][evil-nerd-commentary]] -+ [[https://github.com/redguardtoo/evil-matchit][evil-matchit]] + [[https://github.com/cofi/evil-numbers][evil-numbers]] + [[https://github.com/noctuid/evil-textobj-anyblock][evil-textobj-anyblock]] + [[https://github.com/hlissner/evil-snipe][evil-snipe]] diff --git a/modules/editor/evil/config.el b/modules/editor/evil/config.el index 98c39ebf0..105f7c875 100644 --- a/modules/editor/evil/config.el +++ b/modules/editor/evil/config.el @@ -221,7 +221,6 @@ directives. By default, this only recognizes C directives.") :bind ((evil-ex-search-highlight-all nil))) (evilem-make-motion evilem-motion-search-previous #'evil-ex-search-previous :bind ((evil-ex-search-highlight-all nil))) - (evilem-make-motion evilem-motion-search-word-forward #'evil-ex-search-word-forward :bind ((evil-ex-search-highlight-all nil))) (evilem-make-motion evilem-motion-search-word-backward #'evil-ex-search-word-backward diff --git a/modules/editor/evil/packages.el b/modules/editor/evil/packages.el index 9e116ce96..bad15dfa8 100644 --- a/modules/editor/evil/packages.el +++ b/modules/editor/evil/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; editor/evil/packages.el -(package! evil :pin "7c42ba4de0") +(package! evil :pin "296932406a") (package! evil-args :pin "758ad5ae54") (package! evil-easymotion :pin "79c13ed3bc") (package! evil-embrace :pin "4379adea03") @@ -9,7 +9,7 @@ (package! evil-exchange :pin "3030e21ee1") (package! evil-indent-plus :pin "0c7501e6ef") (package! evil-lion :pin "6b03593f5d") -(package! evil-nerd-commenter :pin "fa40dab8d2") +(package! evil-nerd-commenter :pin "4387407615") (package! evil-numbers :recipe (:host github :repo "janpath/evil-numbers") :pin "d988041c1f") @@ -18,7 +18,7 @@ (package! evil-textobj-anyblock :pin "ff00980f06") (package! evil-traces :pin "bc25cae9fa") (package! evil-visualstar :pin "06c053d8f7") -(package! exato :pin "88266fa7fc") +(package! exato :pin "d5daea3017") (package! evil-quick-diff :recipe (:host github :repo "rgrinberg/evil-quick-diff") :pin "69c883720b") @@ -31,4 +31,4 @@ (package! neotree) (autoload 'neotree-make-executor "neotree" nil nil 'macro)) - (package! evil-collection :pin "e6a4ba695e")) + (package! evil-collection :pin "fe0700ec16")) From 169f9a6121d8e0c75c0b27c2566f050477828dce Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 01:25:30 -0400 Subject: [PATCH 047/423] General, minor refactor & reformatting --- core/autoload/packages.el | 3 +- core/autoload/themes.el | 5 +- modules/checkers/spell/config.el | 8 +- modules/checkers/syntax/config.el | 9 +-- modules/completion/company/config.el | 13 ++-- modules/completion/ivy/config.el | 4 +- modules/config/default/+evil-bindings.el | 6 +- modules/config/default/config.el | 29 +++---- modules/lang/cc/config.el | 98 ++++++++++-------------- modules/lang/coq/config.el | 8 +- modules/lang/csharp/autoload.el | 5 ++ modules/lang/csharp/config.el | 30 ++++---- modules/lang/csharp/packages.el | 2 - modules/lang/elixir/config.el | 27 ++++--- modules/lang/go/config.el | 2 +- modules/lang/javascript/config.el | 32 ++++---- modules/lang/latex/config.el | 23 +++--- modules/lang/org/config.el | 6 +- modules/lang/php/config.el | 3 +- modules/term/vterm/config.el | 2 +- modules/tools/lsp/README.org | 3 +- modules/ui/doom/config.el | 20 ++--- 22 files changed, 161 insertions(+), 177 deletions(-) diff --git a/core/autoload/packages.el b/core/autoload/packages.el index 9d6d7eed0..349f34805 100644 --- a/core/autoload/packages.el +++ b/core/autoload/packages.el @@ -128,7 +128,8 @@ installed." 'builtin) ((assq package package-alist) 'elpa) - ('other))) + ((locate-library (symbol-name package)) + 'other))) ;;;###autoload (defun doom-package-different-recipe-p (name) diff --git a/core/autoload/themes.el b/core/autoload/themes.el index 2fb84ef3f..a78336cdf 100644 --- a/core/autoload/themes.el +++ b/core/autoload/themes.el @@ -34,8 +34,9 @@ all themes. It will apply to all themes once they are loaded." (defmacro custom-set-faces! (&rest specs) "Apply a list of face SPECS as user customizations. -This is a drop-in replacement for `custom-set-face' that allows for a simplified -face format." +This is a convenience macro alternative to `custom-set-face' which allows for a +simplified face format, and takes care of load order issues, so you can use +doom-themes' API without worry." (declare (indent defun)) `(custom-theme-set-faces! 'user ,@specs)) diff --git a/modules/checkers/spell/config.el b/modules/checkers/spell/config.el index 760c3f1ef..7936b24cd 100644 --- a/modules/checkers/spell/config.el +++ b/modules/checkers/spell/config.el @@ -65,10 +65,10 @@ (defun +spell-inhibit-duplicate-detection-maybe-h () "Don't mark duplicates when style/grammar linters are present. e.g. proselint and langtool." - (when (or (and (bound-and-true-p flycheck-mode) - (executable-find "proselint")) - (featurep 'langtool)) - (setq-local flyspell-mark-duplications-flag nil)))) + (and (or (and (bound-and-true-p flycheck-mode) + (executable-find "proselint")) + (featurep 'langtool)) + (setq-local flyspell-mark-duplications-flag nil)))) ;; Ensure mode-local predicates declared with `set-flyspell-predicate!' are ;; used in their respective major modes. diff --git a/modules/checkers/syntax/config.el b/modules/checkers/syntax/config.el index 268fe2bc9..6d82bb0f5 100644 --- a/modules/checkers/syntax/config.el +++ b/modules/checkers/syntax/config.el @@ -10,8 +10,8 @@ (setq flycheck-emacs-lisp-load-path 'inherit) ;; Check only when saving or opening files. Newline & idle checks are a mote - ;; excessive, especially when that can easily catch code in an incomplete - ;; state, so we removed them. + ;; excessive and can catch code in an incomplete state, producing false + ;; positives, so we removed them. (setq flycheck-check-syntax-automatically '(save mode-enabled)) ;; Display errors a little quicker (default is 0.9s) @@ -41,7 +41,7 @@ (use-package! flycheck-popup-tip :commands flycheck-popup-tip-show-popup flycheck-popup-tip-delete-popup - :init (add-hook 'flycheck-mode-hook #'+syntax-init-popups-h) + :hook (flycheck-mode . +syntax-init-popups-h) :config (setq flycheck-popup-tip-error-prefix "✕ ") (after! evil @@ -58,8 +58,7 @@ (use-package! flycheck-posframe :when (featurep! +childframe) - :defer t - :init (add-hook 'flycheck-mode-hook #'+syntax-init-popups-h) + :hook (flycheck-mode . +syntax-init-popups-h) :config (setq flycheck-posframe-warning-prefix "⚠ " flycheck-posframe-info-prefix "··· " diff --git a/modules/completion/company/config.el b/modules/completion/company/config.el index dddf2309b..e5a34ea1e 100644 --- a/modules/completion/company/config.el +++ b/modules/completion/company/config.el @@ -4,19 +4,16 @@ :commands company-complete-common company-manual-begin company-grab-line :after-call pre-command-hook after-find-file :init - (setq company-minimum-prefix-length 2 + (setq company-idle-delay 0.25 + company-minimum-prefix-length 2 company-tooltip-limit 14 - company-dabbrev-downcase nil - company-dabbrev-ignore-case nil - company-dabbrev-code-other-buffers t company-tooltip-align-annotations t company-require-match 'never company-global-modes '(not erc-mode message-mode help-mode gud-mode eshell-mode) - company-backends '(company-capf) - company-frontends - '(company-pseudo-tooltip-frontend - company-echo-metadata-frontend)) + company-backends '(company-capf) + company-frontends '(company-pseudo-tooltip-frontend + company-echo-metadata-frontend)) :config (when (featurep! :editor evil) (add-hook 'company-mode-hook #'evil-normalize-keymaps) diff --git a/modules/completion/ivy/config.el b/modules/completion/ivy/config.el index fd262e1d0..c8fe85553 100644 --- a/modules/completion/ivy/config.el +++ b/modules/completion/ivy/config.el @@ -297,8 +297,8 @@ evil-ex-specific constructs, so we disable it solely in evil-ex." ;; no highlighting visited files; slows down the filtering (ivy-set-display-transformer #'counsel-projectile-find-file nil) - (if (featurep! +prescient) - (setq counsel-projectile-sort-files t))) + (when (featurep! +prescient) + (setq counsel-projectile-sort-files t))) (use-package! wgrep diff --git a/modules/config/default/+evil-bindings.el b/modules/config/default/+evil-bindings.el index 542105924..79802177f 100644 --- a/modules/config/default/+evil-bindings.el +++ b/modules/config/default/+evil-bindings.el @@ -553,10 +553,10 @@ :desc "Find recent project files" "r" #'projectile-recentf :desc "Run project" "R" #'projectile-run-project :desc "Save project files" "s" #'projectile-save-project-buffers - :desc "Pop up scratch buffer" "x" #'doom/open-project-scratch-buffer - :desc "Switch to scratch buffer" "X" #'doom/switch-to-project-scratch-buffer :desc "List project tasks" "t" #'magit-todos-list - :desc "Test project" "T" #'projectile-test-project) + :desc "Test project" "T" #'projectile-test-project + :desc "Pop up scratch buffer" "x" #'doom/open-project-scratch-buffer + :desc "Switch to scratch buffer" "X" #'doom/switch-to-project-scratch-buffer) ;;; q --- quit/session (:prefix-map ("q" . "quit/session") diff --git a/modules/config/default/config.el b/modules/config/default/config.el index 91af1f621..b4362a49a 100644 --- a/modules/config/default/config.el +++ b/modules/config/default/config.el @@ -1,19 +1,19 @@ ;;; config/default/config.el -*- lexical-binding: t; -*- (defvar +default-minibuffer-maps - `(minibuffer-local-map - minibuffer-local-ns-map - minibuffer-local-completion-map - minibuffer-local-must-match-map - minibuffer-local-isearch-map - read-expression-map - ,@(cond ((featurep! :completion ivy) - '(ivy-minibuffer-map - ivy-switch-buffer-map)) - ((featurep! :completion helm) - '(helm-map - helm-ag-map - helm-read-file-map)))) + (append '(minibuffer-local-map + minibuffer-local-ns-map + minibuffer-local-completion-map + minibuffer-local-must-match-map + minibuffer-local-isearch-map + read-expression-map) + (cond ((featurep! :completion ivy) + '(ivy-minibuffer-map + ivy-switch-buffer-map)) + ((featurep! :completion helm) + '(helm-map + helm-ag-map + helm-read-file-map)))) "A list of all the keymaps used for the minibuffer.") @@ -32,7 +32,7 @@ ;; With GPG 2.1+, this forces gpg-agent to use the Emacs minibuffer to prompt ;; for the key passphrase. (setq epa-pinentry-mode 'loopback) - ;; Default to the first secret key available in your keyring. + ;; Default to the first secret key available in your keyring. (setq-default epa-file-encrypt-to (or (default-value 'epa-file-encrypt-to) @@ -254,6 +254,7 @@ "s-c" (if (featurep 'evil) #'evil-yank #'copy-region-as-kill) "s-v" #'yank "s-s" #'save-buffer + "s-x" #'execute-extended-command :v "s-x" #'kill-region ;; Buffer-local font scaling "s-+" #'doom/reset-font-size diff --git a/modules/lang/cc/config.el b/modules/lang/cc/config.el index 9430e6a77..438085637 100644 --- a/modules/lang/cc/config.el +++ b/modules/lang/cc/config.el @@ -33,28 +33,24 @@ This is ignored by ccls.") ;;; Packages (use-package! cc-mode - :commands (c-mode c++-mode objc-mode java-mode) :mode ("\\.mm\\'" . objc-mode) - :init - ;; Activate `c-mode', `c++-mode' or `objc-mode' depending on heuristics - (add-to-list 'auto-mode-alist '("\\.h\\'" . +cc-c-c++-objc-mode)) - - ;; Ensure find-file-at-point works in C modes, must be added before irony - ;; and/or lsp hooks are run. - (add-hook! '(c-mode-local-vars-hook - c++-mode-local-vars-hook - objc-mode-local-vars-hook) - #'+cc-init-ffap-integration-h) - + ;; Use `c-mode'/`c++-mode'/`objc-mode' depending on heuristics + :mode ("\\.h\\'" . +cc-c-c++-objc-mode) + ;; Ensure find-file-at-point recognize system libraries in C modes. It must be + ;; set up before the likes of irony/lsp are initialized. Also, we use + ;; local-vars hooks to ensure these only run in their respective major modes, + ;; and not their derived modes. + :hook ((after-c-mode after-c++-mode after-objc-mode) . +cc-init-ffap-integration-h) + ;;; Improve fontification in C/C++ (also see `modern-cpp-font-lock') + :hook (c-mode-common . rainbow-delimiters-mode) + :hook ((c-mode c++-mode) . +cc-fontify-constants-h) :config - (set-electric! '(c-mode c++-mode objc-mode java-mode) :chars '(?\n ?\} ?\{)) (set-docsets! 'c-mode "C") (set-docsets! 'c++-mode "C++" "Boost") - + (set-electric! '(c-mode c++-mode objc-mode java-mode) :chars '(?\n ?\} ?\{)) (set-rotate-patterns! 'c++-mode :symbols '(("public" "protected" "private") ("class" "struct"))) - (set-pretty-symbols! '(c-mode c++-mode) ;; Functional ;; :def "void " @@ -71,10 +67,6 @@ This is ignored by ccls.") :return "return" :yield "#require") - ;;; Better fontification (also see `modern-cpp-font-lock') - (add-hook 'c-mode-common-hook #'rainbow-delimiters-mode) - (add-hook! '(c-mode-hook c++-mode-hook) #'+cc-fontify-constants-h) - ;; Custom style, based off of linux (setq c-basic-offset tab-width c-backspace-function #'delete-backward-char) @@ -122,23 +114,21 @@ This is ignored by ccls.") (use-package! irony :unless (featurep! +lsp) - :commands (irony-install-server irony-mode) - :preface - (setq irony-server-install-prefix (concat doom-etc-dir "irony-server/")) - :init - (add-hook! '(c-mode-local-vars-hook - c++-mode-local-vars-hook - objc-mode-local-vars-hook) - (defun +cc-init-irony-mode-h () - (if (file-directory-p irony-server-install-prefix) - (irony-mode +1) - (message "Irony server isn't installed")))) - :config - (setq irony-cdb-search-directory-list '("." "build" "build-conda")) - + :commands irony-install-server ;; Initialize compilation database, if present. Otherwise, fall back on ;; `+cc-default-compiler-options'. - (add-hook 'irony-mode-hook #'+cc-init-irony-compile-options-h) + :hook (irony-mode . +cc-init-irony-compile-options-h) + ;; Only initialize `irony-mode' if the server is available. Otherwise fail + ;; quietly and gracefully. + :hook ((after-c-mode after-c++-mode after-objc-mode) . +cc-init-irony-mode-maybe-h) + :preface (setq irony-server-install-prefix (concat doom-etc-dir "irony-server/")) + :config + (defun +cc-init-irony-mode-maybe-h () + (if (file-directory-p irony-server-install-prefix) + (irony-mode +1) + (message "Irony server isn't installed"))) + + (setq irony-cdb-search-directory-list '("." "build" "build-conda")) (use-package! irony-eldoc :hook (irony-mode . irony-eldoc)) @@ -149,19 +139,15 @@ This is ignored by ccls.") (use-package! company-irony :when (featurep! :completion company) - :init - (set-company-backend! 'irony-mode - '(:separate company-irony-c-headers company-irony)) - :config - (require 'company-irony-c-headers))) + :init (set-company-backend! 'irony-mode '(:separate company-irony-c-headers company-irony)) + :config (require 'company-irony-c-headers))) ;; ;; Major modes -(use-package! cmake-mode - :defer t - :config (set-docsets! 'cmake-mode "CMake")) +(after! cmake-mode + (set-docsets! 'cmake-mode "CMake")) (use-package! company-cmake ; for `cmake-mode' :when (featurep! :completion company) @@ -184,19 +170,17 @@ This is ignored by ccls.") (use-package! rtags :unless (featurep! +lsp) - :commands rtags-executable-find - :preface - (setq rtags-install-path (concat doom-etc-dir "rtags/")) - :init - (add-hook! '(c-mode-local-vars-hook - c++-mode-local-vars-hook - objc-mode-local-vars-hook) - (defun +cc-init-rtags-h () - "Start an rtags server in c-mode and c++-mode buffers." - (when (and (require 'rtags nil t) - (rtags-executable-find rtags-rdm-binary-name)) - (rtags-start-process-unless-running)))) + ;; Only initialize rtags-mode if rtags and rdm are available. + :hook ((after-c-mode after-c++-mode after-objc-mode) . +cc-init-rtags-maybe-h) + :preface (setq rtags-install-path (concat doom-etc-dir "rtags/")) :config + (defun +cc-init-rtags-maybe-h () + "Start an rtags server in c-mode and c++-mode buffers. +If rtags or rdm aren't available, fail silently instead of throwing a breaking error." + (and (require 'rtags nil t) + (rtags-executable-find rtags-rdm-binary-name) + (rtags-start-process-unless-running))) + (setq rtags-autostart-diagnostics t rtags-use-bookmarks nil rtags-completions-enabled nil @@ -221,11 +205,13 @@ This is ignored by ccls.") :definition #'rtags-find-symbol-at-point :references #'rtags-find-references-at-point) - (add-hook! 'kill-emacs-hook (ignore-errors (rtags-cancel-process))) - ;; Use rtags-imenu instead of imenu/counsel-imenu (define-key! (c-mode-map c++-mode-map) [remap imenu] #'+cc/imenu) + ;; Ensure rtags cleans up after itself properly when exiting Emacs, rather + ;; than display a jarring confirmation prompt for killing it. + (add-hook! 'kill-emacs-hook (ignore-errors (rtags-cancel-process))) + (add-hook 'rtags-jump-hook #'better-jumper-set-jump) (add-hook 'rtags-after-find-file-hook #'recenter)) diff --git a/modules/lang/coq/config.el b/modules/lang/coq/config.el index 98b202787..2b66cb6e1 100644 --- a/modules/lang/coq/config.el +++ b/modules/lang/coq/config.el @@ -72,11 +72,11 @@ (setq company-coq-disabled-features '(hello company-defaults)) (if (featurep! :completion company) - (map! :map coq-mode-map [remap company-complete-common] - #'company-indent-or-complete-common) + (define-key coq-mode-map [remap company-complete-common] + #'company-indent-or-complete-common) ;; `company-coq''s company defaults impose idle-completion on folks, so - ;; we'll set up company ourselves. - ;; See https://github.com/cpitclaudel/company-coq/issues/42 + ;; we'll set up company ourselves. See + ;; https://github.com/cpitclaudel/company-coq/issues/42 (add-to-list 'company-coq-disabled-features 'company)) (map! :map coq-mode-map diff --git a/modules/lang/csharp/autoload.el b/modules/lang/csharp/autoload.el index 0cdedf0bd..ba9e5814c 100644 --- a/modules/lang/csharp/autoload.el +++ b/modules/lang/csharp/autoload.el @@ -8,3 +8,8 @@ (sp-point-after-word-p id action context)) ((eq action 'autoskip) (/= (char-before) 32))))) + +;;;###autoload +(defun +csharp-kill-omnisharp-server-h () + (unless (doom-buffers-in-mode 'csharp-mode (buffer-list)) + (omnisharp-stop-server))) diff --git a/modules/lang/csharp/config.el b/modules/lang/csharp/config.el index 02f275800..7efcff727 100644 --- a/modules/lang/csharp/config.el +++ b/modules/lang/csharp/config.el @@ -1,12 +1,13 @@ ;;; lang/csharp/config.el -*- lexical-binding: t; -*- -(after! csharp-mode - (add-hook 'csharp-mode-hook #'rainbow-delimiters-mode) - +(use-package! csharp-mode + :hook (csharp-mode . rainbow-delimiters-mode) + :config (set-electric! 'csharp-mode :chars '(?\n ?\})) (set-rotate-patterns! 'csharp-mode :symbols '(("public" "protected" "private") ("class" "struct"))) + (sp-local-pair 'csharp-mode "<" ">" :when '(+csharp-sp-point-in-type-p) :post-handlers '(("| " "SPC"))) @@ -17,25 +18,22 @@ (use-package! omnisharp :unless (featurep! +lsp) - :hook (csharp-mode-local-vars . omnisharp-mode) :commands omnisharp-install-server + :hook (csharp-mode-local-vars . omnisharp-mode) :preface (setq omnisharp-auto-complete-want-documentation nil omnisharp-cache-directory (concat doom-etc-dir "omnisharp")) :config - (defun +csharp-cleanup-omnisharp-server-h () - "Clean up the omnisharp server once you kill the last csharp-mode buffer." - (unless (doom-buffers-in-mode 'csharp-mode (buffer-list)) - (omnisharp-stop-server))) - (add-hook! 'omnisharp-mode-hook - (add-hook 'kill-buffer-hook #'+csharp-cleanup-omnisharp-server-h nil t)) - (set-company-backend! 'omnisharp-mode 'company-omnisharp) (set-lookup-handlers! 'omnisharp-mode :definition #'omnisharp-go-to-definition :references #'omnisharp-find-usages :documentation #'omnisharp-current-type-documentation) + ;; Kill the omnisharp server once the last csharp-mode buffer is killed + (add-hook! 'omnisharp-mode-hook + (add-hook 'kill-buffer-hook #'+csharp-cleanup-omnisharp-server-h nil t)) + (map! :localleader :map omnisharp-mode-map "b" #'omnisharp-recompile @@ -60,11 +58,11 @@ "b" #'omnisharp-unit-test-buffer))) -;;;###package shader-mode -(when (featurep! +unity) - ;; Unity shaders - (add-to-list 'auto-mode-alist '("\\.shader\\'" . shader-mode)) - +;; Unity shaders +(use-package! shader-mode + :when (featurep! +unity) + :mode "\\.shader\\'" + :config (def-project-mode! +csharp-unity-mode :modes '(csharp-mode shader-mode) :files (and "Assets" "Library/MonoManager.asset" "Library/ScriptMapper"))) diff --git a/modules/lang/csharp/packages.el b/modules/lang/csharp/packages.el index b05b5d4c4..7f3d9eba0 100644 --- a/modules/lang/csharp/packages.el +++ b/modules/lang/csharp/packages.el @@ -2,9 +2,7 @@ ;;; lang/csharp/packages.el (package! csharp-mode :pin "57bd21bda4") - (unless (featurep! +lsp) (package! omnisharp :pin "e658a18a76")) - (when (featurep! +unity) (package! shader-mode :pin "d7dc8d0d6f")) diff --git a/modules/lang/elixir/config.el b/modules/lang/elixir/config.el index 20915990d..fee2fab64 100644 --- a/modules/lang/elixir/config.el +++ b/modules/lang/elixir/config.el @@ -37,31 +37,30 @@ (sp-local-pair "fn " " end" :unless '(sp-in-comment-p sp-in-string-p))) (when (featurep! +lsp) - (add-hook 'elixir-mode-local-vars-hook #'lsp!)) + (add-hook 'elixir-mode-local-vars-hook #'lsp!))) - (use-package! flycheck-credo - :when (featurep! :checkers syntax) - :config (flycheck-credo-setup))) + +(use-package! flycheck-credo + :when (featurep! :checkers syntax) + :after elixir-mode + :config (flycheck-credo-setup)) (use-package! alchemist :hook (elixir-mode . alchemist-mode) - :init - (after! elixir-mode - (set-lookup-handlers! 'elixir-mode - :definition #'alchemist-goto-definition-at-point - :documentation #'alchemist-help-search-at-point) - (set-eval-handler! 'elixir-mode #'alchemist-eval-region) - (set-repl-handler! 'elixir-mode #'alchemist-iex-project-run))) + :config + (set-lookup-handlers! 'alchemist-mode + :definition #'alchemist-goto-definition-at-point + :documentation #'alchemist-help-search-at-point) + (set-eval-handler! 'alchemist-mode #'alchemist-eval-region) + (set-repl-handler! 'alchemist-mode #'alchemist-iex-project-run)) (use-package! alchemist-company :when (featurep! :completion company) :commands alchemist-company - :init - (after! elixir-mode - (set-company-backend! 'elixir-mode '(alchemist-company company-yasnippet))) :config + (set-company-backend! 'alchemist-mode '(alchemist-company company-yasnippet)) ;; Alchemist doesn't use hook symbols to add these backends, so we have to use ;; the entire closure to get rid of it. (let ((fn (byte-compile (lambda () (add-to-list (make-local-variable 'company-backends) 'alchemist-company))))) diff --git a/modules/lang/go/config.el b/modules/lang/go/config.el index 948675616..6816369e7 100644 --- a/modules/lang/go/config.el +++ b/modules/lang/go/config.el @@ -44,7 +44,7 @@ (:prefix ("ri" . "imports") "a" #'go-import-add "r" #'go-remove-unused-imports) - (:prefix ( "b" . "build") + (:prefix ("b" . "build") :desc "go run ." "r" (λ! (compile "go run .")) :desc "go build" "b" (λ! (compile "go build")) :desc "go clean" "c" (λ! (compile "go clean"))) diff --git a/modules/lang/javascript/config.el b/modules/lang/javascript/config.el index 1d73bceba..c2fddb09b 100644 --- a/modules/lang/javascript/config.el +++ b/modules/lang/javascript/config.el @@ -58,11 +58,7 @@ mode-name "JS2") (set-electric! 'js2-mode :chars '(?\} ?\) ?. ?:)) - (set-repl-handler! 'js2-mode #'+javascript/open-repl) - - (map! :map js2-mode-map - :localleader - "S" #'+javascript/skewer-this-buffer)) + (set-repl-handler! 'js2-mode #'+javascript/open-repl)) (use-package! rjsx-mode @@ -84,10 +80,10 @@ ;; jshint doesn't know how to deal with jsx (push 'javascript-jshint flycheck-disabled-checkers))) - ;; `rjsx-electric-gt' relies on js2's parser to tell it when the cursor is in - ;; a self-closing tag, so that it can insert a matching ending tag at point. - ;; However, the parser doesn't run immediately, so a fast typist can outrun - ;; it, causing tags to stay unclosed, so we force it to parse. + ;; HACK `rjsx-electric-gt' relies on js2's parser to tell it when the cursor + ;; is in a self-closing tag, so that it can insert a matching ending tag + ;; at point. The parser doesn't run immediately however, so a fast typist + ;; can outrun it, causing tags to stay unclosed, so force it to parse: (defadvice! +javascript-reparse-a (n) ;; if n != 1, rjsx-electric-gt calls rjsx-maybe-reparse itself :before #'rjsx-electric-gt @@ -95,7 +91,7 @@ (use-package! typescript-mode - :defer t + :hook (typescript-mode . rainbow-delimiters-mode) :init ;; REVIEW Fix #2252. This is overwritten if the :lang web module is enabled. ;; We associate TSX files with `web-mode' by default instead because @@ -104,9 +100,6 @@ (unless (featurep! :lang web) (add-to-list 'auto-mode-alist '("\\.tsx\\'" . typescript-mode))) :config - (add-hook 'typescript-mode-hook #'rainbow-delimiters-mode) - (setq-hook! 'typescript-mode-hook - comment-line-break-function #'js2-line-break) (set-electric! 'typescript-mode :chars '(?\} ?\)) :words '("||" "&&")) (set-docsets! 'typescript-mode "TypeScript" "AngularTS") @@ -125,7 +118,10 @@ :not "!" :and "&&" :or "||" :for "for" - :return "return" :yield "import")) + :return "return" :yield "import") + ;; HACK Fixes comment continuation on newline + (setq-hook! 'typescript-mode-hook + comment-line-break-function #'js2-line-break)) ;;;###package coffee-mode @@ -254,6 +250,7 @@ to tide." (map! :localleader (:after js2-mode :map js2-mode-map + "S" #'+javascript/skewer-this-buffer :prefix ("s" . "skewer")) :prefix "s" (:after skewer-mode @@ -278,13 +275,12 @@ to tide." (use-package! npm-mode :hook ((js-mode typescript-mode) . npm-mode) :config - (map! (:localleader - :map npm-mode-keymap + (map! :localleader + (:map npm-mode-keymap "n" npm-mode-command-keymap) (:after js2-mode :map js2-mode-map - :localleader - (:prefix ("n" . "npm"))))) + :prefix ("n" . "npm")))) ;; diff --git a/modules/lang/latex/config.el b/modules/lang/latex/config.el index a73d5bb5a..8c22f173e 100644 --- a/modules/lang/latex/config.el +++ b/modules/lang/latex/config.el @@ -39,6 +39,7 @@ If no viewers are found, `latex-preview-pane' is used.") ;; automatically insert braces after sub/superscript in math mode TeX-electric-sub-and-superscript t) + (after! tex ;; fontify common latex commands (load! "+fontification") @@ -120,9 +121,9 @@ If no viewers are found, `latex-preview-pane' is used.") (use-package! cdlatex - :defer t :when (featurep! +cdlatex) :hook (LaTeX-mode . cdlatex-mode) + :hook (org-mode . org-cdlatex-mode) :config ;; Use \( ... \) instead of $ ... $ (setq cdlatex-use-dollar-to-ensure-math nil) @@ -130,22 +131,22 @@ If no viewers are found, `latex-preview-pane' is used.") (map! :map cdlatex-mode-map ;; smartparens takes care of inserting closing delimiters, and if you ;; don't use smartparens you probably won't want these also. - :g "$" nil - :g "(" nil - :g "{" nil - :g "[" nil - :g "|" nil - :g "<" nil + "$" nil + "(" nil + "{" nil + "[" nil + "|" nil + "<" nil ;; TAB is used for cdlatex's snippets and navigation. But we have ;; yasnippet for that. (:when (featurep! :editor snippets) - :g "TAB" nil) + "TAB" nil) ;; AUCTeX takes care of auto-inserting {} on _^ if you want, with ;; `TeX-electric-sub-and-superscript' - :g "^" nil - :g "_" nil + "^" nil + "_" nil ;; AUCTeX already provides this with `LaTeX-insert-item' - :g [(control return)] nil)) + [(control return)] nil)) ;; Nicely indent lines that have wrapped when visual line mode is activated diff --git a/modules/lang/org/config.el b/modules/lang/org/config.el index 63f4f2b57..e5cd0e76e 100644 --- a/modules/lang/org/config.el +++ b/modules/lang/org/config.el @@ -126,9 +126,9 @@ Is relative to `org-directory', unless it is absolute. Is used in Doom's default ;; underlying faces like the `org-todo' face does, so we define our own ;; intermediary faces that extend from org-todo. (with-no-warnings - (custom-declare-face '+org-todo-active '((t (:inherit (bold font-lock-constant-face org-todo)))) "") + (custom-declare-face '+org-todo-active '((t (:inherit (bold font-lock-constant-face org-todo)))) "") (custom-declare-face '+org-todo-project '((t (:inherit (bold font-lock-doc-face org-todo)))) "") - (custom-declare-face '+org-todo-onhold '((t (:inherit (bold warning org-todo)))) "")) + (custom-declare-face '+org-todo-onhold '((t (:inherit (bold warning org-todo)))) "")) (setq org-todo-keywords '((sequence "TODO(t)" ; A task that needs doing & is ready to do @@ -159,7 +159,7 @@ Is relative to `org-directory', unless it is absolute. Is used in Doom's default (apply orig-fn args))) ;; Automatic indent detection in org files is meaningless - (cl-pushnew 'org-mode doom-detect-indentation-excluded-modes :test #'eq) + (add-to-list 'doom-detect-indentation-excluded-modes 'org-mode) (set-pretty-symbols! 'org-mode :name "#+NAME:" diff --git a/modules/lang/php/config.el b/modules/lang/php/config.el index a141306d7..5405c1ec5 100644 --- a/modules/lang/php/config.el +++ b/modules/lang/php/config.el @@ -14,7 +14,7 @@ :mode "\\.inc\\'" :config ;; Disable HTML compatibility in php-mode. `web-mode' has superior support for - ;; php+html. Use the .phtml + ;; php+html. Use the .phtml extension instead. (setq php-template-compatibility nil) (set-docsets! 'php-mode "PHP" "PHPUnit" "Laravel" "CakePHP" "CodeIgniter" "Doctrine_ORM") @@ -54,7 +54,6 @@ :config (set-lookup-handlers! 'php-mode :definition #'phpactor-goto-definition) - (map! :localleader :map php-mode-map :prefix ("r" . "refactor") diff --git a/modules/term/vterm/config.el b/modules/term/vterm/config.el index e9d2a61cc..18938206c 100644 --- a/modules/term/vterm/config.el +++ b/modules/term/vterm/config.el @@ -1,7 +1,7 @@ ;;; term/vterm/config.el -*- lexical-binding: t; -*- (use-package! vterm - :when (boundp 'module-file-suffix) + :when (bound-and-true-p module-file-suffix) :commands (vterm vterm-mode) :preface (setq vterm-install t) :config diff --git a/modules/tools/lsp/README.org b/modules/tools/lsp/README.org index 7ee5342fc..e83ae975b 100644 --- a/modules/tools/lsp/README.org +++ b/modules/tools/lsp/README.org @@ -52,7 +52,8 @@ As of this writing, this is the state of LSP support in Doom Emacs: | [[../../lang/web/README.org][:lang web]] | web-mode, css-mode, scss-mode, sass-mode, less-css-mode | vscode-css-languageserver-bin, vscode-html-languageserver-bin | ** Module Flags -+ =+peek= Enables the =lsp-ui-peek= navigation frontend provided by the =lsp-ui= package. ++ =+peek= Use =lsp-ui-peek= when looking up definitions and references with + functionality from the =:tools lookup= module. ** Plugins + [[https://github.com/emacs-lsp/lsp-mode][lsp-mode]] diff --git a/modules/ui/doom/config.el b/modules/ui/doom/config.el index a2f43c246..ad39be7f0 100644 --- a/modules/ui/doom/config.el +++ b/modules/ui/doom/config.el @@ -41,15 +41,17 @@ ;; after eob. On Emacs 27 this no longer happens. (unless EMACS27+ (defun +doom--line-range-fn () - (cons (line-beginning-position) - (cond ((let ((eol (line-end-position))) - (and (= eol (point-max)) - (/= eol (line-beginning-position)))) - (1- (line-end-position))) - ((or (eobp) - (= (line-end-position 2) (point-max))) - (line-end-position)) - ((line-beginning-position 2))))) + (let ((bol (line-beginning-position)) + (eol (line-end-position)) + (pmax (point-max))) + (cons bol + (cond ((and (= eol pmax) + (/= eol bol)) + (1- eol)) + ((or (eobp) + (= eol pmax)) + eol) + ((line-beginning-position 2)))))) (setq hl-line-range-function #'+doom--line-range-fn)) ;; Because fringes can't be given a buffer-local face, they can look odd, so From a038e7799ba823d6838567d59354f93b5de9d686 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 02:23:47 -0400 Subject: [PATCH 048/423] Fix #2754: recover-session cannot see auto-saves --- core/core-editor.el | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/core-editor.el b/core/core-editor.el index c4178aa3d..8fc8d9e54 100644 --- a/core/core-editor.el +++ b/core/core-editor.el @@ -85,8 +85,10 @@ possible." create-lockfiles nil make-backup-files nil ;; But have a place to store them in case we do use them... - auto-save-list-file-name (concat doom-cache-dir "autosave") - backup-directory-alist `(("." . ,(concat doom-cache-dir "backup/")))) + ;; auto-save-list-file-name (concat doom-cache-dir "autosave") + auto-save-list-file-prefix (concat doom-cache-dir "autosave/") + auto-save-file-name-transforms `((".*" ,(concat doom-cache-dir "autosave/") t)) + backup-directory-alist `((".*" . ,(concat doom-cache-dir "backup/")))) (add-hook! 'after-save-hook (defun doom-guess-mode-h () From e29136dd3e3c5a8413aaba13d9bb38d8aef5d180 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 02:24:44 -0400 Subject: [PATCH 049/423] Don't backup remote files --- core/core-editor.el | 3 +++ 1 file changed, 3 insertions(+) diff --git a/core/core-editor.el b/core/core-editor.el index 8fc8d9e54..876e712f1 100644 --- a/core/core-editor.el +++ b/core/core-editor.el @@ -90,6 +90,9 @@ possible." auto-save-file-name-transforms `((".*" ,(concat doom-cache-dir "autosave/") t)) backup-directory-alist `((".*" . ,(concat doom-cache-dir "backup/")))) +(after! tramp + (add-to-list 'backup-directory-alist (cons tramp-file-name-regexp nil))) + (add-hook! 'after-save-hook (defun doom-guess-mode-h () "Guess mode when saving a file in `fundamental-mode'." From fa23a912de621f01a91628e9fee901e454c4a488 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 02:29:22 -0400 Subject: [PATCH 050/423] Fix #2778: +ivy/projectile-find-file hangs in / --- modules/completion/ivy/autoload/ivy.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/completion/ivy/autoload/ivy.el b/modules/completion/ivy/autoload/ivy.el index 3c34ae2c8..f646469af 100644 --- a/modules/completion/ivy/autoload/ivy.el +++ b/modules/completion/ivy/autoload/ivy.el @@ -207,8 +207,8 @@ If ARG (universal argument), open selection in other-window." ;;;###autoload (defun +ivy/projectile-find-file () "A more sensible `counsel-projectile-find-file', which will revert to -`counsel-find-file' if invoked from $HOME, `counsel-file-jump' if invoked from a -non-project, `projectile-find-file' if in a big project (more than +`counsel-find-file' if invoked from $HOME or /, `counsel-file-jump' if invoked +from a non-project, `projectile-find-file' if in a big project (more than `ivy-sort-max-size' files), or `counsel-projectile-find-file' otherwise. The point of this is to avoid Emacs locking up indexing massive file trees." @@ -219,6 +219,7 @@ The point of this is to avoid Emacs locking up indexing massive file trees." (let ((this-command 'counsel-find-file)) (call-interactively (cond ((or (file-equal-p default-directory "~") + (file-equal-p default-directory "/") (when-let (proot (doom-project-root)) (file-equal-p proot "~"))) #'counsel-find-file) From a0f674fc7844fdca53b22dbeaf13d0d3a607eb97 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 02:33:25 -0400 Subject: [PATCH 051/423] Refactor & revise comments in core.el --- core/core.el | 107 +++++++++++++++++++++++++++------------------------ 1 file changed, 57 insertions(+), 50 deletions(-) diff --git a/core/core.el b/core/core.el index 0a9c1875f..23dc09f97 100644 --- a/core/core.el +++ b/core/core.el @@ -19,20 +19,22 @@ (defvar doom--initial-load-path load-path) (defvar doom--initial-process-environment process-environment) (defvar doom--initial-exec-path exec-path) -(defvar doom--initial-file-name-handler-alist file-name-handler-alist) -;; This is consulted on every `require', `load' and various path/io functions. -;; You get a minor speed up by nooping this. +;; `file-name-handler-alist' is consulted on every `require', `load' and various +;; path/io functions. You get a minor speed up by nooping this. However, this +;; may cause problems on builds of Emacs where its site lisp files aren't +;; byte-compiled and we're forced to load the *.el.gz files (e.g. on Alpine) (unless noninteractive - (setq file-name-handler-alist nil)) + (defvar doom--initial-file-name-handler-alist file-name-handler-alist) -;; Restore `file-name-handler-alist', because it is needed for handling -;; encrypted or compressed files, among other things. -(defun doom-reset-file-handler-alist-h () - (setq file-name-handler-alist doom--initial-file-name-handler-alist)) -(add-hook 'emacs-startup-hook #'doom-reset-file-handler-alist-h) + (setq file-name-handler-alist nil) + ;; Restore `file-name-handler-alist', because it is needed for handling + ;; encrypted or compressed files, among other things. + (defun doom-reset-file-handler-alist-h () + (setq file-name-handler-alist doom--initial-file-name-handler-alist)) + (add-hook 'emacs-startup-hook #'doom-reset-file-handler-alist-h)) -;; Load the bare necessities +;; Just the bare necessities (require 'core-lib) @@ -135,51 +137,58 @@ users).") ;; ;;; Emacs core configuration -;; lo', longer logs ahoy, so we may reliably locate lapses in doom's logic +;; lo', longer logs ahoy, so to reliably locate lapses in doom's logic later (setq message-log-max 8192) ;; Reduce debug output, well, unless we've asked for it. (setq debug-on-error doom-debug-mode jka-compr-verbose doom-debug-mode) -;; UTF-8 as the default coding system +;; Contrary to what many Emacs users have in their configs, you really don't +;; need more than this to make UTF-8 the default coding system: (when (fboundp 'set-charset-priority) (set-charset-priority 'unicode)) ; pretty (prefer-coding-system 'utf-8) ; pretty (setq locale-coding-system 'utf-8) ; please -;; Except for the clipboard on Windows, where its contents could be in an -;; encoding that's wider than utf-8, so we let Emacs/the OS decide what encoding -;; to use. +;; The clipboard's on Windows could be in an encoding that's wider (or thinner) +;; than utf-8, so let Emacs/the OS decide what encoding to use there. (unless IS-WINDOWS (setq selection-coding-system 'utf-8)) ; with sugar on top -;; Disable warnings from legacy advice system. They aren't useful, and we can't -;; often do anything about them besides changing packages upstream +;; Disable warnings from legacy advice system. They aren't useful, and what can +;; we do about them, besides changing packages upstream? (setq ad-redefinition-action 'accept) ;; Make apropos omnipotent. It's more useful this way. (setq apropos-do-all t) -;; Don't make a second case-insensitive pass over `auto-mode-alist'. If it has -;; to, it's our (the user's) failure. One case for all! +;; A second, case-insensitive pass over `auto-mode-alist' is time wasted, and +;; indicates misconfiguration (or that the user needs to stop relying on case +;; insensitivity). (setq auto-mode-case-fold nil) -;; Display the bare minimum at startup. We don't need all that noise. The -;; dashboard/empty scratch buffer is good enough. +;; Less noise at startup. The dashboard/empty scratch buffer is good enough. (setq inhibit-startup-message t inhibit-startup-echo-area-message user-login-name inhibit-default-init t + ;; Avoid pulling in many packages by starting the scratch buffer in + ;; `fundamental-mode', rather than, say, `org-mode' or `text-mode'. initial-major-mode 'fundamental-mode initial-scratch-message nil) -(fset #'display-startup-echo-area-message #'ignore) + +;; Get rid of "For information about GNU Emacs..." message at startup, unless +;; we're in a daemon session, where it'll say "Starting Emacs daemon." instead, +;; which isn't so bad. +(unless (daemonp) + (advice-add #'display-startup-echo-area-message :override #'ignore)) ;; Emacs "updates" its ui more often than it needs to, so we slow it down -;; slightly, from 0.5s: +;; slightly from 0.5s: (setq idle-update-delay 1) -;; Emacs is a huge security vulnerability, what with all the dependencies it -;; pulls in from all corners of the globe. Let's at least try to be more -;; discerning. +;; Emacs is essentially one huge security vulnerability, what with all the +;; dependencies it pulls in from all corners of the globe. Let's try to be at +;; least a little more discerning. (setq gnutls-verify-error (not (getenv "INSECURE")) gnutls-algorithm-priority "SECURE128:+SECURE192:-VERS-ALL:+VERS-TLS1.2:+VERS-TLS1.3" ;; `gnutls-min-prime-bits' is set based on recommendations from @@ -196,13 +205,13 @@ users).") ;; compatibility fallbacks "gnutls-cli -p %p %h")) -;; Emacs stores authinfo in HOME and in plaintext. Let's not do that, mkay? This -;; file usually stores usernames, passwords, and other such treasures for the +;; Emacs stores authinfo in $HOME and in plaintext. Let's not do that, mkay? +;; This file stores usernames, passwords, and other such treasures for the ;; aspiring malicious third party. (setq auth-sources (list (expand-file-name "authinfo.gpg" doom-etc-dir) "~/.authinfo.gpg")) -;; Emacs on Windows frequently confuses HOME (C:\Users\) and APPDATA, +;; Emacs on Windows frequently confuses HOME (C:\Users\) and %APPDATA%, ;; causing `abbreviate-home-dir' to produce incorrect paths. (when IS-WINDOWS (setq abbreviated-home-dir "\\`'")) @@ -237,9 +246,9 @@ users).") ;; ;;; Optimizations -;; Disable bidirectional text rendering for a modest performance boost. Of -;; course, this renders Emacs unable to detect/display right-to-left languages -;; (sorry!), but for us left-to-right language speakers/writers, it's a boon. +;; Disable bidirectional text rendering for a modest performance boost. I've set +;; this to `nil' in the past, but the `bidi-display-reordering's docs say this +;; isn't a good idea, and suggests this is just as good: (setq-default bidi-display-reordering 'left-to-right bidi-paragraph-direction 'left-to-right) @@ -282,23 +291,22 @@ users).") ;; Adopt a sneaky garbage collection strategy of waiting until idle time to ;; collect; staving off the collector while the user is working. -(when doom-interactive-mode - (add-transient-hook! 'pre-command-hook (gcmh-mode +1)) - (with-eval-after-load 'gcmh - (setq gcmh-idle-delay 10 - gcmh-verbose doom-debug-mode - gcmh-high-cons-threshold 16777216) ; 16mb - (add-hook 'focus-out-hook #'gcmh-idle-garbage-collect))) +(setq gc-cons-percentage 0.6) +(with-eval-after-load 'gcmh + (setq gcmh-idle-delay 10 + gcmh-high-cons-threshold 16777216 + gcmh-verbose doom-debug-mode ; 16mb + gc-cons-percentage 0.1) + (add-hook 'focus-out-hook #'gcmh-idle-garbage-collect)) ;; HACK `tty-run-terminal-initialization' is *tremendously* slow for some ;; reason. Disabling it completely could have many side-effects, so we -;; defer it until later. -(unless (display-graphic-p) - (advice-add #'tty-run-terminal-initialization :override #'ignore) - (add-hook! 'window-setup-hook - (defun doom-init-tty-h () - (advice-remove #'tty-run-terminal-initialization #'ignore) - (tty-run-terminal-initialization (selected-frame) nil t)))) +;; defer it until later, at which time it (somehow) runs very quickly. +(advice-add #'tty-run-terminal-initialization :override #'ignore) +(add-hook! 'window-setup-hook + (defun doom-init-tty-h () + (advice-remove #'tty-run-terminal-initialization #'ignore) + (tty-run-terminal-initialization (selected-frame) nil t))) ;; @@ -416,8 +424,7 @@ Meant to be used with `run-hook-wrapped'." nil) (defun doom-display-benchmark-h (&optional return-p) - "Display a benchmark, showing number of packages and modules, and how quickly -they were loaded at startup. + "Display a benchmark including number of packages and modules loaded. If RETURN-P, return the message as a string instead of displaying it." (funcall (if return-p #'format #'message) @@ -490,7 +497,7 @@ The overall load order of Doom is as follows: Module config.el files ~/.doom.d/config.el `doom-init-modules-hook' - `after-init-hook' + `doom-after-init-hook' (`after-init-hook') `emacs-startup-hook' `doom-init-ui-hook' `window-setup-hook' @@ -502,7 +509,7 @@ to least)." (setq doom-init-p t) ;; Reset as much state as possible, so `doom-initialize' can be treated like - ;; a reset function. Particularly useful for reloading the config. + ;; a reset function. e.g. when reloading the config. (setq-default exec-path doom--initial-exec-path load-path doom--initial-load-path process-environment doom--initial-process-environment) From 273c1e0861bd0366f64aa3a5ce1452d7a2d8808b Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 02:49:05 -0400 Subject: [PATCH 052/423] Disable former themes only if new one loaded successfully --- core/core-ui.el | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/core/core-ui.el b/core/core-ui.el index 4e7617476..765283ed9 100644 --- a/core/core-ui.el +++ b/core/core-ui.el @@ -600,11 +600,12 @@ behavior). Do not set this directly, this is let-bound in `doom-init-theme-h'.") doom-init-theme-p t) (run-hooks 'doom-load-theme-hook))) -(defadvice! doom--disable-enabled-themes-a (&rest _) +(defadvice! doom--disable-enabled-themes-a (theme &optional _no-confirm no-enable) "Disable previously enabled themes before loading a new one. Otherwise, themes can conflict with each other." - :before #'load-theme - (mapc #'disable-theme custom-enabled-themes)) + :after-while #'load-theme + (unless no-enable + (mapc #'disable-theme (remq theme custom-enabled-themes)))) (unless EMACS27+ ;; DEPRECATED Not needed in Emacs 27 From f4ff7fda38aab66bbbb40068577041d35f86b649 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 03:03:37 -0400 Subject: [PATCH 053/423] Fix #2756: inhibited shift-selection on C-a/C-e --- core/autoload/text.el | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/autoload/text.el b/core/autoload/text.el index ae91e71e7..83a547132 100644 --- a/core/autoload/text.el +++ b/core/autoload/text.el @@ -117,7 +117,7 @@ in some cases." ;;; Commands (defun doom--bol-bot-eot-eol (&optional pos) - (save-excursion + (save-mark-and-excursion (when pos (goto-char pos)) (let* ((bol (if visual-line-mode @@ -157,6 +157,9 @@ beginning of the line. The opposite of `doom/forward-to-last-non-comment-or-eol'." (interactive "d") (let ((pt (or point (point)))) + (when (and shift-select-mode this-command-keys-shift-translated) + (set-mark pt) + (activate-mark)) (cl-destructuring-bind (bol bot _eot _eol) (doom--bol-bot-eot-eol pt) (cond ((> pt bot) @@ -179,6 +182,9 @@ beginning of the line. The opposite of true end of the line. The opposite of `doom/backward-to-bol-or-indent'." (interactive "d") (let ((pt (or point (point)))) + (when (and shift-select-mode this-command-keys-shift-translated) + (set-mark pt) + (activate-mark)) (cl-destructuring-bind (_bol _bot eot eol) (doom--bol-bot-eot-eol pt) (cond ((< pt eot) From 8648c9ad91f42b6eee249a950597cd3a2658c061 Mon Sep 17 00:00:00 2001 From: Hanno Perrey Date: Fri, 27 Mar 2020 09:50:35 +0100 Subject: [PATCH 054/423] syntactic and cosmetic changes --- modules/app/irc/config.el | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/app/irc/config.el b/modules/app/irc/config.el index 2d2f109f0..5c1af4d17 100644 --- a/modules/app/irc/config.el +++ b/modules/app/irc/config.el @@ -93,7 +93,7 @@ playback.") (add-hook 'circe-channel-mode-hook #'turn-on-visual-line-mode) (add-hook 'circe-mode-hook #'+irc--add-circe-buffer-to-persp-h) (add-hook 'circe-mode-hook #'turn-off-smartparens-mode) - (add-hook 'circe-mode-hook (lambda () (setq-local tls-end-of-info + (setq-hook! 'circe-mode-hook tls-end-of-info (concat "\\(" ;; `openssl s_client' regexp. See ssl/ssl_txt.c lines 219-220. @@ -107,8 +107,7 @@ playback.") ;; in `main' the handshake will start after this message. If the ;; handshake fails, the programs will abort. "^\\*\\*\\* Starting TLS handshake\n\\)*" - "\\)") - ))) + "\\)")) (defadvice! +irc--circe-run-disconnect-hook-a (&rest _) From 97a3950ec85709808475368f606d144de9622743 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 05:20:02 -0400 Subject: [PATCH 055/423] Fix gcmh-mode not being activated at startup --- core/core.el | 1 + 1 file changed, 1 insertion(+) diff --git a/core/core.el b/core/core.el index 23dc09f97..64c0fda4a 100644 --- a/core/core.el +++ b/core/core.el @@ -292,6 +292,7 @@ users).") ;; Adopt a sneaky garbage collection strategy of waiting until idle time to ;; collect; staving off the collector while the user is working. (setq gc-cons-percentage 0.6) +(add-transient-hook! 'pre-command-hook (gcmh-mode +1)) (with-eval-after-load 'gcmh (setq gcmh-idle-delay 10 gcmh-high-cons-threshold 16777216 From 9839aec1b237040172585e61333538d8b786bbcc Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 14:18:38 -0400 Subject: [PATCH 056/423] Make html-tidy conditionally set --show-body-only Fixes an issue where tidy was aggressively removing parent tags from non-partial html file. --- modules/lang/web/+html.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/lang/web/+html.el b/modules/lang/web/+html.el index c1b694d06..345521889 100644 --- a/modules/lang/web/+html.el +++ b/modules/lang/web/+html.el @@ -28,7 +28,7 @@ '("tidy" "-q" "-indent" "--tidy-mark" "no" "--drop-empty-elements" "no" - "--show-body-only" "true" ; don't inject html/body tags + ("--show-body-only" "%s" (if +format-region-p "true" "auto")) ("--indent-spaces" "%d" tab-width) ("--indent-with-tabs" "%s" (if indent-tabs-mode "yes" "no")) ("-xml" (memq major-mode '(nxml-mode xml-mode)))) From 611ddb22632b04da2d0cb97e8e513abfd1de1a84 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 15:12:35 -0400 Subject: [PATCH 057/423] Refactor & comment #1862 fix Relevant to #2727 --- modules/app/irc/config.el | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/modules/app/irc/config.el b/modules/app/irc/config.el index 5c1af4d17..30b5c1e5e 100644 --- a/modules/app/irc/config.el +++ b/modules/app/irc/config.el @@ -93,22 +93,25 @@ playback.") (add-hook 'circe-channel-mode-hook #'turn-on-visual-line-mode) (add-hook 'circe-mode-hook #'+irc--add-circe-buffer-to-persp-h) (add-hook 'circe-mode-hook #'turn-off-smartparens-mode) - (setq-hook! 'circe-mode-hook tls-end-of-info - (concat - "\\(" - ;; `openssl s_client' regexp. See ssl/ssl_txt.c lines 219-220. - ;; According to apps/s_client.c line 1515 `---' is always the last - ;; line that is printed by s_client before the real data. - "^ Verify return code: .+\n\\(\\|^ Extended master secret: .+\n\\)\\(\\|^ Max Early Data: .+\n\\)---\n\\|" - ;; `gnutls' regexp. See src/cli.c lines 721-. - "^- Simple Client Mode:\n" - "\\(\n\\|" ; ignore blank lines - ;; According to GnuTLS v2.1.5 src/cli.c lines 640-650 and 705-715 - ;; in `main' the handshake will start after this message. If the - ;; handshake fails, the programs will abort. - "^\\*\\*\\* Starting TLS handshake\n\\)*" - "\\)")) + ;; HACK Fix #1862: circe hangs on TLS connections when using OpenSSL versions + ;; > 1.1.0, where tls.el does not correctly determine the end of the info + ;; block. This fixes proposed in jorgenschaefer/circe#340 + (setq-hook! 'circe-mode-hook + tls-end-of-info + (concat "\\(" + ;; `openssl s_client' regexp. See ssl/ssl_txt.c lines 219-220. + ;; According to apps/s_client.c line 1515 `---' is always the last + ;; line that is printed by s_client before the real data. + "^ Verify return code: .+\n\\(\\|^ Extended master secret: .+\n\\)\\(\\|^ Max Early Data: .+\n\\)---\n\\|" + ;; `gnutls' regexp. See src/cli.c lines 721-. + "^- Simple Client Mode:\n" + "\\(\n\\|" ; ignore blank lines + ;; According to GnuTLS v2.1.5 src/cli.c lines 640-650 and 705-715 in + ;; `main' the handshake will start after this message. If the + ;; handshake fails, the programs will abort. + "^\\*\\*\\* Starting TLS handshake\n\\)*" + "\\)")) (defadvice! +irc--circe-run-disconnect-hook-a (&rest _) "Runs `+irc-disconnect-hook' after circe disconnects." From 7c5903c33959b1215580eed739bbe124fd625e97 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 16:18:52 -0400 Subject: [PATCH 058/423] Bump :ui modules hlissner/emacs-doom-themes@0760079 -> hlissner/emacs-doom-themes@bbb3725 tarsius/hl-todo@5d2ea49 -> tarsius/hl-todo@3bba459 abo-abo/hydra@e3beffd -> abo-abo/hydra@16fa8d1 seagle0128/doom-modeline@0df5585 -> seagle0128/doom-modeline@0642f71 syohex/emacs-anzu@592f8ee -> syohex/emacs-anzu@2e69955 jaypei/emacs-neotree@c2420a4 -> jaypei/emacs-neotree@98fe213 ema2159/centaur-tabs@af50f87 -> ema2159/centaur-tabs@e6bf9f5 Alexander-Miller/treemacs@4eb8eb8 -> Alexander-Miller/treemacs@81b69d9 syohex/emacs-git-gutter-fringe@16226ca -> syohex/emacs-git-gutter-fringe@da19a47 Bad-ptr/persp-mode.el@e330e62 -> Bad-ptr/persp-mode.el@391a7dc jabranham/mixed-pitch@6090716 -> jabranham/mixed-pitch@734fbdf --- modules/ui/doom/packages.el | 2 +- modules/ui/hl-todo/packages.el | 2 +- modules/ui/hydra/packages.el | 2 +- modules/ui/modeline/packages.el | 4 ++-- modules/ui/neotree/packages.el | 2 +- modules/ui/tabs/packages.el | 2 +- modules/ui/treemacs/packages.el | 8 ++++---- modules/ui/vc-gutter/packages.el | 2 +- modules/ui/workspaces/packages.el | 2 +- modules/ui/zen/packages.el | 2 +- 10 files changed, 14 insertions(+), 14 deletions(-) diff --git a/modules/ui/doom/packages.el b/modules/ui/doom/packages.el index 13b202826..55af67198 100644 --- a/modules/ui/doom/packages.el +++ b/modules/ui/doom/packages.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; -*- ;;; ui/doom/packages.el -(package! doom-themes :pin "0760079dbd") +(package! doom-themes :pin "bbb3725af9") (package! solaire-mode :pin "4ac324ccb0") diff --git a/modules/ui/hl-todo/packages.el b/modules/ui/hl-todo/packages.el index 0d0643348..05ef85835 100644 --- a/modules/ui/hl-todo/packages.el +++ b/modules/ui/hl-todo/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; ui/hl-todo/packages.el -(package! hl-todo :pin "5d2ea49f83") +(package! hl-todo :pin "3bba4591c5") diff --git a/modules/ui/hydra/packages.el b/modules/ui/hydra/packages.el index 5a206be5d..539cf3928 100644 --- a/modules/ui/hydra/packages.el +++ b/modules/ui/hydra/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; ui/hydra/packages.el -(package! hydra :pin "e3beffdd80") +(package! hydra :pin "16fa8d109e") diff --git a/modules/ui/modeline/packages.el b/modules/ui/modeline/packages.el index 1edc19843..197ec3025 100644 --- a/modules/ui/modeline/packages.el +++ b/modules/ui/modeline/packages.el @@ -2,7 +2,7 @@ ;;; ui/modeline/packages.el (unless (featurep! +light) - (package! doom-modeline :pin "0df5585984")) -(package! anzu :pin "592f8ee6d0") + (package! doom-modeline :pin "0642f71071")) +(package! anzu :pin "2e69955da9") (when (featurep! :editor evil) (package! evil-anzu :pin "9bca6ca14d")) diff --git a/modules/ui/neotree/packages.el b/modules/ui/neotree/packages.el index 314efb4b7..7cf6041ab 100644 --- a/modules/ui/neotree/packages.el +++ b/modules/ui/neotree/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; ui/neotree/packages.el -(package! neotree :pin "c2420a4b34") +(package! neotree :pin "98fe21334a") diff --git a/modules/ui/tabs/packages.el b/modules/ui/tabs/packages.el index f26c3d25a..e9e125e99 100644 --- a/modules/ui/tabs/packages.el +++ b/modules/ui/tabs/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; ui/tabs/packages.el -(package! centaur-tabs :pin "af50f87d40") +(package! centaur-tabs :pin "e6bf9f5257") diff --git a/modules/ui/treemacs/packages.el b/modules/ui/treemacs/packages.el index 8d7808f95..a95c99aea 100644 --- a/modules/ui/treemacs/packages.el +++ b/modules/ui/treemacs/packages.el @@ -1,9 +1,9 @@ ;; -*- no-byte-compile: t; -*- ;;; ui/treemacs/packages.el -(package! treemacs :pin "4eb8eb8821") +(package! treemacs :pin "81b69d9ee2") (when (featurep! :editor evil +everywhere) - (package! treemacs-evil :pin "4eb8eb8821")) -(package! treemacs-projectile :pin "4eb8eb8821") + (package! treemacs-evil)) +(package! treemacs-projectile) (when (featurep! :tools magit) - (package! treemacs-magit :pin "4eb8eb8821")) + (package! treemacs-magit)) diff --git a/modules/ui/vc-gutter/packages.el b/modules/ui/vc-gutter/packages.el index 94bbe2fab..9196a2abb 100644 --- a/modules/ui/vc-gutter/packages.el +++ b/modules/ui/vc-gutter/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; ui/vc-gutter/packages.el -(package! git-gutter-fringe :pin "16226caab4") +(package! git-gutter-fringe :pin "da19a47413") diff --git a/modules/ui/workspaces/packages.el b/modules/ui/workspaces/packages.el index 6209f670d..f68166146 100644 --- a/modules/ui/workspaces/packages.el +++ b/modules/ui/workspaces/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; ui/workspaces/packages.el -(package! persp-mode :pin "e330e6240b") +(package! persp-mode :pin "391a7dc248") diff --git a/modules/ui/zen/packages.el b/modules/ui/zen/packages.el index 906ba39d5..a3c3613a4 100644 --- a/modules/ui/zen/packages.el +++ b/modules/ui/zen/packages.el @@ -2,4 +2,4 @@ ;;; ui/zen/packages.el (package! writeroom-mode :pin "20c761b800") -(package! mixed-pitch :pin "60907165f1") +(package! mixed-pitch :pin "734fbdf2d2") From e8aecdd514b7888b80a8958495da699a558639ad Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 16:23:27 -0400 Subject: [PATCH 059/423] Bump :lang cc MaskRay/emacs-ccls@e5cc4c3 -> MaskRay/emacs-ccls@17ec7bb Sarcasm/irony-mode@8387098 -> Sarcasm/irony-mode@5f75fc0 Andersbakken/rtags@31f7842 -> Andersbakken/rtags@d370c09 Remove :pin from {ivy,helm}-rtags since they come from the same repo as rtags. --- modules/lang/cc/packages.el | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/lang/cc/packages.el b/modules/lang/cc/packages.el index dae001853..1beaa6b98 100644 --- a/modules/lang/cc/packages.el +++ b/modules/lang/cc/packages.el @@ -17,16 +17,16 @@ :pin "404cd0694a"))) (if (featurep! +lsp) - (package! ccls :pin "e5cc4c3e6f") - (when (package! irony :pin "8387098286") + (package! ccls :pin "17ec7bb4cf") + (when (package! irony :pin "5f75fc0c92") (package! irony-eldoc :pin "0df5831eaa") (when (featurep! :checkers syntax) (package! flycheck-irony :pin "42dbecd4a8")) (when (featurep! :completion company) (package! company-irony :pin "b44711dfce") (package! company-irony-c-headers :pin "72c386aeb0"))) - (when (package! rtags :pin "31f7842015") + (when (package! rtags :pin "d370c09007") (when (featurep! :completion ivy) - (package! ivy-rtags :pin "31f7842015")) + (package! ivy-rtags)) (when (featurep! :completion helm) - (package! helm-rtags :pin "31f7842015")))) + (package! helm-rtags)))) From 5c3d54f19b99723652f9805265c94e7dc6de90b3 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 16:32:39 -0400 Subject: [PATCH 060/423] Bump :tools lsp emacs-lsp/lsp-mode@355d4da -> emacs-lsp/lsp-mode@76fe399 emacs-lsp/lsp-ui@70c2fec -> emacs-lsp/lsp-ui@134d9b7 emacs-lsp/lsp-ivy@78c1429 -> emacs-lsp/lsp-ivy@39b90e7 --- modules/tools/lsp/packages.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/tools/lsp/packages.el b/modules/tools/lsp/packages.el index 51430525b..f0fdff97e 100644 --- a/modules/tools/lsp/packages.el +++ b/modules/tools/lsp/packages.el @@ -1,11 +1,11 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/lsp/packages.el -(package! lsp-mode :pin "355d4da3ac") -(package! lsp-ui :pin "70c2fecbab") +(package! lsp-mode :pin "76fe399b40") +(package! lsp-ui :pin "134d9b725d") (when (featurep! :completion company) (package! company-lsp :pin "f921ffa0cd")) (when (featurep! :completion ivy) - (package! lsp-ivy :pin "78c1429c62")) + (package! lsp-ivy :pin "39b90e7aef")) (when (featurep! :completion helm) (package! helm-lsp :pin "6f62659cc5")) From d40e5dff4ed80753db9e2913b4a55698229ca096 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 16:33:17 -0400 Subject: [PATCH 061/423] Make a few LSP features opt-in For the sake of speed and reliability. Support for some of these features are poorly implemented in some servers, and many are redundant with mechanisms already available in Emacs/Doom. --- modules/tools/lsp/config.el | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/modules/tools/lsp/config.el b/modules/tools/lsp/config.el index 29a301e9f..f665104fd 100644 --- a/modules/tools/lsp/config.el +++ b/modules/tools/lsp/config.el @@ -16,6 +16,7 @@ excluded servers' identifiers to `+lsp-capf-blacklist'.") "Language servers listed here will always use the `company-lsp' backend, irrespective of what `+lsp-company-backend' is set to.") + ;; ;;; Packages @@ -36,6 +37,18 @@ irrespective of what `+lsp-company-backend' is set to.") lsp-groovy-server-install-dir (concat lsp-server-install-dir "lsp-groovy/") lsp-intelephense-storage-path (concat doom-cache-dir "lsp-intelephense/")) + ;; Disable LSP's superfluous, expensive and/or debatably unnecessary features. + ;; Some servers implement these poorly. Better to just rely on Emacs' native + ;; mechanisms and make these opt-in. + (setq lsp-enable-folding nil + ;; Potentially slow + lsp-enable-file-watchers nil + lsp-enable-text-document-color nil + lsp-enable-semantic-highlighting nil + ;; Don't modify our code without our permission + lsp-enable-indentation nil + lsp-enable-on-type-formatting nil) + :config (set-lookup-handlers! 'lsp-mode :async t :documentation #'lsp-describe-thing-at-point From 566a5c8a32bfa3e5f7262b17ad04e159d07e3693 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 16:47:11 -0400 Subject: [PATCH 062/423] Bump :tools krzysztof-magosa/company-ansible@8d1ffbc -> krzysztof-magosa/company-ansible@79dd421 realgud/realgud@2cca776 -> realgud/realgud@94f2835 emacs-lsp/dap-mode@d10e254 -> emacs-lsp/dap-mode@e2086fc wbolster/emacs-direnv@1f93e3f -> wbolster/emacs-direnv@1daf479 Silex/docker.el@baba7f7 -> Silex/docker.el@a2092b3 editorconfig/editorconfig-emacs@5c67d22 -> editorconfig/editorconfig-emacs@19de0ec millejoh/emacs-ipython-notebook@b265205 -> millejoh/emacs-ipython-notebook@57e84c6 syohex/emacs-quickrun@55bbe5d -> syohex/emacs-quickrun@50e07e7 jacktasia/dumb-jump@b5185e3 -> jacktasia/dumb-jump@e8e9b0c magit/magit@55c5c7c -> magit/magit@68b5a13 magit/forge@c2fbce6 -> magit/forge@2e2d26c alphapapa/magit-todos@ad5663a -> alphapapa/magit-todos@a0e5d1f charignon/github-review@3fb7cc2 -> charignon/github-review@50c6bcc syohex/emacs-terraform-mode@6973d1a -> syohex/emacs-terraform-mode@2967e7b --- modules/tools/ansible/packages.el | 5 ++--- modules/tools/debugger/packages.el | 4 ++-- modules/tools/direnv/packages.el | 2 +- modules/tools/docker/packages.el | 2 +- modules/tools/editorconfig/packages.el | 2 +- modules/tools/ein/packages.el | 2 +- modules/tools/eval/packages.el | 2 +- modules/tools/lookup/packages.el | 2 +- modules/tools/magit/packages.el | 8 ++++---- modules/tools/terraform/packages.el | 2 +- 10 files changed, 15 insertions(+), 16 deletions(-) diff --git a/modules/tools/ansible/packages.el b/modules/tools/ansible/packages.el index 7a70921d4..6ec7c4341 100644 --- a/modules/tools/ansible/packages.el +++ b/modules/tools/ansible/packages.el @@ -1,11 +1,10 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/ansible/packages.el -(package! ansible :recipe (:nonrecursive t) - :pin "c6532e5216") +(package! ansible :recipe (:nonrecursive t) :pin "c6532e5216") (package! ansible-doc :pin "86083a7bb2") (package! jinja2-mode :pin "cfaa7bbe7b") (package! yaml-mode :pin "cecf4b106b") (when (featurep! :completion company) - (package! company-ansible :pin "8d1ffbc357")) + (package! company-ansible :pin "79dd421b16")) diff --git a/modules/tools/debugger/packages.el b/modules/tools/debugger/packages.el index 298982b9f..139f8006b 100644 --- a/modules/tools/debugger/packages.el +++ b/modules/tools/debugger/packages.el @@ -1,9 +1,9 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/debugger/packages.el -(when (package! realgud :pin "2cca776d28") +(when (package! realgud :pin "94f2835933") (when (featurep! :lang javascript) (package! realgud-trepan-ni :pin "6e9cac5e80"))) (when (featurep! :tools lsp) - (package! dap-mode :pin "d10e254ce4")) + (package! dap-mode :pin "e2086fc9fb")) diff --git a/modules/tools/direnv/packages.el b/modules/tools/direnv/packages.el index d74d091a1..ff4716f38 100644 --- a/modules/tools/direnv/packages.el +++ b/modules/tools/direnv/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/direnv/packages.el -(package! direnv :pin "1f93e3f9ca") +(package! direnv :pin "1daf479b9b") diff --git a/modules/tools/docker/packages.el b/modules/tools/docker/packages.el index 76c53507b..a40c377f1 100644 --- a/modules/tools/docker/packages.el +++ b/modules/tools/docker/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/docker/packages.el -(package! docker :pin "baba7f72ea") +(package! docker :pin "a2092b3b17") (package! docker-tramp :pin "8e2b671eff") (package! dockerfile-mode :pin "d31f7685eb") diff --git a/modules/tools/editorconfig/packages.el b/modules/tools/editorconfig/packages.el index a0c8feaa4..a1d8ad9ff 100644 --- a/modules/tools/editorconfig/packages.el +++ b/modules/tools/editorconfig/packages.el @@ -3,4 +3,4 @@ (package! editorconfig :recipe (:nonrecursive t) - :pin "5c67d22a74") + :pin "19de0ec1ba") diff --git a/modules/tools/ein/packages.el b/modules/tools/ein/packages.el index 95206b727..951292df1 100644 --- a/modules/tools/ein/packages.el +++ b/modules/tools/ein/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/ein/packages.el -(package! ein :pin "b265205a57") +(package! ein :pin "57e84c61b6") diff --git a/modules/tools/eval/packages.el b/modules/tools/eval/packages.el index 249245705..aed6e4482 100644 --- a/modules/tools/eval/packages.el +++ b/modules/tools/eval/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/eval/packages.el -(package! quickrun :pin "55bbe5d54b") +(package! quickrun :pin "50e07e7698") (when (featurep! +overlay) (package! eros :pin "dd89102792")) diff --git a/modules/tools/lookup/packages.el b/modules/tools/lookup/packages.el index 5509fb090..f7058b8d0 100644 --- a/modules/tools/lookup/packages.el +++ b/modules/tools/lookup/packages.el @@ -8,7 +8,7 @@ (package! helm)) ;; -(package! dumb-jump :pin "b5185e3368") +(package! dumb-jump :pin "e8e9b0c2d1") (when (featurep! :completion ivy) (package! ivy-xref :pin "3d4c35fe2b")) (when (featurep! :completion helm) diff --git a/modules/tools/magit/packages.el b/modules/tools/magit/packages.el index 347e7e873..d77be40ab 100644 --- a/modules/tools/magit/packages.el +++ b/modules/tools/magit/packages.el @@ -1,10 +1,10 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/magit/packages.el -(when (package! magit :pin "55c5c7cb83") - (package! forge :pin "c2fbce6acc") +(when (package! magit :pin "68b5a13fa1") + (package! forge :pin "2e2d26cf42") (package! magit-gitflow :pin "cc41b561ec") - (package! magit-todos :pin "ad5663aa26") - (package! github-review :pin "3fb7cc2a81") + (package! magit-todos :pin "a0e5d1f3c7") + (package! github-review :pin "50c6bcc7cf") (when (featurep! :editor evil +everywhere) (package! evil-magit :pin "0b79aa33a4"))) diff --git a/modules/tools/terraform/packages.el b/modules/tools/terraform/packages.el index ccc050277..25156c92e 100644 --- a/modules/tools/terraform/packages.el +++ b/modules/tools/terraform/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; tools/terraform/packages.el -(package! terraform-mode :pin "6973d1acab") +(package! terraform-mode :pin "2967e7bdc0") (when (featurep! :completion company) (package! company-terraform :pin "2d11a21fee")) From 48744dbd37882ae4d47aa0f9a8a34b42166489c3 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 16:49:59 -0400 Subject: [PATCH 063/423] Mention disabled auto-install of LSP servers in readme --- modules/tools/lsp/README.org | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/tools/lsp/README.org b/modules/tools/lsp/README.org index e83ae975b..6b2992bd0 100644 --- a/modules/tools/lsp/README.org +++ b/modules/tools/lsp/README.org @@ -7,6 +7,7 @@ - [[#description][Description]] - [[#module-flags][Module Flags]] - [[#plugins][Plugins]] + - [[#hacks][Hacks]] - [[#prerequisites][Prerequisites]] - [[#features][Features]] - [[#lsp-powered-project-search][LSP-powered project search]] @@ -58,6 +59,12 @@ As of this writing, this is the state of LSP support in Doom Emacs: ** Plugins + [[https://github.com/emacs-lsp/lsp-mode][lsp-mode]] + [[https://github.com/emacs-lsp/lsp-ui][lsp-ui]] +** Hacks ++ ~lsp-mode~ has been modified not to automatically install missing LSP servers. + This is done to adhere to our "Your system, your rules" mantra, which insist + that it is better etiquette to let the user decide when their development + environment is modified. Use ~M-x lsp-install-server~ to install LSP servers + manually. * Prerequisites This module has no direct prerequisites, but major-modes require you to install From b3f3aa6dd32d6e4bd08673622c7696443f5cb96b Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 16:52:55 -0400 Subject: [PATCH 064/423] Bump to akermu/emacs-libvterm@996c535 From akermu/emacs-libvterm@b9bccf3 --- modules/term/vterm/packages.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/term/vterm/packages.el b/modules/term/vterm/packages.el index 85fc66751..3c0e59afa 100644 --- a/modules/term/vterm/packages.el +++ b/modules/term/vterm/packages.el @@ -3,4 +3,4 @@ (package! vterm :built-in 'prefer - :pin "b9bccf38df") + :pin "996c535b9c") From 0fa93a089fb45d0bba5e65d964d55c090f96dc77 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 16:57:56 -0400 Subject: [PATCH 065/423] Bump :lang Alexander-Miller/company-shell@HEAD -> Alexander-Miller/company-shell@52f3bf2 FStarLang/fstar-mode.el@HEAD -> FStarLang/fstar-mode.el@aaaf256 JuliaEditorSupport/julia-emacs@5238f9a -> JuliaEditorSupport/julia-emacs@1c122f1 Kungsgeten/org-brain@6b7fced -> Kungsgeten/org-brain@cae8e22 OVYA/php-cs-fixer@6540006 -> OVYA/php-cs-fixer@95eace9 ProofGeneral/PG@2a17093 -> ProofGeneral/PG@9196749 aaronjensen/eslintd-fix@98c669e -> aaronjensen/eslintd-fix@0c43114 abicky/nodejs-repl.el@8b90948 -> abicky/nodejs-repl.el@6fad7d7 abo-abo/org-download@3c48102 -> abo-abo/org-download@b96fd7b agda/agda@74d9fd5 -> agda/agda@ff9173e alf/ob-restclient.el@c5c22e6 -> alf/ob-restclient.el@f7449b2 ananthakumaran/tide@1878a09 -> ananthakumaran/tide@3b45610 bastibe/org-journal@9d40f62 -> bastibe/org-journal@664c08e brotzeit/rustic@373f5a1 -> brotzeit/rustic@61032ea clojure-emacs/cider@7437c67 -> clojure-emacs/cider@52dcc60 clojure-emacs/clj-refactor.el@e24ba62 -> clojure-emacs/clj-refactor.el@92d3723 cpitclaudel/company-coq@6e8bc2e -> cpitclaudel/company-coq@f9dba9d cython/cython@f6bf6aa -> cython/cython@48dc1f0 defunkt/coffee-mode@86ab8aa -> defunkt/coffee-mode@35a41c7 dgutov/robe@8190cb7 -> dgutov/robe@68503b3 diml/utop@7c99d8c -> diml/utop@30c77ce dzop/emacs-jupyter@d4b06c5 -> dzop/emacs-jupyter@de7af25 emacs-ess/ESS@a2be8cb -> emacs-ess/ESS@625041a emacs-lsp/lsp-haskell@6d481f9 -> emacs-lsp/lsp-haskell@582fa27 emacs-lsp/lsp-java@dbeeee9 -> emacs-lsp/lsp-java@6efb741 emacs-php/php-mode@cade4ce -> emacs-php/php-mode@b5d9988 emacs-php/phpactor.el@5ccf65d -> emacs-php/phpactor.el@31fe2ea emacs-php/phpactor.el@5ccf65d) -> emacs-php/phpactor.el@31fe2ea) emacs-straight/csv-mode@fbf942e -> emacs-straight/csv-mode@6353374 emacs-straight/org-mode@0a8faec -> emacs-straight/org-mode@ba68555 emacs-typescript/typescript.el@a0f2c3e -> emacs-typescript/typescript.el@102587e emacsorphanage/gnuplot@a406143 -> emacsorphanage/gnuplot@f0001c3 erlang/otp@c15eb5f -> erlang/otp@3065fbf factor/factor@a62ea78 -> factor/factor@497d649 felipeochoa/rjsx-mode@014c760 -> felipeochoa/rjsx-mode@0061587 fxbois/web-mode@d1b6660 -> fxbois/web-mode@b0bb4ab greghendershott/racket-mode@5f396fa -> greghendershott/racket-mode@bd4c8cf haskell/haskell-mode@4a87d72 -> haskell/haskell-mode@7032966 jaor/geiser@645e477 -> jaor/geiser@83ad875 joaotavora/sly@cfecd21 -> joaotavora/sly@1382bda jorgenschaefer/emacs-buttercup@178c795 -> jorgenschaefer/emacs-buttercup@b360e35 leanprover/lean-mode@f26e40d -> leanprover/lean-mode@65b55b1 leanprover/lean-mode@f26e40d -> leanprover/lean-mode@65b55b1 ledger/ledger-mode@a514953 -> ledger/ledger-mode@7d78645 mgyucht/jsonnet-mode@2b90b4e -> mgyucht/jsonnet-mode@d8b486c necaris/conda.el@814439d -> necaris/conda.el@335474e nonsequitur/inf-ruby@e4ae089 -> nonsequitur/inf-ruby@41e5ed3 ocaml-ppx/ocamlformat@dba4487 -> ocaml-ppx/ocamlformat@5282e04 ocaml/dune@f3df7ab -> ocaml/dune@1944d0f ocaml/merlin@f6954e9 -> ocaml/merlin@37e38e4 polymode/poly-R@0443c89 -> polymode/poly-R@51ffeb6 polymode/polymode@3eab3c9 -> polymode/polymode@44265e3 purcell/flycheck-ledger@2065bea -> purcell/flycheck-ledger@628e25b purescript-emacs/psc-ide-emacs@2a93944 -> purescript-emacs/psc-ide-emacs@7fc2b84 s-kostyaev/ivy-erlang-complete@7d60ed1 -> s-kostyaev/ivy-erlang-complete@c443dba seagle0128/grip-mode@1a61bb7 -> seagle0128/grip-mode@9615c47 skeeto/skewer-mode@123215d -> skeeto/skewer-mode@e5bed35 tpapp/julia-repl@b11a572 -> tpapp/julia-repl@5fa04de wwwjfy/emacs-fish@688c82d -> wwwjfy/emacs-fish@db257db xuchunyang/elisp-demos@bec206b -> xuchunyang/elisp-demos@0d74766 yjwen/org-reveal@0d947cb -> yjwen/org-reveal@ea8b502 --- modules/lang/agda/packages.el | 4 ++-- modules/lang/clojure/packages.el | 4 ++-- modules/lang/common-lisp/packages.el | 2 +- modules/lang/coq/packages.el | 5 ++--- modules/lang/dart/packages.el | 3 --- modules/lang/data/packages.el | 4 ++-- modules/lang/emacs-lisp/packages.el | 4 ++-- modules/lang/erlang/packages.el | 4 ++-- modules/lang/ess/packages.el | 6 +++--- modules/lang/factor/packages.el | 2 +- modules/lang/fstar/packages.el | 2 +- modules/lang/haskell/packages.el | 4 ++-- modules/lang/java/packages.el | 2 +- modules/lang/javascript/packages.el | 14 +++++++------- modules/lang/julia/packages.el | 4 ++-- modules/lang/lean/packages.el | 4 ++-- modules/lang/ledger/packages.el | 4 ++-- modules/lang/markdown/packages.el | 2 +- modules/lang/ocaml/packages.el | 8 ++++---- modules/lang/org/packages.el | 16 ++++++++-------- modules/lang/php/packages.el | 8 ++++---- modules/lang/purescript/packages.el | 2 +- modules/lang/python/packages.el | 4 ++-- modules/lang/racket/packages.el | 2 +- modules/lang/ruby/packages.el | 4 ++-- modules/lang/rust/packages.el | 2 +- modules/lang/scheme/packages.el | 2 +- modules/lang/sh/packages.el | 4 ++-- modules/lang/web/packages.el | 2 +- 29 files changed, 62 insertions(+), 66 deletions(-) diff --git a/modules/lang/agda/packages.el b/modules/lang/agda/packages.el index e5b27f296..fe2d2f775 100644 --- a/modules/lang/agda/packages.el +++ b/modules/lang/agda/packages.el @@ -6,11 +6,11 @@ :recipe (:host github :repo "agda/agda" :files ("src/data/emacs-mode/agda-input.el") :nonrecursive t) - :pin "74d9fd53cd") + :pin "ff9173e14e") (package! agda2-mode :recipe (:host github :repo "agda/agda" :files ("src/data/emacs-mode/*.el" (:exclude "agda-input.el")) :nonrecursive t) - :pin "74d9fd53cd")) + :pin "ff9173e14e")) diff --git a/modules/lang/clojure/packages.el b/modules/lang/clojure/packages.el index 6937c8f4b..481015146 100644 --- a/modules/lang/clojure/packages.el +++ b/modules/lang/clojure/packages.el @@ -1,8 +1,8 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/clojure/packages.el -(package! cider :pin "7437c67f0e") -(package! clj-refactor :pin "e24ba62843") +(package! cider :pin "52dcc60cd5") +(package! clj-refactor :pin "92d372393a") (when (featurep! :checkers syntax) (package! flycheck-clj-kondo :pin "f652a8dc4c")) diff --git a/modules/lang/common-lisp/packages.el b/modules/lang/common-lisp/packages.el index d6447f4da..5bc1d3719 100644 --- a/modules/lang/common-lisp/packages.el +++ b/modules/lang/common-lisp/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/common-lisp/packages.el -(package! sly :pin "cfecd21410") +(package! sly :pin "1382bda945") (package! sly-macrostep :pin "5113e4e926") (package! sly-repl-ansi-color :pin "b9cd52d1cf") diff --git a/modules/lang/coq/packages.el b/modules/lang/coq/packages.el index f51b087e9..694d218b8 100644 --- a/modules/lang/coq/packages.el +++ b/modules/lang/coq/packages.el @@ -1,6 +1,5 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/coq/packages.el -(package! proof-general :pin "2a17093f6a") - -(package! company-coq :pin "6e8bc2e367") +(package! proof-general :pin "9196749d55") +(package! company-coq :pin "f9dba9ddff") diff --git a/modules/lang/dart/packages.el b/modules/lang/dart/packages.el index 71975f46f..e1464b17f 100644 --- a/modules/lang/dart/packages.el +++ b/modules/lang/dart/packages.el @@ -2,8 +2,5 @@ ;;; lang/dart/packages.el (package! dart-mode :pin "04fcd649f1") - -;; Optional module features - (when (featurep! +flutter) (package! flutter :pin "ec92a4df84")) diff --git a/modules/lang/data/packages.el b/modules/lang/data/packages.el index e27bf57ea..1c338af9e 100644 --- a/modules/lang/data/packages.el +++ b/modules/lang/data/packages.el @@ -3,9 +3,9 @@ (package! graphql-mode :pin "7c37aee28b") (package! json-mode :pin "0e819e519a") -(package! jsonnet-mode :pin "2b90b4e12a") +(package! jsonnet-mode :pin "d8b486c837") (package! yaml-mode :pin "cecf4b106b") -(package! csv-mode :pin "fbf942e127") +(package! csv-mode :pin "635337407c") (package! dhall-mode :pin "ef4d33debe") (package! protobuf-mode :recipe (:host github :repo "emacsmirror/protobuf-mode" :files (:defaults "*")) diff --git a/modules/lang/emacs-lisp/packages.el b/modules/lang/emacs-lisp/packages.el index 97a112caa..38adeaf2f 100644 --- a/modules/lang/emacs-lisp/packages.el +++ b/modules/lang/emacs-lisp/packages.el @@ -7,9 +7,9 @@ (package! macrostep :pin "424e3734a1") (package! overseer :pin "02d49f582e") (package! elisp-def :pin "368b04da68") -(package! elisp-demos :pin "bec206bf1b") +(package! elisp-demos :pin "0d74766f0c") (when (featurep! :checkers syntax) (package! flycheck-cask :pin "3457ae553c")) -(package! buttercup :pin "178c7954f8") +(package! buttercup :pin "b360e35017") diff --git a/modules/lang/erlang/packages.el b/modules/lang/erlang/packages.el index a047ad6e2..49a25d6fb 100644 --- a/modules/lang/erlang/packages.el +++ b/modules/lang/erlang/packages.el @@ -1,11 +1,11 @@ ;; -*- no-byte-compile: t; -*- ;;; private/erlang/packages.el -(package! erlang :pin "c15eb5fdf7") +(package! erlang :pin "3065fbf434") (when (featurep! :checkers syntax) (package! flycheck-rebar3 :pin "3cca1268c5")) (unless (featurep! +lsp) (when (featurep! :completion ivy) - (package! ivy-erlang-complete :pin "7d60ed111d")) + (package! ivy-erlang-complete :pin "c443dba0c4")) (when (featurep! :completion company) (package! company-erlang :pin "bc0524a16f"))) diff --git a/modules/lang/ess/packages.el b/modules/lang/ess/packages.el index 1233e2a8f..0cf81ed18 100644 --- a/modules/lang/ess/packages.el +++ b/modules/lang/ess/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/ess/packages.el -(package! ess :pin "a2be8cb97c") +(package! ess :pin "625041ad51") (package! ess-R-data-view :pin "d6e98d3ae1") -(package! polymode :pin "3eab3c9eed") -(package! poly-R :pin "0443c89b4d") +(package! polymode :pin "44265e3516") +(package! poly-R :pin "51ffeb6ec4") diff --git a/modules/lang/factor/packages.el b/modules/lang/factor/packages.el index 0d7344b40..d2936c6eb 100644 --- a/modules/lang/factor/packages.el +++ b/modules/lang/factor/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/factor/packages.el -(package! fuel :pin "a62ea78d73") +(package! fuel :pin "497d6491e6") diff --git a/modules/lang/fstar/packages.el b/modules/lang/fstar/packages.el index 80c8aa533..e37310d2f 100644 --- a/modules/lang/fstar/packages.el +++ b/modules/lang/fstar/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/fstar/packages.el -(package! fstar-mode) +(package! fstar-mode :pin "aaaf256888") diff --git a/modules/lang/haskell/packages.el b/modules/lang/haskell/packages.el index 24d936e95..a47cc7ce8 100644 --- a/modules/lang/haskell/packages.el +++ b/modules/lang/haskell/packages.el @@ -1,13 +1,13 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/haskell/packages.el -(package! haskell-mode :pin "4a87d72589") +(package! haskell-mode :pin "7032966ee7") (when (featurep! +dante) (package! dante :pin "4955bc7363") (package! attrap :pin "4cf3e4a162")) (when (featurep! +lsp) - (package! lsp-haskell :pin "6d481f97e6")) + (package! lsp-haskell :pin "582fa27c88")) ;; DEPRECATED (when (featurep! +intero) (package! intero :pin "fdb0550a2d")) diff --git a/modules/lang/java/packages.el b/modules/lang/java/packages.el index d98ce9545..9eff622f0 100644 --- a/modules/lang/java/packages.el +++ b/modules/lang/java/packages.el @@ -13,4 +13,4 @@ (package! company-emacs-eclim :pin "23f5b294f8"))) (when (featurep! +lsp) - (package! lsp-java :pin "dbeeee9c74")) + (package! lsp-java :pin "6efb741845")) diff --git a/modules/lang/javascript/packages.el b/modules/lang/javascript/packages.el index 7d89725fb..5c3f1f9ad 100644 --- a/modules/lang/javascript/packages.el +++ b/modules/lang/javascript/packages.el @@ -2,21 +2,21 @@ ;;; lang/javascript/packages.el ;; Major modes -(package! coffee-mode :pin "86ab8aae86") +(package! coffee-mode :pin "35a41c7d82") (package! js2-mode :pin "fe53814dc2") -(package! rjsx-mode :pin "014c760138") -(package! typescript-mode :pin "a0f2c3ebd4") +(package! rjsx-mode :pin "0061587a06") +(package! typescript-mode :pin "102587e458") ;; Tools -(package! eslintd-fix :pin "98c669e365") +(package! eslintd-fix :pin "0c431141be") (package! js2-refactor :pin "d4c40b5fc8") (package! npm-mode :pin "3ee7c0bad5") ;; Eval -(package! nodejs-repl :pin "8b90948265") -(package! skewer-mode :pin "123215dd9b") +(package! nodejs-repl :pin "6fad7d764f") +(package! skewer-mode :pin "e5bed35193") ;; Programming environment -(package! tide :pin "1878a097fc") +(package! tide :pin "3b45610faa") (when (featurep! :tools lookup) (package! xref-js2 :pin "6f1ed5dae0")) diff --git a/modules/lang/julia/packages.el b/modules/lang/julia/packages.el index 3eb5b27f6..1c6ad1e40 100644 --- a/modules/lang/julia/packages.el +++ b/modules/lang/julia/packages.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/julia/packages.el -(package! julia-mode :pin "5238f9adb7") -(package! julia-repl :pin "b11a572970") +(package! julia-mode :pin "1c122f1dff") +(package! julia-repl :pin "5fa04de4e7") diff --git a/modules/lang/lean/packages.el b/modules/lang/lean/packages.el index a1ed9b8d9..cbf1107f5 100644 --- a/modules/lang/lean/packages.el +++ b/modules/lang/lean/packages.el @@ -1,7 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/lean/packages.el -(package! lean-mode :pin "f26e40daad") +(package! lean-mode :pin "65b55b1711") (when (featurep! :completion company) - (package! company-lean :pin "f26e40daad")) + (package! company-lean :pin "65b55b1711")) diff --git a/modules/lang/ledger/packages.el b/modules/lang/ledger/packages.el index 005ef47b3..bafbbc8e6 100644 --- a/modules/lang/ledger/packages.el +++ b/modules/lang/ledger/packages.el @@ -1,10 +1,10 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/ledger/packages.el -(package! ledger-mode :pin "a514953d6a") +(package! ledger-mode :pin "7d78645479") (when (featurep! :editor evil) (package! evil-ledger :pin "7a9f9f5d39")) (when (featurep! :checkers syntax) - (package! flycheck-ledger :pin "2065beab56")) + (package! flycheck-ledger :pin "628e25ba66")) diff --git a/modules/lang/markdown/packages.el b/modules/lang/markdown/packages.el index da473ffe8..6f82df4ba 100644 --- a/modules/lang/markdown/packages.el +++ b/modules/lang/markdown/packages.el @@ -6,7 +6,7 @@ (package! edit-indirect :pin "935ded353b") (when (featurep! +grip) - (package! grip-mode :pin "1a61bb71a7")) + (package! grip-mode :pin "9615c47747")) (when (featurep! :editor evil +everywhere) (package! evil-markdown diff --git a/modules/lang/ocaml/packages.el b/modules/lang/ocaml/packages.el index 60ccb3272..2e21e8ffd 100644 --- a/modules/lang/ocaml/packages.el +++ b/modules/lang/ocaml/packages.el @@ -4,7 +4,7 @@ (package! tuareg :pin "c12061eb80") (unless (featurep! +lsp) - (package! merlin :pin "f6954e953b") + (package! merlin :pin "37e38e44f5") (package! merlin-eldoc :pin "db7fab1edd") (when (featurep! :checkers syntax) (package! flycheck-ocaml :pin "8707a7bf54"))) @@ -12,14 +12,14 @@ (package! ocp-indent :pin "9e26c0a269") (when (featurep! :tools eval) - (package! utop :pin "7c99d8c904")) + (package! utop :pin "30c77ce4d7")) (when (featurep! :editor format) ;; by default quelpa generated a version 0pre0.20180929.192844, which got ;; parsed into (0 -1 0 ...), which when compared with version nil (0) in ;; package-installed-p always yielded false (package! ocamlformat :recipe - (:host github :repo "ocaml-ppx/ocamlformat" :files ("emacs/*.el")) :pin "dba4487820")) + (:host github :repo "ocaml-ppx/ocamlformat" :files ("emacs/*.el")) :pin "5282e047bb")) (package! dune :recipe - (:host github :repo "ocaml/dune" :files ("editor-integration/emacs/*.el")) :pin "f3df7abe64") + (:host github :repo "ocaml/dune" :files ("editor-integration/emacs/*.el")) :pin "1944d0fb52") diff --git a/modules/lang/org/packages.el b/modules/lang/org/packages.el index 0594dbe6f..11602b2a5 100644 --- a/modules/lang/org/packages.el +++ b/modules/lang/org/packages.el @@ -27,7 +27,7 @@ :recipe (:host github :repo "emacs-straight/org-mode" :files ("*.el" "lisp/*.el" "contrib/lisp/*.el")) - :pin "0a8faecb7f") + :pin "ba685555c4") ;; ...And prevent other packages from pulling org; org-plus-contrib satisfies ;; the dependency already: https://github.com/raxod502/straight.el/issues/352 (package! org :recipe (:local-repo nil)) @@ -53,16 +53,16 @@ (when (featurep! :tools magit) (package! orgit :pin "e7cddf39e3")) (when (featurep! +brain) - (package! org-brain :pin "6b7fced801")) + (package! org-brain :pin "cae8e2213b")) (when (featurep! +dragndrop) - (package! org-download :pin "3c48102793")) + (package! org-download :pin "b96fd7ba02")) (when (featurep! +gnuplot) - (package! gnuplot :pin "a406143d52") + (package! gnuplot :pin "f0001c3001") (package! gnuplot-mode :pin "601f639298")) (when (featurep! +ipython) ; DEPRECATED (package! ob-ipython :pin "7147455230")) (when (featurep! +jupyter) - (package! jupyter :pin "d4b06c54d3")) + (package! jupyter :pin "de7af256a9")) (when (featurep! +pomodoro) (package! org-pomodoro :pin "aa07c11318")) (when (featurep! +present) @@ -70,9 +70,9 @@ :recipe (:host github :repo "anler/centered-window-mode") :pin "24f7c5be9d") (package! org-tree-slide :pin "7bf09a02bd") - (package! ox-reveal :pin "0d947cbce6")) + (package! ox-reveal :pin "ea8b502170")) (when (featurep! +journal) - (package! org-journal :pin "9d40f6260c")) + (package! org-journal :pin "664c08e12c")) ;;; Babel (package! ob-async :pin "80a30b96a0") @@ -89,7 +89,7 @@ :recipe (:host github :repo "DEADB17/ob-racket") :pin "d8fd51bddb")) (when (featurep! :lang rest) - (package! ob-restclient :pin "c5c22e6035")) + (package! ob-restclient :pin "f7449b2068")) (when (featurep! :lang rust) (package! ob-rust :pin "6a82587598")) (when (featurep! :lang scala) diff --git a/modules/lang/php/packages.el b/modules/lang/php/packages.el index 296230f7f..048b6f278 100644 --- a/modules/lang/php/packages.el +++ b/modules/lang/php/packages.el @@ -3,7 +3,7 @@ (package! php-boris :pin "f2faebf610") (package! php-extras :recipe (:host github :repo "arnested/php-extras") :pin "d410c5af66") -(package! php-mode :pin "cade4cef2b") +(package! php-mode :pin "b5d9988100") (package! php-refactor-mode :pin "7a794b0618") (package! phpunit :pin "fe6bc91c3b") @@ -11,12 +11,12 @@ (package! hack-mode :recipe (:host github :repo "hhvm/hack-mode") :pin "fd6a661b09")) (unless (featurep! +lsp) - (package! phpactor :pin "5ccf65d59e") + (package! phpactor :pin "31fe2ea4db") (when (featurep! :completion company) - (package! company-phpactor :pin "5ccf65d59e"))) + (package! company-phpactor :pin "31fe2ea4db"))) (when (featurep! :editor format) - (package! php-cs-fixer :pin "6540006710")) + (package! php-cs-fixer :pin "95eace9bc0")) ;; For building php-extras (package! async :pin "86aef2c38e") diff --git a/modules/lang/purescript/packages.el b/modules/lang/purescript/packages.el index e5726e03c..0a335a392 100644 --- a/modules/lang/purescript/packages.el +++ b/modules/lang/purescript/packages.el @@ -7,5 +7,5 @@ ;; unnecessary altogether. ;;(package! flycheck-purescript :pin "30f0435d5e") -(package! psc-ide :pin "2a9394422d") +(package! psc-ide :pin "7fc2b841be") (package! purescript-mode :pin "8db1d0243c") diff --git a/modules/lang/python/packages.el b/modules/lang/python/packages.el index d5ae43edd..ee838e6fd 100644 --- a/modules/lang/python/packages.el +++ b/modules/lang/python/packages.el @@ -4,7 +4,7 @@ ;; Major modes (package! pip-requirements :pin "216cd1690f") (when (featurep! +cython) - (package! cython-mode :pin "f6bf6aa9c7") + (package! cython-mode :pin "48dc1f0169") (when (featurep! :checkers syntax) (package! flycheck-cython :pin "ecc4454d35"))) @@ -23,7 +23,7 @@ (when (featurep! +pyenv) (package! pyenv-mode :pin "aec6f2aa28")) (when (featurep! +conda) - (package! conda :pin "814439dffa")) + (package! conda :pin "335474e409")) ;; Testing frameworks (package! nose :pin "f852829751") diff --git a/modules/lang/racket/packages.el b/modules/lang/racket/packages.el index cc3f3331c..4288f361a 100644 --- a/modules/lang/racket/packages.el +++ b/modules/lang/racket/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/racket/packages.el -(package! racket-mode :pin "5f396fa91f") +(package! racket-mode :pin "bd4c8cf3ce") diff --git a/modules/lang/ruby/packages.el b/modules/lang/ruby/packages.el index 9f3ad67e9..22060e9b3 100644 --- a/modules/lang/ruby/packages.el +++ b/modules/lang/ruby/packages.el @@ -6,13 +6,13 @@ (package! yard-mode :pin "ba74a47463") ;; REPL -(package! inf-ruby :pin "e4ae089218") +(package! inf-ruby :pin "41e5ed3a88") (when (featurep! :completion company) (package! company-inf-ruby :pin "fe3e4863bc")) ;; Programming environment (package! rubocop :pin "03bf15558a") -(package! robe :pin "8190cb7c7b") +(package! robe :pin "68503b32bb") ;; Project tools (package! bundler :pin "43efb6be4e") diff --git a/modules/lang/rust/packages.el b/modules/lang/rust/packages.el index 777b84c5e..1c2945cc6 100644 --- a/modules/lang/rust/packages.el +++ b/modules/lang/rust/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/rust/packages.el -(package! rustic :pin "373f5a1940") +(package! rustic :pin "61032eacf0") (unless (featurep! +lsp) (package! racer :pin "a0bdf778f0")) diff --git a/modules/lang/scheme/packages.el b/modules/lang/scheme/packages.el index a1720520e..037a15b07 100644 --- a/modules/lang/scheme/packages.el +++ b/modules/lang/scheme/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; lang/scheme/packages.el -(package! geiser :pin "645e477542") +(package! geiser :pin "83ad875254") diff --git a/modules/lang/sh/packages.el b/modules/lang/sh/packages.el index 771a56ed8..152e813e5 100644 --- a/modules/lang/sh/packages.el +++ b/modules/lang/sh/packages.el @@ -2,7 +2,7 @@ ;;; lang/sh/packages.el (when (featurep! :completion company) - (package! company-shell)) + (package! company-shell :pin "52f3bf26b7")) (when (featurep! +fish) - (package! fish-mode :pin "688c82deca")) + (package! fish-mode :pin "db257db810")) diff --git a/modules/lang/web/packages.el b/modules/lang/web/packages.el index ba4845b2c..ac223e21b 100644 --- a/modules/lang/web/packages.el +++ b/modules/lang/web/packages.el @@ -6,7 +6,7 @@ (package! haml-mode :pin "bf5b6c11b1") (package! pug-mode :pin "685fd3414d") (package! slim-mode :pin "3636d18ab1") -(when (package! web-mode :pin "d1b6660aea") +(when (package! web-mode :pin "b0bb4ab82b") (when (featurep! :completion company) (package! company-web :pin "f0cc9187c9"))) From cb3cf55fbf9da443788906f35913bfa3f93990cb Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 17:23:21 -0400 Subject: [PATCH 066/423] Bump :emacs dgutov/diff-hl@fb9eb1c -> dgutov/diff-hl@2cf8b48 jtbm37/all-the-icons-dired@980b774 -> jtbm37/all-the-icons-dired@816987d purcell/ibuffer-projectile@7649621 -> purcell/ibuffer-projectile@504b0ed purcell/ibuffer-vc@64cb038 -> purcell/ibuffer-vc@1249c1e ralesi/ranger.el@af6f781 -> ralesi/ranger.el@ae9b381 rmuslimov/browse-at-remote@771a307 -> rmuslimov/browse-at-remote@6aecae4 stsquad/dired-rsync@698294c -> stsquad/dired-rsync@bfd5c15 --- modules/emacs/dired/packages.el | 8 ++++---- modules/emacs/ibuffer/packages.el | 4 ++-- modules/emacs/vc/packages.el | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/modules/emacs/dired/packages.el b/modules/emacs/dired/packages.el index c33be02f3..afa98343b 100644 --- a/modules/emacs/dired/packages.el +++ b/modules/emacs/dired/packages.el @@ -3,10 +3,10 @@ (package! diredfl :pin "83567d00af") (package! dired-git-info :pin "b47f2b0c3a") -(package! diff-hl :pin "fb9eb1cd3c") -(package! dired-rsync :pin "698294cbd4") +(package! diff-hl :pin "2cf8b489f3") +(package! dired-rsync :pin "bfd5c155be") (when (featurep! +ranger) - (package! ranger :pin "af6f781a60")) + (package! ranger :pin "ae9b3816a6")) (when (featurep! +icons) - (package! all-the-icons-dired :pin "980b7747d6")) + (package! all-the-icons-dired :pin "816987d339")) (package! fd-dired :pin "fd4c3f490b") diff --git a/modules/emacs/ibuffer/packages.el b/modules/emacs/ibuffer/packages.el index f458bd25d..037024cc6 100644 --- a/modules/emacs/ibuffer/packages.el +++ b/modules/emacs/ibuffer/packages.el @@ -1,5 +1,5 @@ ;; -*- no-byte-compile: t; -*- ;;; emacs/ibuffer/packages.el -(package! ibuffer-projectile :pin "7649621414") -(package! ibuffer-vc :pin "64cb03887b") +(package! ibuffer-projectile :pin "504b0edaa0") +(package! ibuffer-vc :pin "1249c1e30c") diff --git a/modules/emacs/vc/packages.el b/modules/emacs/vc/packages.el index 59e59211c..693554e96 100644 --- a/modules/emacs/vc/packages.el +++ b/modules/emacs/vc/packages.el @@ -5,7 +5,7 @@ (package! vc-annotate :built-in t) (package! smerge-mode :built-in t) -(package! browse-at-remote :pin "771a3079e2") +(package! browse-at-remote :pin "6aecae4b5d") (package! git-timemachine :pin "391eb61050") (package! gitconfig-mode :pin "55468314a5") (package! gitignore-mode :pin "55468314a5") From 4f9dadfcc2c4e83f32c1b880abe8da7b93359f8e Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 17:25:29 -0400 Subject: [PATCH 067/423] Bump :input tumashu/pyim@bbeb686 -> tumashu/pyim@7717072 skk-dev/ddskk@51747f7 -> skk-dev/ddskk@f9a2333 And remove redundant pyim entry in :input chinese --- modules/input/chinese/packages.el | 3 +-- modules/input/japanese/packages.el | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/input/chinese/packages.el b/modules/input/chinese/packages.el index 0e7b5300d..138c376c4 100644 --- a/modules/input/chinese/packages.el +++ b/modules/input/chinese/packages.el @@ -1,8 +1,7 @@ ;; -*- no-byte-compile: t; -*- ;;; input/chinese/packages.el -(package! pyim :pin "bbeb68605e") +(package! pyim :pin "77170724fa") (package! fcitx :pin "12dc2638dd") (package! ace-pinyin :pin "8b2e9335b0") (package! pangu-spacing :pin "f92898949b") -(package! pyim :pin "bbeb68605e") diff --git a/modules/input/japanese/packages.el b/modules/input/japanese/packages.el index cddf2a4b6..5e86fd79a 100644 --- a/modules/input/japanese/packages.el +++ b/modules/input/japanese/packages.el @@ -3,5 +3,5 @@ (package! migemo :pin "f42832c8ac") (package! avy-migemo :pin "922a6dd82c") -(package! ddskk :pin "51747f7afb") +(package! ddskk :pin "f9a2333ec3") (package! pangu-spacing :pin "f92898949b") From bcdadcd45d9cbe83dbdcb225c50fa9ba2cb9b994 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 17:51:37 -0400 Subject: [PATCH 068/423] Mention dependencies in README And recommend Emacs 26 or 27, but not 28. --- README.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index a86397f6b..12d2ff791 100644 --- a/README.md +++ b/README.md @@ -30,13 +30,18 @@ **Quick start** -```bash -git clone https://github.com/hlissner/doom-emacs ~/.emacs.d -~/.emacs.d/bin/doom install -``` +1. **Install Emacs 26.1+**. 27 is recommended. _28+ is not supported_. +2. Install [ripgrep](https://github.com/BurntSushi/ripgrep) 11.0+. +3. Windows and BSD users will need GNU Find. +4. Clone Doom and run its installer: -More details, including dependencies and how to install Emacs, can be found [in -the documentation](docs/getting_started.org#install). + ```bash + git clone https://github.com/hlissner/doom-emacs ~/.emacs.d + ~/.emacs.d/bin/doom install + ``` + +Find more detailed install instructions [in the +documentation](docs/getting_started.org#install). **Table of Contents** From 296cbff097a486f509b17c1267722b343d661716 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 18:06:31 -0400 Subject: [PATCH 069/423] General, minor refactor & reformatting --- core/core-ui.el | 16 ++++----- modules/lang/dart/README.org | 56 +++++++++++++++--------------- modules/lang/javascript/README.org | 8 +++++ modules/lang/org/config.el | 6 +--- modules/lang/rust/config.el | 3 +- modules/ui/doom/README.org | 2 +- modules/ui/neotree/config.el | 32 ++++++++--------- 7 files changed, 63 insertions(+), 60 deletions(-) diff --git a/core/core-ui.el b/core/core-ui.el index 765283ed9..5771ab2ec 100644 --- a/core/core-ui.el +++ b/core/core-ui.el @@ -353,8 +353,8 @@ windows, switch to `doom-fallback-buffer'. Otherwise, delegate to original ;; while we're in the minibuffer. (setq enable-recursive-minibuffers t) -;; Show current key-sequence in minibuffer, like vim does. Any feedback after -;; typing is better UX than no feedback at all. +;; Show current key-sequence in minibuffer ala 'set showcmd' in vim. Any +;; feedback after typing is better UX than no feedback at all. (setq echo-keystrokes 0.02) ;; Expand the minibuffer to fit multi-line text displayed in the echo-area. This @@ -364,7 +364,7 @@ windows, switch to `doom-fallback-buffer'. Otherwise, delegate to original max-mini-window-height 0.15) ;; Typing yes/no is obnoxious when y/n will do -(fset #'yes-or-no-p #'y-or-n-p) +(advice-add #'yes-or-no-p :override #'y-or-n-p) ;; Try really hard to keep the cursor from getting stuck in the read-only prompt ;; portion of the minibuffer. @@ -421,17 +421,17 @@ windows, switch to `doom-fallback-buffer'. Otherwise, delegate to original ;; Temporarily disable `hl-line' when selection is active, since it doesn't ;; serve much purpose when the selection is so much more visible. - (defvar doom-buffer-hl-line-mode nil) + (defvar doom--hl-line-mode nil) (add-hook! '(evil-visual-state-entry-hook activate-mark-hook) (defun doom-disable-hl-line-h () (when hl-line-mode - (setq-local doom-buffer-hl-line-mode t) + (setq-local doom--hl-line-mode t) (hl-line-mode -1)))) (add-hook! '(evil-visual-state-exit-hook deactivate-mark-hook) (defun doom-enable-hl-line-maybe-h () - (when doom-buffer-hl-line-mode + (when doom--hl-line-mode (hl-line-mode +1))))) @@ -681,8 +681,8 @@ This offers a moderate boost in startup (or theme switch) time, so long as (after! whitespace (defun doom-disable-whitespace-mode-in-childframes-a (orig-fn) - "`whitespace-mode' inundates child frames with whitspace markers, so disable -it to fix all that visual noise." + "`whitespace-mode' inundates child frames with whitespace markers, so +disable it to fix all that visual noise." (unless (frame-parameter nil 'parent-frame) (funcall orig-fn))) (add-function :around whitespace-enable-predicate #'doom-disable-whitespace-mode-in-childframes-a)) diff --git a/modules/lang/dart/README.org b/modules/lang/dart/README.org index df26b4e64..ceaa901de 100644 --- a/modules/lang/dart/README.org +++ b/modules/lang/dart/README.org @@ -22,24 +22,24 @@ It is fast and optimized for UI, Famous for the [[https://flutter.io/][Flutter]] framework, also made by Google. Both Flutter and Dart are free and open-source. +This module wraps ~dart-mode~, with LSP code completion for =.dart= files, +syntax highlighting, etc. + ** Maintainers This module has no dedicated maintainers. ** Module Flags -The `dart` module wraps `dart-mode`, with LSP code completion for `.dart` files, -syntax highlighting, etc. Included is a `+lsp` flag for enabling LSP features, -and a `+flutter` flag for working with Flutter. - -+ =+lsp= Will start LSP automatically in `dart-mode-hook`. -+ =+flutter= Adds the `flutter` package and some settings for Flutter development. ++ =+lsp= Enable LSP server integration. ++ =+flutter= Adds ~flutter~ integration and some sane defaults for Flutter + development. ** Plugins + [[https://github.com/bradyt/dart-mode][dart-mode]] + [[https://github.com/amake/flutter.el][flutter.el]] * Prerequisites -Make sure that the Dart SDK is on your `PATH`, and if using Flutter, make sure -the Flutter binary is on your `PATH` as well. +Make sure that the Dart SDK is on your ~PATH~, and if using Flutter, make sure +the Flutter binary is on your ~PATH~ as well. ** Installing Dart SDK Before starting note that Flutter SDK will have a version of Dart. Therefore, @@ -50,20 +50,19 @@ The stable version of the SDK is in most major distributions repositories. If you find it necessary to install any other version or build from source, please refer to the official website at: https://dart.dev/get-dart -On Debian (also Ubuntu and its derivations), you can simply install the SDK via: -#+BEGIN_SRC shell -sudo apt-get install dart -#+END_SRC -Or on Arch (and its derivations, like Manjaro), you can install it using: -#+BEGIN_SRC shell -sudo pacman -S dart -#+END_SRC -And finally in MacOS, the [[https://brew.sh/][Homebrew]] can come in handy. If you have it installed -just run: -#+BEGIN_SRC shell -brew tap dart-lang/dart -brew install dart#+END_SRC -#+END_SRC ++ *On Debian (also Ubuntu and its derivations):* + #+BEGIN_SRC shell + sudo apt-get install dart + #+END_SRC ++ *On Arch Linux (and derivations like Manjaro):* + #+BEGIN_SRC shell + sudo pacman -S dart + #+END_SRC ++ *On macOS*: + #+BEGIN_SRC shell + brew tap dart-lang/dart + brew install dart#+END_SRC + #+END_SRC ** Installing Flutter SDK Due to complications with permissions, it is suggested not to use AUR or any @@ -71,6 +70,7 @@ automatic installation tools for Flutter SDK. On any system just run the following commands to install Flutter, once you have met dependencies named on [[https://flutter.dev/docs/get-started/install/][the site]]: + #+BEGIN_SRC shell git clone https://github.com/flutter/flutter --branch stable # to download Flutter export PATH="$PATH:$(pwd)/flutter/bin" # to add it to PATH @@ -78,13 +78,13 @@ flutter doctor # for Dependency check and further instructions #+END_SRC * Features -+ Syntax highlighting and formatting for `.dart` files provided by LSP ++ Syntax highlighting and formatting for ~.dart~ files provided by LSP + Emacs functions for running and debugging Flutter projects * Configuration ** Dart & Flutter -On Linux, the installers for Dart and Flutter use the `/opt` directory, and this -module assumes that. However, you may set `lsp-dart-sdk-dir` to your Dart +On Linux, the installers for Dart and Flutter use the ~/opt~ directory, and this +module assumes that. However, you may set ~lsp-dart-sdk-dir~ to your Dart install directory, if it differs, to make sure LSP can find the language server included with the Dart SDK. @@ -93,12 +93,12 @@ and Flutter on your `PATH` variable. ** Android You will also need to setup your system for Android development if you intend to use Flutter to develop mobile applications. Refer to your distributions package -manager for details. In most distributions the `/opt/android-sdk` directory is +manager for details. In most distributions the ~/opt/android-sdk~ directory is used, and you might have to change some permissions in this directory since it's owned by root. The [[https://wiki.archlinux.org/index.php/Android][Arch Linux wiki has a great guide on this here.]] * Troubleshooting See the configuration section for information on the binaries for Dart and -Flutter. On new installs to the `/opt` directory, you will likely need to edit -the permissions of the `/opt/dart-sdk` and `/opt/flutter` directories (not to +Flutter. On new installs to the ~/opt~ directory, you will likely need to edit +the permissions of the ~/opt/dart-sdk~ and ~/opt/flutter~ directories (not to mention the Android SDK, as discussed above). diff --git a/modules/lang/javascript/README.org b/modules/lang/javascript/README.org index 6a43af3e8..2d45742fa 100644 --- a/modules/lang/javascript/README.org +++ b/modules/lang/javascript/README.org @@ -11,6 +11,8 @@ - [[#macos][MacOS]] - [[#arch-linux][Arch Linux]] - [[#opensuse][openSUSE]] +- [[#troubleshooting][Troubleshooting]] + - [[#tide-sort-completions-by-kind-isnt-respected][~tide-sort-completions-by-kind~ isn't respected]] - [[#appendix][Appendix]] - [[#commands][Commands]] @@ -62,6 +64,12 @@ sudo pacman --needed --noconfirm -S nodejs npm sudo zypper install nodejs npm #+END_SRC +* Troubleshooting +** ~tide-sort-completions-by-kind~ isn't respected +The =:completion company= module uses =company-prescient= to sort completion by +[[https://developer.mozilla.org/en-US/docs/Mozilla/Tech/Places/Frecency_algorithm][frecency]], which overrules specialized sorting provided by some company backends +(like ~company-tide~). + * Appendix ** Commands *** JS2-mode diff --git a/modules/lang/org/config.el b/modules/lang/org/config.el index e5cd0e76e..ca68bd125 100644 --- a/modules/lang/org/config.el +++ b/modules/lang/org/config.el @@ -233,11 +233,7 @@ Is relative to `org-directory', unless it is absolute. Is used in Doom's default (add-to-list 'org-babel-load-languages (cons lang t))) t)) - (defadvice! +org--noop-org-babel-do-load-languages-a (&rest _) - :override #'org-babel-do-load-languages - (message - (concat "`org-babel-do-load-languages' is redundant with Doom's lazy loading mechanism for babel " - "packages. There is no need to use it, so it has been disabled")))) + (advice-add #'org-babel-do-load-languages :override #'ignore)) (defun +org-init-capture-defaults-h () diff --git a/modules/lang/rust/config.el b/modules/lang/rust/config.el index 1cc8046bd..a2cc94bd0 100644 --- a/modules/lang/rust/config.el +++ b/modules/lang/rust/config.el @@ -10,6 +10,7 @@ (use-package! rustic :mode ("\\.rs$" . rustic-mode) :commands rustic-run-cargo-command rustic-cargo-outdated + :hook (rustic-mode . rainbow-delimiters-mode) :config (set-docsets! 'rustic-mode "Rust") (set-popup-rule! "^\\*rustic-compilation" :vslot -1) @@ -18,8 +19,6 @@ ;; use :editor format instead rustic-format-trigger nil) - (add-hook 'rustic-mode-hook #'rainbow-delimiters-mode) - (if (featurep! +lsp) (add-hook 'rustic-mode-local-vars-hook #'lsp!) (setq rustic-lsp-server nil) diff --git a/modules/ui/doom/README.org b/modules/ui/doom/README.org index fead47300..17d365df6 100644 --- a/modules/ui/doom/README.org +++ b/modules/ui/doom/README.org @@ -1,7 +1,7 @@ #+TITLE: ui/doom #+DATE: October 9, 2019 #+SINCE: v1.3 -#+STARTUP: inlineimages +#+STARTUP: inlineimages nofold * Table of Contents :TOC_3:noexport: - [[#description][Description]] diff --git a/modules/ui/neotree/config.el b/modules/ui/neotree/config.el index a3c86353f..4f46167b9 100644 --- a/modules/ui/neotree/config.el +++ b/modules/ui/neotree/config.el @@ -55,19 +55,19 @@ (skip-chars-forward " \t\r")) (map! :map neotree-mode-map - :n [tab] (neotree-make-executor - :dir-fn #'neo-open-dir - :file-fn #'neotree-quick-look) - :n "DEL" #'evil-window-prev - :n "n" #'neotree-next-line - :n "p" #'neotree-previous-line - :m "h" #'+neotree/collapse-or-up - :m "l" #'+neotree/expand-or-open - :n "J" #'neotree-select-next-sibling-node - :n "K" #'neotree-select-previous-sibling-node - :n "H" #'neotree-select-up-node - :n "L" #'neotree-select-down-node - :n "G" #'evil-goto-line - :n "gg" #'evil-goto-first-line - :n "v" (neotree-make-executor :file-fn 'neo-open-file-vertical-split) - :n "s" (neotree-make-executor :file-fn 'neo-open-file-horizontal-split))) + :n [tab] (neotree-make-executor + :dir-fn #'neo-open-dir + :file-fn #'neotree-quick-look) + :n "DEL" #'evil-window-prev + :n "n" #'neotree-next-line + :n "p" #'neotree-previous-line + :m "h" #'+neotree/collapse-or-up + :m "l" #'+neotree/expand-or-open + :n "J" #'neotree-select-next-sibling-node + :n "K" #'neotree-select-previous-sibling-node + :n "H" #'neotree-select-up-node + :n "L" #'neotree-select-down-node + :n "G" #'evil-goto-line + :n "gg" #'evil-goto-first-line + :n "v" (neotree-make-executor :file-fn 'neo-open-file-vertical-split) + :n "s" (neotree-make-executor :file-fn 'neo-open-file-horizontal-split))) From b51555e0c391c354965a9e300da9caba398fd348 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 18:06:51 -0400 Subject: [PATCH 070/423] Update lang/php readme to new format #1166 --- modules/lang/php/README.org | 66 ++++++++++++++++++++++++++++++++----- 1 file changed, 58 insertions(+), 8 deletions(-) diff --git a/modules/lang/php/README.org b/modules/lang/php/README.org index 458f85c32..5ecdbee70 100644 --- a/modules/lang/php/README.org +++ b/modules/lang/php/README.org @@ -1,5 +1,24 @@ -#+TITLE: :lang php +#+TITLE: lang/php +#+DATE: January 16, 2017 +#+SINCE: v1.3 +#+STARTUP: inlineimages nofold +* Table of Contents :TOC_3:noexport: +- [[#description][Description]] + - [[#maintainers][Maintainers]] + - [[#module-flags][Module Flags]] + - [[#plugins][Plugins]] +- [[#prerequisites][Prerequisites]] + - [[#php][PHP]] + - [[#macos][MacOS]] + - [[#arch-linux][Arch Linux]] + - [[#opensuse][openSUSE]] + - [[#dependencies][Dependencies]] +- [[#features][Features]] +- [[#configuration][Configuration]] +- [[#troubleshooting][Troubleshooting]] + +* Description This module adds support for PHP 5.3+ (including PHP7). + ctags-based code completion (~company-php~ and ~phpctags~) @@ -12,17 +31,39 @@ This module adds support for PHP 5.3+ (including PHP7). + [[https://github.com/hlissner/doom-snippets/tree/master/php-mode][Snippets]] #+begin_quote -PHP was the first programming language I got paid to code in, back in the Cretaceous period (2003). My sincerest apologies go out to all the programmers who inherited my earliest PHP work. I know you're out there, writhing in your straitjackets. +PHP was the first programming language I got paid to code in, back in the +Cretaceous period (2003). My sincerest apologies go out to all the programmers +who inherited my earliest PHP work. I know you're out there, writhing in your +straitjackets. -Save a programmer today. Stop a friend from choosing PHP as their first language. +Save a programmer today. Stop a friend from choosing PHP as their first +language. #+end_quote -* Table of Contents :TOC: -- [[#install][Install]] - - [[#php][PHP]] - - [[#dependencies][Dependencies]] +** Maintainers +This module has no dedicated maintainers. -* Install +** Module Flags ++ =+hack= Add support for the [[https://hacklang.org/][Hack dialect of PHP]] by Facebook. ++ =+lsp= Enable LSP support through phpactor. Requires the ~:tools lsp~ module + and the phpactor server to be installed on your system. + +** Plugins ++ [[https://github.com/tomterl/php-boris][async]] ++ [[https://github.com/tomterl/php-boris][php-boris]] ++ [[https://github.com/arnested/php-extras][php-extras]] ++ [[https://github.com/emacs-php/php-mode][php-mode]] ++ [[https://github.com/keelerm84/php-refactor-mode.el][php-refactor-mode]] ++ [[https://github.com/nlamirault/phpunit.el][phpunit]] ++ =+hack= + + [[https://github.com/hhvm/hack-mode][hack-mode]] ++ =+lsp= + + [[https://github.com/emacs-php/phpactor.el][phpactor]] + + [[https://github.com/emacs-php/phpactor.el][company-phpactor]] ++ =:editor format= + + [[https://github.com/OVYA/php-cs-fixer][php-cs-fixer]] + +* Prerequisites ** PHP To get started with PHP, you'll need ~php~ (5.3+) and ~composer~: @@ -65,3 +106,12 @@ Ensure that ~\~/.composer/vendor/bin~ is in ~PATH~: # place this in your profile file, like ~/.bash_profile or ~/.zshenv export PATH="~/.composer/vendor/bin:$PATH" #+END_SRC + +* TODO Features +# An in-depth list of features, how to use them, and their dependencies. + +* TODO Configuration +# How to configure this module, including common problems and how to address them. + +* TODO Troubleshooting +# Common issues and their solution, or places to look for help. From 2869c020a045674178a30ff5bd5c6b31cb7ce2d2 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 18:11:03 -0400 Subject: [PATCH 071/423] Bump :editor abo-abo/lispy@d6b19fe -> abo-abo/lispy@c7e282a hlissner/doom-snippets@2781b78 -> hlissner/doom-snippets@2a0c3cf joaotavora/yasnippet@3bf9a3b -> joaotavora/yasnippet@ac03c2f joaotavora/yasnippet@3bf9a3b -> joaotavora/yasnippet@ac03c2f noctuid/lispyville@56198f1 -> noctuid/lispyville@25a7012 --- modules/editor/file-templates/packages.el | 2 +- modules/editor/lispy/packages.el | 4 ++-- modules/editor/snippets/packages.el | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/editor/file-templates/packages.el b/modules/editor/file-templates/packages.el index 67d4ada0e..42c98b815 100644 --- a/modules/editor/file-templates/packages.el +++ b/modules/editor/file-templates/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; editor/file-templates/packages.el -(package! yasnippet :pin "3bf9a3b1af") +(package! yasnippet :pin "ac03c2f192") diff --git a/modules/editor/lispy/packages.el b/modules/editor/lispy/packages.el index 4504bb409..747c914ec 100644 --- a/modules/editor/lispy/packages.el +++ b/modules/editor/lispy/packages.el @@ -1,6 +1,6 @@ ;; -*- no-byte-compile: t; -*- ;;; editor/lispyville/packages.el -(package! lispy :pin "d6b19fe2c3") +(package! lispy :pin "c7e282ae06") (when (featurep! :editor evil) - (package! lispyville :pin "56198f1c44")) + (package! lispyville :pin "25a70126ea")) diff --git a/modules/editor/snippets/packages.el b/modules/editor/snippets/packages.el index a75cce163..e100d3717 100644 --- a/modules/editor/snippets/packages.el +++ b/modules/editor/snippets/packages.el @@ -1,10 +1,10 @@ ;; -*- no-byte-compile: t; -*- ;;; editor/snippets/packages.el -(package! yasnippet :pin "3bf9a3b1af") +(package! yasnippet :pin "ac03c2f192") (package! auto-yasnippet :pin "db9e0dd433") (package! doom-snippets :recipe (:host github :repo "hlissner/doom-snippets" :files ("*.el" "*")) - :pin "2781b782a3") + :pin "2a0c3cf901") From 5b0782f234965705d5f5ff6682b9ed0f2409c385 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 18:12:27 -0400 Subject: [PATCH 072/423] Bump :config default abo-abo/avy@cf95ba9 -> abo-abo/avy@3bf8314 magnars/expand-region.el@1603d01 -> magnars/expand-region.el@ea6b4cb --- modules/config/default/packages.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/config/default/packages.el b/modules/config/default/packages.el index ad818e198..8178f8758 100644 --- a/modules/config/default/packages.el +++ b/modules/config/default/packages.el @@ -1,9 +1,9 @@ ;; -*- no-byte-compile: t; -*- ;;; config/default/packages.el -(package! avy :pin "cf95ba9582") +(package! avy :pin "3bf83140fa") (package! drag-stuff :pin "6d06d846cd") (package! link-hint :pin "0d9cabcdb7") (unless (featurep! :editor evil) - (package! expand-region :pin "1603d01fbf")) + (package! expand-region :pin "ea6b4cbb99")) From 217252e361f7b5c6cebd56625c609350d5108f09 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 19:09:19 -0400 Subject: [PATCH 073/423] Wrap gcmh-mode bootstrap in interactive check The interactive check is necessary until I've pushed the new CLI. --- core/core.el | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/core/core.el b/core/core.el index 64c0fda4a..5f43e72e1 100644 --- a/core/core.el +++ b/core/core.el @@ -291,14 +291,15 @@ users).") ;; Adopt a sneaky garbage collection strategy of waiting until idle time to ;; collect; staving off the collector while the user is working. -(setq gc-cons-percentage 0.6) -(add-transient-hook! 'pre-command-hook (gcmh-mode +1)) -(with-eval-after-load 'gcmh - (setq gcmh-idle-delay 10 - gcmh-high-cons-threshold 16777216 - gcmh-verbose doom-debug-mode ; 16mb - gc-cons-percentage 0.1) - (add-hook 'focus-out-hook #'gcmh-idle-garbage-collect)) +(when doom-interactive-mode + (setq gc-cons-percentage 0.6) + (add-transient-hook! 'pre-command-hook (gcmh-mode +1)) + (with-eval-after-load 'gcmh + (setq gcmh-idle-delay 10 + gcmh-high-cons-threshold 16777216 + gcmh-verbose doom-debug-mode ; 16mb + gc-cons-percentage 0.1) + (add-hook 'focus-out-hook #'gcmh-idle-garbage-collect))) ;; HACK `tty-run-terminal-initialization' is *tremendously* slow for some ;; reason. Disabling it completely could have many side-effects, so we From e73a01bcbd59d76f3bed406a39b61cd2397c991d Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 19:36:43 -0400 Subject: [PATCH 074/423] Revise badges & change style for readability --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 12d2ff791..2e6cb1f5b 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,14 @@ - Made with Doom Emacs + Made with Doom Emacs - Made for Emacs 26.1+ + Supports Emacs 26.x - 27.0.50 - Build status: develop + Build status: develop - Join our discord server + Join our discord server

From c22d4e42a9a0086358f94a1fe0882c8beab5fcf8 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 20:11:28 -0400 Subject: [PATCH 075/423] lang/rest: minor refactor --- modules/lang/rest/config.el | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/lang/rest/config.el b/modules/lang/rest/config.el index d655901e9..14450296f 100644 --- a/modules/lang/rest/config.el +++ b/modules/lang/rest/config.el @@ -2,18 +2,18 @@ (use-package! restclient :mode ("\\.http\\'" . restclient-mode) + ;; line numbers aren't enabled by default in fundamental-mode-derived modes + :hook (restclient-mode . display-line-numbers-mode) :config (set-popup-rule! "^\\*HTTP Response" :size 0.4 :quit 'other) - ;; line numbers aren't enabled by default in fundamental-mode-derived modes - (add-hook 'restclient-mode-hook #'display-line-numbers-mode) - + ;; TODO PR this upstream! This adds imenu support to `restclient-mode' (setq-hook! 'restclient-mode-hook imenu-generic-expression '((nil "^[A-Z]+\s+.+" 0))) (defadvice! +rest--permit-self-signed-ssl-a (orig-fn &rest args) "Forces underlying SSL verification to prompt for self-signed or invalid -certs, rather than silently reject them." +certs, rather than reject them silently." :around #'restclient-http-do (let (gnutls-verify-error tls-checktrust) (apply orig-fn args))) From f6db32237d0b1f2262611b657f5deccf5cb2a960 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 20:16:02 -0400 Subject: [PATCH 076/423] Update lang/rest readme to new format #1166 --- modules/lang/rest/README.org | 87 +++++++++++++++++++----------------- 1 file changed, 45 insertions(+), 42 deletions(-) diff --git a/modules/lang/rest/README.org b/modules/lang/rest/README.org index bd3d163c7..a1e7bd087 100644 --- a/modules/lang/rest/README.org +++ b/modules/lang/rest/README.org @@ -1,55 +1,58 @@ -#+TITLE: :lang rest +#+TITLE: lang/rest +#+DATE: March 17, 2017 +#+SINCE: v1.3 +#+STARTUP: inlineimages nofold +* Table of Contents :TOC_3:noexport: +- [[#description][Description]] + - [[#maintainers][Maintainers]] + - [[#module-flags][Module Flags]] + - [[#plugins][Plugins]] + - [[#hacks][Hacks]] +- [[#prerequisites][Prerequisites]] +- [[#features][Features]] +- [[#configuration][Configuration]] +- [[#troubleshooting][Troubleshooting]] + +* Description This module adds [[https://en.wikipedia.org/wiki/Representational_state_transfer][REST]] support. + Code-completion (~company-restclient~) + Code evaluation ++ Imenu support for ~restclient-mode~ + org-mode: babel support (~ob-restclient~) #+begin_quote -~restclient-mode~ is tremendously useful for testing REST APIs. My workflow is to open an ~org-mode~ buffer, create a restclient source block and hack away. ~restclient-mode~ and ~company-restclient~ power this arcane wizardry. +~restclient-mode~ is tremendously useful for automated or quick testing REST +APIs. My workflow is to open an ~org-mode~ buffer, create a restclient source +block and hack away. ~restclient-mode~ and ~company-restclient~ power this +arcane wizardry. #+end_quote -* Table of Contents :TOC: -- [[#install][Install]] -- [[#example][Example]] +** Maintainers +This module has no dedicated maintainers. -* Install -No additional setup required. +** Module Flags +This module provides no flags. -* Example -#+BEGIN_SRC restclient -GET https://jsonplaceholder.typicode.com/posts/1 -#+END_SRC +** Plugins ++ [[https://github.com/pashky/restclient.el][restclient]] ++ =:completion company= + + [[https://github.com/iquiw/company-restclient][company-restclient]] -#+BEGIN_EXAMPLE -#+RESULTS: -#+BEGIN_SRC js -{ - "userId": 1, - "id": 1, - "title": "sunt aut facere repellat provident occaecati excepturi optio reprehenderit", - "body": "quia et suscipit\nsuscipit recusandae consequuntur expedita et cum\nreprehenderit molestiae ut ut quas totam\nnostrum rerum est autem sunt rem eveniet architecto" -} -// GET https://jsonplaceholder.typicode.com/posts/1 -// HTTP/1.1 200 OK -// Date: Thu, 25 May 2017 13:43:42 GMT -// Content-Type: application/json; charset=utf-8 -// Content-Length: 292 -// Connection: keep-alive -// Set-Cookie: __cfduid=d3484257c800700f9882305963fa9d5d91495719822; expires=Fri, 25-May-18 13:43:42 GMT; path=/; domain=.typicode.com; HttpOnly -// X-Powered-By: Express -// Vary: Origin, Accept-Encoding -// Access-Control-Allow-Credentials: true -// Cache-Control: public, max-age=14400 -// Pragma: no-cache -// Expires: Thu, 25 May 2017 17:43:42 GMT -// X-Content-Type-Options: nosniff -// Etag: W/"124-yiKdLzqO5gfBrJFrcdJ8Yq0LGnU" -// Via: 1.1 vegur -// CF-Cache-Status: HIT -// Server: cloudflare-nginx -// CF-RAY: 3648ecd7ef833d0d-CPH -// Request duration: 0.347179s -#+END_SRC -#+END_EXAMPLE +** Hacks ++ restclient has been modified not to silently reject self-signed or invalid + certificates. ++ Adds imenu support to ~restclient-mode~. + +* Prerequisites +This module has no prereqisites. + +* Features +# An in-depth list of features, how to use them, and their dependencies. + +* Configuration +# How to configure this module, including common problems and how to address them. + +* Troubleshooting +# Common issues and their solution, or places to look for help. From 2e543f822ae2a0321b64f1ade372b74c5f154468 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 21:14:47 -0400 Subject: [PATCH 077/423] Remove ws-butler+editorconfig hack Now that it's supported upstream through editorconfig-trim-whitespaces-mode --- modules/tools/editorconfig/config.el | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/modules/tools/editorconfig/config.el b/modules/tools/editorconfig/config.el index 722690233..20d4c8007 100644 --- a/modules/tools/editorconfig/config.el +++ b/modules/tools/editorconfig/config.el @@ -21,6 +21,9 @@ (use-package! editorconfig :after-call doom-switch-buffer-hook after-find-file :config + (when (require 'ws-butler nil t) + (setq editorconfig-trim-whitespaces-mode 'ws-butler-mode)) + (defadvice! +editorconfig--smart-detection-a (orig-fn) "Retrieve the properties for the current file. If it doesn't have an extension, try to guess one." @@ -35,13 +38,6 @@ extension, try to guess one." ""))))) (funcall orig-fn))) - (add-hook! 'editorconfig-after-apply-functions - (defun +editorconfig-disable-ws-butler-maybe-h (props) - "Disable `ws-butler-mode' if trim_trailing_whitespace is true." - (when (and (equal (gethash 'trim_trailing_whitespace props) "true") - (bound-and-true-p ws-butler-mode)) - (ws-butler-mode -1)))) - (add-hook! 'editorconfig-after-apply-functions (defun +editorconfig-disable-indent-detection-h (props) "Inhibit `dtrt-indent' if an explicit indent_style and indent_size is From 9709d257d9731c93f4fc3c684dfa4ff5699911cd Mon Sep 17 00:00:00 2001 From: Vu Quoc Huy Date: Sat, 28 Mar 2020 02:20:10 +0100 Subject: [PATCH 078/423] Fix TLS error caused by #2763 Check whether the current gnutls library supports tls1.3 Add more tests for `doom/am-i-secure` --- core/autoload/debug.el | 36 +++++++++++++++++++++++++++++++++--- core/core.el | 4 +++- modules/lang/rest/config.el | 2 +- 3 files changed, 37 insertions(+), 5 deletions(-) diff --git a/core/autoload/debug.el b/core/autoload/debug.el index bd2f241d6..7b3f5ddcd 100644 --- a/core/autoload/debug.el +++ b/core/autoload/debug.el @@ -184,15 +184,45 @@ markdown and copies it to your clipboard, ready to be pasted into bug reports!" ;;;###autoload (defun doom/am-i-secure () - "Test to see if your root certificates are securely configured in emacs." + "Test to see if your root certificates are securely configured in emacs. +Some items are not supported by the `nsm.el' module." (declare (interactive-only t)) (interactive) (unless (string-match-p "\\_" system-configuration-features) (warn "gnutls support isn't built into Emacs, there may be problems")) (if-let* ((bad-hosts (cl-loop for bad - in '("https://wrong.host.badssl.com/" - "https://self-signed.badssl.com/") + in '("https://expired.badssl.com/" + "https://wrong.host.badssl.com/" + "https://self-signed.badssl.com/" + "https://untrusted-root.badssl.com/" + ;; "https://revoked.badssl.com/" + ;; "https://pinning-test.badssl.com/" + "https://sha1-intermediate.badssl.com/" + "https://rc4-md5.badssl.com/" + "https://rc4.badssl.com/" + "https://3des.badssl.com/" + "https://null.badssl.com/" + "https://sha1-intermediate.badssl.com/" + ;; "https://client-cert-missing.badssl.com/" + "https://dh480.badssl.com/" + "https://dh512.badssl.com/" + "https://dh-small-subgroup.badssl.com/" + "https://dh-composite.badssl.com/" + "https://invalid-expected-sct.badssl.com/" + ;; "https://no-sct.badssl.com/" + ;; "https://mixed-script.badssl.com/" + ;; "https://very.badssl.com/" + "https://subdomain.preloaded-hsts.badssl.com/" + "https://superfish.badssl.com/" + "https://edellroot.badssl.com/" + "https://dsdtestprovider.badssl.com/" + "https://preact-cli.badssl.com/" + "https://webpack-dev-server.badssl.com/" + "https://captive-portal.badssl.com/" + "https://mitm-software.badssl.com/" + "https://sha1-2016.badssl.com/" + "https://sha1-2017.badssl.com/") if (condition-case _e (url-retrieve-synchronously bad) (error nil)) diff --git a/core/core.el b/core/core.el index 0a9c1875f..7ce82524d 100644 --- a/core/core.el +++ b/core/core.el @@ -181,7 +181,9 @@ users).") ;; pulls in from all corners of the globe. Let's at least try to be more ;; discerning. (setq gnutls-verify-error (not (getenv "INSECURE")) - gnutls-algorithm-priority "SECURE128:+SECURE192:-VERS-ALL:+VERS-TLS1.2:+VERS-TLS1.3" + gnutls-algorithm-priority + (let ((support-tls1.3 (if (>= libgnutls-version 30605) ":+VERS-TLS1.3" nil))) + (concat "SECURE128:+SECURE192:-VERS-ALL:+VERS-TLS1.2" support-tls1.3)) ;; `gnutls-min-prime-bits' is set based on recommendations from ;; https://www.keylength.com/en/4/ gnutls-min-prime-bits 3072 diff --git a/modules/lang/rest/config.el b/modules/lang/rest/config.el index d655901e9..0b0b4b2fc 100644 --- a/modules/lang/rest/config.el +++ b/modules/lang/rest/config.el @@ -15,7 +15,7 @@ "Forces underlying SSL verification to prompt for self-signed or invalid certs, rather than silently reject them." :around #'restclient-http-do - (let (gnutls-verify-error tls-checktrust) + (let ((gnutls-verify-error tls-checktrust)) (apply orig-fn args))) (map! :map restclient-mode-map From 6c4081f78510a09612473864ceffe90e5cf15cc2 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 21:30:07 -0400 Subject: [PATCH 079/423] Refactor gnutls-algorithm-priority And prevent void-variable error if gnutls is, for some reason, unavailable or libgnutls-version isn't a numeric. --- core/core.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/core.el b/core/core.el index d9c27eaa7..1e1099663 100644 --- a/core/core.el +++ b/core/core.el @@ -191,8 +191,9 @@ users).") ;; least a little more discerning. (setq gnutls-verify-error (not (getenv "INSECURE")) gnutls-algorithm-priority - (let ((support-tls1.3 (if (>= libgnutls-version 30605) ":+VERS-TLS1.3" nil))) - (concat "SECURE128:+SECURE192:-VERS-ALL:+VERS-TLS1.2" support-tls1.3)) + (concat "SECURE128:+SECURE192:-VERS-ALL:+VERS-TLS1.2" + (if (ignore-errors (>= libgnutls-version 30605)) + ":+VERS-TLS1.3")) ;; `gnutls-min-prime-bits' is set based on recommendations from ;; https://www.keylength.com/en/4/ gnutls-min-prime-bits 3072 From 86194e2c53065348ab907f2f16d20d609a1f85c1 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 21:34:58 -0400 Subject: [PATCH 080/423] Revert change to lang/rest in 9709d257d --- modules/lang/rest/config.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/lang/rest/config.el b/modules/lang/rest/config.el index b4bad38cc..14450296f 100644 --- a/modules/lang/rest/config.el +++ b/modules/lang/rest/config.el @@ -15,7 +15,7 @@ "Forces underlying SSL verification to prompt for self-signed or invalid certs, rather than reject them silently." :around #'restclient-http-do - (let ((gnutls-verify-error tls-checktrust)) + (let (gnutls-verify-error tls-checktrust) (apply orig-fn args))) (map! :map restclient-mode-map From 83b6f74d1153dfe8c7786a4df5a19db387aabd3d Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 21:39:27 -0400 Subject: [PATCH 081/423] Minor refactors & reformatting --- modules/completion/helm/config.el | 7 ++++--- modules/lang/dart/config.el | 14 +++++++------- modules/lang/java/+lsp.el | 4 ++-- modules/tools/lsp/config.el | 2 ++ modules/ui/doom-dashboard/config.el | 1 + 5 files changed, 16 insertions(+), 12 deletions(-) diff --git a/modules/completion/helm/config.el b/modules/completion/helm/config.el index b4906b2c8..59180026c 100644 --- a/modules/completion/helm/config.el +++ b/modules/completion/helm/config.el @@ -93,9 +93,10 @@ be negative.") ;; (as prescribed by the fuzzy flag) also in the following cases: ;; - helmized commands that use `completion-at-point' and similar functions ;; - native commands that fall back to `completion-styles' like `helm-M-x' - (if (< emacs-major-version 27) - (push (if fuzzy 'helm-flex 'helm) completion-styles) - (push (if fuzzy 'flex 'helm) completion-styles))) + (push (if EMACS27+ + (if fuzzy 'flex 'helm) + (if fuzzy 'helm-flex 'helm)) + completion-styles)) :config (set-popup-rule! "^\\*helm" :vslot -100 :size 0.22 :ttl nil) diff --git a/modules/lang/dart/config.el b/modules/lang/dart/config.el index 5c7b633f1..ebcbae6dc 100644 --- a/modules/lang/dart/config.el +++ b/modules/lang/dart/config.el @@ -1,12 +1,12 @@ ;;; lang/dart/config.el -*- lexical-binding: t; -*- -(after! dart-mode - (when (featurep! +lsp) - (add-hook 'dart-mode-local-vars-hook #'lsp!) - (when (and (featurep! +flutter) IS-LINUX) - (when-let (path (doom-glob "/opt/flutter/bin/cache/dart-sdk")) - (setq lsp-dart-sdk-dir path))))) - +(use-package! dart-mode + :when (featurep! +lsp) + :hook (dart-mode-local-vars . lsp!) + :config + (when (and (featurep! +flutter) IS-LINUX) + (when-let (path (doom-glob "/opt/flutter/bin/cache/dart-sdk")) + (setq lsp-dart-sdk-dir path)))) (use-package! flutter diff --git a/modules/lang/java/+lsp.el b/modules/lang/java/+lsp.el index 2d7cf01ac..ba7f84eb1 100644 --- a/modules/lang/java/+lsp.el +++ b/modules/lang/java/+lsp.el @@ -3,8 +3,8 @@ (use-package! lsp-java :after lsp-clients - :init - (add-hook 'java-mode-local-vars-hook #'lsp!) + :hook (java-mode-local-vars . lsp!) + :preface (setq lsp-java-server-install-dir (concat doom-etc-dir "eclipse.jdt.ls/server/") lsp-java-workspace-dir (concat doom-etc-dir "java-workspace")) :config diff --git a/modules/tools/lsp/config.el b/modules/tools/lsp/config.el index f665104fd..d3f461cad 100644 --- a/modules/tools/lsp/config.el +++ b/modules/tools/lsp/config.el @@ -55,6 +55,8 @@ irrespective of what `+lsp-company-backend' is set to.") :definition #'lsp-find-definition :references #'lsp-find-references) + ;; TODO Lazy load these. They don't need to be loaded all at once unless the + ;; user uses `lsp-install-server'. (when lsp-auto-configure (mapc (lambda (package) (require package nil t)) lsp-client-packages)) diff --git a/modules/ui/doom-dashboard/config.el b/modules/ui/doom-dashboard/config.el index caa6896e7..255f3b8d6 100644 --- a/modules/ui/doom-dashboard/config.el +++ b/modules/ui/doom-dashboard/config.el @@ -164,6 +164,7 @@ PLIST can have the following properties: "Face used for the title of menu widgets on the dashboard" :group 'doom-dashboard) + ;; ;;; Major mode From 7d71584a8db1fc86ec2cbd76deb7fb0e54a57b02 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Fri, 27 Mar 2020 22:23:20 -0400 Subject: [PATCH 082/423] s/org-attach-directory/org-attach-id-dir The former is deprecated. Reported by @myshevchuk in 90ec41c --- modules/lang/org/contrib/dragndrop.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/lang/org/contrib/dragndrop.el b/modules/lang/org/contrib/dragndrop.el index 356727bb2..8be0a2f59 100644 --- a/modules/lang/org/contrib/dragndrop.el +++ b/modules/lang/org/contrib/dragndrop.el @@ -53,8 +53,8 @@ an file icon produced by `+org-attach-icon-for')." (if (= org-download-image-org-width 0) "" (format "#+attr_org: :width %dpx\n" org-download-image-org-width)) (format org-download-link-format - (cond ((file-in-directory-p filename org-attach-directory) - (file-relative-name filename org-attach-directory)) + (cond ((file-in-directory-p filename org-attach-id-dir) + (file-relative-name filename org-attach-id-dir)) ((file-in-directory-p filename org-directory) (file-relative-name filename org-directory)) (filename))))) From 8f685a3c31749b0b76e8987c8c2d9523f7b205a0 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 28 Mar 2020 00:41:04 -0400 Subject: [PATCH 083/423] Fix #2756: make C-a/C-e truly shift-select aware --- core/autoload/text.el | 10 ++-------- modules/config/default/config.el | 10 ++++++---- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/core/autoload/text.el b/core/autoload/text.el index 83a547132..5371fa805 100644 --- a/core/autoload/text.el +++ b/core/autoload/text.el @@ -155,11 +155,8 @@ in some cases." "Jump between the indentation column (first non-whitespace character) and the beginning of the line. The opposite of `doom/forward-to-last-non-comment-or-eol'." - (interactive "d") + (interactive "^d") (let ((pt (or point (point)))) - (when (and shift-select-mode this-command-keys-shift-translated) - (set-mark pt) - (activate-mark)) (cl-destructuring-bind (bol bot _eot _eol) (doom--bol-bot-eot-eol pt) (cond ((> pt bot) @@ -180,11 +177,8 @@ beginning of the line. The opposite of (defun doom/forward-to-last-non-comment-or-eol (&optional point) "Jumps between the last non-blank, non-comment character in the line and the true end of the line. The opposite of `doom/backward-to-bol-or-indent'." - (interactive "d") + (interactive "^d") (let ((pt (or point (point)))) - (when (and shift-select-mode this-command-keys-shift-translated) - (set-mark pt) - (activate-mark)) (cl-destructuring-bind (_bol _bot eot eol) (doom--bol-bot-eot-eol pt) (cond ((< pt eot) diff --git a/modules/config/default/config.el b/modules/config/default/config.el index b4362a49a..9ca48370a 100644 --- a/modules/config/default/config.el +++ b/modules/config/default/config.el @@ -378,10 +378,12 @@ ;; A Doom convention where C-s on popups and interactive searches will invoke ;; ivy/helm for their superior filtering. - (define-key! :keymaps +default-minibuffer-maps - "C-s" (if (featurep! :completion ivy) - #'counsel-minibuffer-history - #'helm-minibuffer-history)) + (when-let (command (cond ((featurep! :completion ivy) + #'counsel-minibuffer-history) + ((featurep! :completion helm) + #'helm-minibuffer-history))) + (define-key! :keymaps +default-minibuffer-maps + "C-s" command)) ;; Smarter C-a/C-e for both Emacs and Evil. C-a will jump to indentation. ;; Pressing it again will send you to the true bol. Same goes for C-e, except From 18d7064384fe4a98598c85d86ac79d0f70b09681 Mon Sep 17 00:00:00 2001 From: James Ravn Date: Sat, 28 Mar 2020 10:13:44 +0000 Subject: [PATCH 084/423] Add default gnome support for org +dragndrop By default Gnome based distros (like Ubuntu) have `gnome-screenshot` installed. This change modifies `+dragndrop` to support gnome-screenshot by default. --- modules/lang/org/contrib/dragndrop.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/lang/org/contrib/dragndrop.el b/modules/lang/org/contrib/dragndrop.el index 8be0a2f59..84e2671e1 100644 --- a/modules/lang/org/contrib/dragndrop.el +++ b/modules/lang/org/contrib/dragndrop.el @@ -29,7 +29,8 @@ (cond (IS-MAC "screencapture -i %s") (IS-LINUX (cond ((executable-find "maim") "maim -s %s") - ((executable-find "scrot") "scrot -s %s"))))) + ((executable-find "scrot") "scrot -s %s") + ((executable-find "gnome-screenshot") "gnome-screenshot -a -f %s"))))) ;; Handle non-image files a little differently. Images should be inserted ;; as-is, as image previews. Other files, like pdfs or zips, should be linked From b7ba3fec56e2d67cf4633bc26d6b7dca1ca74627 Mon Sep 17 00:00:00 2001 From: "M. Yas. Davoodeh" Date: Sat, 28 Mar 2020 16:06:11 +0430 Subject: [PATCH 085/423] Add dart to `init.example.el` --- init.example.el | 1 + 1 file changed, 1 insertion(+) diff --git a/init.example.el b/init.example.el index 7e970506d..a6f3f5d3e 100644 --- a/init.example.el +++ b/init.example.el @@ -114,6 +114,7 @@ ;;crystal ; ruby at the speed of c ;;csharp ; unity, .NET, and mono shenanigans data ; config/data formats + ;;(dart +flutter) ; paint ui and not much else ;;elixir ; erlang done right ;;elm ; care for a cup of TEA? emacs-lisp ; drown in parentheses From cf180bea9222e9867ab95324b6ffef2f1b6e94b8 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 28 Mar 2020 20:08:24 -0400 Subject: [PATCH 086/423] Remove ivy-erlang-complete It's redundant with company-erlang, which uses ivy-erlang-complete as a backend anyhow. Fixes #2786 --- modules/lang/erlang/config.el | 21 ++++++++------------- modules/lang/erlang/packages.el | 2 -- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/modules/lang/erlang/config.el b/modules/lang/erlang/config.el index 2c0773b5d..f597eb937 100644 --- a/modules/lang/erlang/config.el +++ b/modules/lang/erlang/config.el @@ -3,7 +3,10 @@ (use-package! erlang :mode ("\\.erlang\\'" . erlang-mode) :mode ("/rebar\\.config\\(?:\\.script\\)?\\'" . erlang-mode) - :mode ("/\\(?:app\\|sys\\)\\.config\\'" . erlang-mode)) + :mode ("/\\(?:app\\|sys\\)\\.config\\'" . erlang-mode) + :config + (when (featurep! +lsp) + (add-hook 'erlang-mode-local-vars-hook #'lsp!))) (use-package! flycheck-rebar3 @@ -12,18 +15,10 @@ :config (flycheck-rebar3-setup)) -(use-package! ivy-erlang-complete - :when (featurep! :completion ivy) - :hook (erlang-mode . ivy-erlang-complete-init) - :config - (add-hook! 'erlang-mode-hook - (add-hook 'after-save-hook #'ivy-erlang-complete-reparse nil t))) - - (use-package! company-erlang :when (featurep! :completion company) :unless (featurep! +lsp) - :hook (erlang-mode . company-erlang-init)) - -(when (featurep! +lsp) - (add-hook 'erlang-mode-local-vars-hook #'lsp!)) + :hook (erlang-mode . company-erlang-init) + :config + (add-hook! 'erlang-mode-hook + (add-hook 'after-save-hook #'ivy-erlang-complete-reparse nil t))) diff --git a/modules/lang/erlang/packages.el b/modules/lang/erlang/packages.el index 49a25d6fb..35612b741 100644 --- a/modules/lang/erlang/packages.el +++ b/modules/lang/erlang/packages.el @@ -5,7 +5,5 @@ (when (featurep! :checkers syntax) (package! flycheck-rebar3 :pin "3cca1268c5")) (unless (featurep! +lsp) - (when (featurep! :completion ivy) - (package! ivy-erlang-complete :pin "c443dba0c4")) (when (featurep! :completion company) (package! company-erlang :pin "bc0524a16f"))) From 064603f6e693211952cc1dfb91396da0e7d8131e Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sat, 28 Mar 2020 20:08:53 -0400 Subject: [PATCH 087/423] Only bind C-s in minibuffer if ivy/helm are available --- modules/config/default/+evil-bindings.el | 5 +---- modules/config/default/config.el | 5 ++++- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/modules/config/default/+evil-bindings.el b/modules/config/default/+evil-bindings.el index 79802177f..bacc14e55 100644 --- a/modules/config/default/+evil-bindings.el +++ b/modules/config/default/+evil-bindings.el @@ -6,10 +6,7 @@ ;; Minibuffer (define-key! evil-ex-completion-map "C-a" #'evil-beginning-of-line - "C-b" #'evil-backward-char - "C-s" (if (featurep! :completion ivy) - #'counsel-minibuffer-history - #'helm-minibuffer-history)) + "C-b" #'evil-backward-char) (define-key! :keymaps +default-minibuffer-maps [escape] #'abort-recursive-edit diff --git a/modules/config/default/config.el b/modules/config/default/config.el index 9ca48370a..490ec2a14 100644 --- a/modules/config/default/config.el +++ b/modules/config/default/config.el @@ -382,7 +382,10 @@ #'counsel-minibuffer-history) ((featurep! :completion helm) #'helm-minibuffer-history))) - (define-key! :keymaps +default-minibuffer-maps + (define-key! + :keymaps (append +default-minibuffer-maps + (when (featurep! :editor evil +everywhere) + '(evil-ex-completion-map))) "C-s" command)) ;; Smarter C-a/C-e for both Emacs and Evil. C-a will jump to indentation. From cc0a2a830b76db017cd39279457fb974d0b4317e Mon Sep 17 00:00:00 2001 From: Akhil Wali Date: Sun, 29 Mar 2020 18:21:05 +1300 Subject: [PATCH 088/423] Update god-mode version pin --- modules/editor/god/packages.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/editor/god/packages.el b/modules/editor/god/packages.el index f5455d0d8..277783bc3 100644 --- a/modules/editor/god/packages.el +++ b/modules/editor/god/packages.el @@ -1,4 +1,4 @@ ;; -*- no-byte-compile: t; -*- ;;; editor/god/packages.el -(package! god-mode :pin "344167ed9b") +(package! god-mode :pin "b82ce18ae4") From 503321515049a8890fd48e8823a29f6f2a469753 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 29 Mar 2020 01:29:27 -0400 Subject: [PATCH 089/423] Fix #2789: wrong init hooks for irony & rtags --- modules/lang/cc/config.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/lang/cc/config.el b/modules/lang/cc/config.el index 438085637..5bdcdf008 100644 --- a/modules/lang/cc/config.el +++ b/modules/lang/cc/config.el @@ -40,7 +40,7 @@ This is ignored by ccls.") ;; set up before the likes of irony/lsp are initialized. Also, we use ;; local-vars hooks to ensure these only run in their respective major modes, ;; and not their derived modes. - :hook ((after-c-mode after-c++-mode after-objc-mode) . +cc-init-ffap-integration-h) + :hook ((c-mode-local-vars c++-mode-local-vars objc-mode-local-vars) . +cc-init-ffap-integration-h) ;;; Improve fontification in C/C++ (also see `modern-cpp-font-lock') :hook (c-mode-common . rainbow-delimiters-mode) :hook ((c-mode c++-mode) . +cc-fontify-constants-h) @@ -120,7 +120,7 @@ This is ignored by ccls.") :hook (irony-mode . +cc-init-irony-compile-options-h) ;; Only initialize `irony-mode' if the server is available. Otherwise fail ;; quietly and gracefully. - :hook ((after-c-mode after-c++-mode after-objc-mode) . +cc-init-irony-mode-maybe-h) + :hook ((c-mode-local-vars c++-mode-local-vars objc-mode-local-vars) . +cc-init-irony-mode-maybe-h) :preface (setq irony-server-install-prefix (concat doom-etc-dir "irony-server/")) :config (defun +cc-init-irony-mode-maybe-h () @@ -171,7 +171,7 @@ This is ignored by ccls.") (use-package! rtags :unless (featurep! +lsp) ;; Only initialize rtags-mode if rtags and rdm are available. - :hook ((after-c-mode after-c++-mode after-objc-mode) . +cc-init-rtags-maybe-h) + :hook ((c-mode-local-vars c++-mode-local-vars objc-mode-local-vars) . +cc-init-rtags-maybe-h) :preface (setq rtags-install-path (concat doom-etc-dir "rtags/")) :config (defun +cc-init-rtags-maybe-h () From 8a87351554745e61df0cde02d74c2464104188b8 Mon Sep 17 00:00:00 2001 From: xeijin Date: Sun, 29 Mar 2020 22:14:41 +0100 Subject: [PATCH 090/423] enable comint mode for terraform apply terraform apply requires typing 'yes' to actually execute the change --- modules/tools/terraform/config.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/tools/terraform/config.el b/modules/tools/terraform/config.el index 897bb712f..39b09aa3f 100644 --- a/modules/tools/terraform/config.el +++ b/modules/tools/terraform/config.el @@ -7,7 +7,7 @@ (map! :after terraform-mode :map terraform-mode-map :localleader - :desc "terraform apply" "a" (λ! (compile "terraform apply")) + :desc "terraform apply" "a" (λ! (compile "terraform apply" t)) :desc "terraform init" "i" (λ! (compile "terraform init")) :desc "terraform plan" "p" (λ! (compile "terraform plan"))) From 35f18c5e7486e2db307c276497ee995f3e6299ba Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 29 Mar 2020 16:41:01 -0400 Subject: [PATCH 091/423] Temporary fix for Somelauw/evil-markdown#1 --- modules/lang/markdown/config.el | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/modules/lang/markdown/config.el b/modules/lang/markdown/config.el index f549cee33..e7f6e7656 100644 --- a/modules/lang/markdown/config.el +++ b/modules/lang/markdown/config.el @@ -80,6 +80,10 @@ capture, the end position, and the output buffer.") (use-package! evil-markdown :when (featurep! :editor evil +everywhere) :hook (markdown-mode . evil-markdown-mode) + :init + ;; REVIEW Until Somelauw/evil-markdown#1 is resolved: + (defun evil-disable-insert-state-bindings () + evil-disable-insert-state-bindings) :config (add-hook 'evil-markdown-mode-hook #'evil-normalize-keymaps) (map! :map evil-markdown-mode-map From 00a21e98f0b05d9497702395b37fc08522197d11 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 29 Mar 2020 18:28:20 -0400 Subject: [PATCH 092/423] Add +ghcide flag to lang/haskell Closes #2622 --- docs/modules.org | 2 +- modules/lang/haskell/+lsp.el | 10 +++++++--- modules/lang/haskell/README.org | 21 +++++++++++++-------- modules/lang/haskell/config.el | 17 +++++++++++------ 4 files changed, 32 insertions(+), 18 deletions(-) diff --git a/docs/modules.org b/docs/modules.org index 99d3c3a78..c93877eaf 100644 --- a/docs/modules.org +++ b/docs/modules.org @@ -107,7 +107,7 @@ Modules that bring support for a language or group of languages to Emacs. + [[file:../modules/lang/fsharp/README.org][fsharp]] - TODO + [[file:../modules/lang/fstar/README.org][fstar]] - F* support + [[file:../modules/lang/go/README.org][go]] =+lsp= - TODO -+ [[file:../modules/lang/haskell/README.org][haskell]] =+dante +intero +lsp= - TODO ++ [[file:../modules/lang/haskell/README.org][haskell]] =+dante +ghcide +lsp +intero= - TODO + hy - TODO + [[file:../modules/lang/idris/README.org][idris]] - TODO + java =+meghanada +lsp= - TODO diff --git a/modules/lang/haskell/+lsp.el b/modules/lang/haskell/+lsp.el index ae6339d55..16eb89bd6 100644 --- a/modules/lang/haskell/+lsp.el +++ b/modules/lang/haskell/+lsp.el @@ -1,10 +1,14 @@ ;;; lang/haskell/+lsp.el -*- lexical-binding: t; -*- (use-package! lsp-haskell - :after haskell-mode - :init (add-hook 'haskell-mode-hook #'lsp!) + :after lsp-clients + :init (add-hook 'haskell-mode-local-vars #'lsp!) :config (when IS-MAC (setq lsp-haskell-process-path-hie "hie-wrapper")) ;; Does some strange indentation if it pastes in the snippet - (setq-hook! 'haskell-mode-hook yas-indent-line 'fixed)) + (setq-hook! 'haskell-mode-hook yas-indent-line 'fixed) + + (when (featurep! +ghcide) + (setq lsp-haskell-process-path-hie "ghcide" + lsp-haskell-process-args-hie nil))) diff --git a/modules/lang/haskell/README.org b/modules/lang/haskell/README.org index bb4762289..b64d610b7 100644 --- a/modules/lang/haskell/README.org +++ b/modules/lang/haskell/README.org @@ -10,7 +10,8 @@ - [[#plugins][Plugins]] - [[#prerequisites][Prerequisites]] - [[#cabal][Cabal]] - - [[#lsp][LSP]] + - [[#lsp-haskell-ide-engine][LSP (haskell-ide-engine)]] + - [[#lsp-ghcide][LSP (ghcide)]] - [[#stack][Stack]] - [[#haskell-packages][Haskell packages]] - [[#configuration][Configuration]] @@ -18,8 +19,8 @@ - [[#troubleshooting][Troubleshooting]] * Description -This module adds [[https://www.haskell.org/][Haskell]] support, powered by either [[https://github.com/jyp/dante][dante]] (the default), LSP or -[[https://haskell-lang.org/intero][intero]]. +This module adds [[https://www.haskell.org/][Haskell]] support, powered by either [[https://github.com/jyp/dante][dante]] (the default), LSP +(haskell-language-server or ghcide) or [[https://haskell-lang.org/intero][intero]]. + Code completion (~company-ghc~) + Look up documentation (~hoogle~) @@ -41,7 +42,9 @@ Here are a few resources I've found indispensable in my Haskell adventures: + =+dante= Enables dante; a fork of intero aimed at lightweightedness. It doesn't depend on =stack=, supports both ~cabal~-only and ~stack~ projects, but lacks eldoc support. -+ =+lsp= Enables lsp-haskell (this requires the ~:tools lsp~ to be enabled). ++ =+ghcide= Enables LSP support with ghcide (requires the ~:tools lsp~ module). ++ =+lsp= Enables LSP support with haskell-ide-engine (requires the ~:tools lsp~ + module). + =+intero= (Deprecated) Enables intero; a comprehensive, stack-based development environment for Haskell. @@ -53,7 +56,7 @@ Here are a few resources I've found indispensable in my Haskell adventures: + =+lsp= + [[https://github.com/emacs-lsp/lsp-haskell][lsp-haskell]] + =+intero= - + [[https://github.com/chrisdone/intero][intero]] + + [[https://github.com/chrisdone/intero][intero]] =DEPRECATED= * Prerequisites Depending on whether you use Intero, Dante or LSP, your dependencies will @@ -83,7 +86,7 @@ sudo pacman -S cabal-install ghc sudo zypper install cabal-install ghc #+END_SRC -** LSP +** LSP (haskell-ide-engine) You will need =stack= and =git= installed. You will find a comprehensive [[https://github.com/haskell/haskell-ide-engine#installation][install guide for haskell-ide-engine on its @@ -92,7 +95,7 @@ project page]], but here's a TL;DR: *** MacOS haskell-ide-engine must be build and installed manually on MacOS, e.g. -#+BEGIN_SRC emacs-lisp +#+BEGIN_SRC bash git clone https://github.com/haskell/haskell-ide-engine cd haskell-ide-engine make @@ -101,9 +104,11 @@ make *** Arch Linux =haskell-ide-engine-git= is available on the AUR -#+BEGIN_SRC emacs-lisp +#+BEGIN_SRC bash yay -S haskell-ide-engine-git #+END_SRC +** LSP (ghcide) +See https://github.com/digital-asset/ghcide for install instructions. ** Stack To use Intero or LSP, you need =stack=: diff --git a/modules/lang/haskell/config.el b/modules/lang/haskell/config.el index a961d8cc0..689f3b852 100644 --- a/modules/lang/haskell/config.el +++ b/modules/lang/haskell/config.el @@ -3,14 +3,9 @@ (after! projectile (add-to-list 'projectile-project-root-files "stack.yaml")) -;; TODO ghcide? -(cond ((featurep! +intero) (load! "+intero")) ; DEPRECATED - ((featurep! +dante) (load! "+dante")) - ((featurep! +lsp) (load! "+lsp"))) - ;; -;; Common packages +;;; Common packages (after! haskell-mode (setq haskell-process-suggest-remove-import-lines t ; warnings for redundant imports etc @@ -45,3 +40,13 @@ "c" #'haskell-cabal-visit-file "h" #'haskell-hide-toggle "H" #'haskell-hide-toggle-all)) + + +;; +;;; Backends + +(cond ((featurep! +intero) (load! "+intero")) ; DEPRECATED + ((featurep! +dante) (load! "+dante")) + ((or (featurep! +lsp) + (featurep! +ghcide)) + (load! "+lsp"))) From 07e57aa0b8449df327a54c69be06a2eb758bbebe Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 29 Mar 2020 18:37:14 -0400 Subject: [PATCH 093/423] Remove org flags from init.example.el I understand this makes them a mote more difficult to discover, but I'd argue neither +dragndrop or +present are necessary defaults, and this wasn't a comrpehensive list anyway. --- init.example.el | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/init.example.el b/init.example.el index 0860ceab7..55d05cf38 100644 --- a/init.example.el +++ b/init.example.el @@ -137,13 +137,7 @@ ;;nim ; python + lisp at the speed of c ;;nix ; I hereby declare "nix geht mehr!" ;;ocaml ; an objective camel - (org ; organize your plain life in plain text - +dragndrop ; drag & drop files/images into org buffers - ;;+hugo ; use Emacs for hugo blogging - ;;+jupyter ; ipython/jupyter support for babel - ;;+pandoc ; export-with-pandoc support - ;;+pomodoro ; be fruitful with the tomato technique - +present) ; using org-mode for presentations + org ; organize your plain life in plain text ;;perl ; write code no one else can comprehend ;;php ; perl's insecure younger brother ;;plantuml ; diagrams for confusing people more From f28a304abd1b9e13c4e1217211bef305c5f3badc Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 29 Mar 2020 18:48:23 -0400 Subject: [PATCH 094/423] Add +roam submodule to lang/org Closes #2764, #2759 --- docs/modules.org | 2 +- modules/config/default/+evil-bindings.el | 8 ++++++ modules/lang/org/README.org | 1 + modules/lang/org/config.el | 1 + modules/lang/org/contrib/roam.el | 36 ++++++++++++++++++++++++ modules/lang/org/packages.el | 4 +++ 6 files changed, 51 insertions(+), 1 deletion(-) create mode 100644 modules/lang/org/contrib/roam.el diff --git a/docs/modules.org b/docs/modules.org index c93877eaf..abe60842d 100644 --- a/docs/modules.org +++ b/docs/modules.org @@ -122,7 +122,7 @@ Modules that bring support for a language or group of languages to Emacs. + [[file:../modules/lang/nim/README.org][nim]] - TODO + nix - TODO + [[file:../modules/lang/ocaml/README.org][ocaml]] =+lsp= - TODO -+ [[file:../modules/lang/org/README.org][org]] =+brain +dragndrop +gnuplot +hugo +ipython +journal +jupyter +pandoc +pomodoro +present= - TODO ++ [[file:../modules/lang/org/README.org][org]] =+brain +dragndrop +gnuplot +hugo +ipython +journal +jupyter +pandoc +pomodoro +present +roam= - TODO + [[file:../modules/lang/perl/README.org][perl]] - TODO + [[file:../modules/lang/php/README.org][php]] =+lsp= - TODO + plantuml - TODO diff --git a/modules/config/default/+evil-bindings.el b/modules/config/default/+evil-bindings.el index bacc14e55..027fa023e 100644 --- a/modules/config/default/+evil-bindings.el +++ b/modules/config/default/+evil-bindings.el @@ -481,6 +481,14 @@ :desc "Org export to clipboard" "y" #'+org/export-to-clipboard :desc "Org export to clipboard as RTF" "Y" #'+org/export-to-clipboard-as-rich-text + (:when (featurep! :lang org +roam) + (:prefix ("r" . "roam") + :desc "Org Roam" "r" #'org-roam + :desc "Switch to buffer" "b" #'org-roam-switch-to-buffer + :desc "Insert" "i" #'org-roam-insert + :desc "Find file" "f" #'org-roam-find-file + :desc "Show graph" "g" #'org-roam-show-graph)) + (:when (featurep! :lang org +journal) (:prefix ("j" . "journal") :desc "New Entry" "j" #'org-journal-new-entry diff --git a/modules/lang/org/README.org b/modules/lang/org/README.org index 59c3968cb..284f98c5e 100644 --- a/modules/lang/org/README.org +++ b/modules/lang/org/README.org @@ -67,6 +67,7 @@ https://www.mfoot.com/blog/2015/11/22/literate-emacs-configuration-with-org-mode + =+pomodoro= Enables a pomodoro timer for clocking time on tasks. + =+present= Enables integration with reveal.js, beamer and org-tree-slide, so Emacs can be used for presentations. ++ =+roam= Enables org-roam integration. ** Plugins + [[https://github.com/hniksic/emacs-htmlize][htmlize]] diff --git a/modules/lang/org/config.el b/modules/lang/org/config.el index ca68bd125..a5b044a65 100644 --- a/modules/lang/org/config.el +++ b/modules/lang/org/config.el @@ -936,6 +936,7 @@ compelling reason, so..." (if (featurep! +jupyter) (load! "contrib/jupyter")) (if (featurep! +pomodoro) (load! "contrib/pomodoro")) (if (featurep! +present) (load! "contrib/present")) + (if (featurep! +roam) (load! "contrib/roam")) ;; In case the user has eagerly loaded org from their configs (when (and (featurep 'org) diff --git a/modules/lang/org/contrib/roam.el b/modules/lang/org/contrib/roam.el new file mode 100644 index 000000000..f37ab0de4 --- /dev/null +++ b/modules/lang/org/contrib/roam.el @@ -0,0 +1,36 @@ +;;; lang/org/contrib/roam.el -*- lexical-binding: t; -*- +;;;###if (featurep! +roam) + +(use-package! org-roam + :commands (org-roam + org-roam-insert + org-roam-find-file + org-roam-switch-to-buffer + org-roam-show-graph) + :init + (map! :after org + :map org-mode-map + :localleader + :prefix ("m" . "org-roam") + "m" #'org-roam + "i" #'org-roam-insert + "b" #'org-roam-switch-to-buffer + "f" #'org-roam-find-file + "g" #'org-roam-show-graph + "i" #'org-roam-insert) + :config + (setq org-roam-directory org-directory) + (org-roam-mode +1)) + + +;; Since the org module lazy loads org-protocol (waits until an org URL is +;; detected), we can safely chain `org-roam-protocol' to it. +(use-package! org-roam-protocol + :after org-protocol) + + +(use-package company-org-roam + :when (featurep! :completion company) + :after org-roam + :config + (set-company-backend! 'org-mode '(company-org-roam company-yasnippet company-dabbrev))) diff --git a/modules/lang/org/packages.el b/modules/lang/org/packages.el index 11602b2a5..38ae00b77 100644 --- a/modules/lang/org/packages.el +++ b/modules/lang/org/packages.el @@ -73,6 +73,10 @@ (package! ox-reveal :pin "ea8b502170")) (when (featurep! +journal) (package! org-journal :pin "664c08e12c")) +(when (featurep! +roam) + (package! org-roam :pin "b86d2c8637") + (when (featurep! :completion company) + (package! company-org-roam :pin "0d14bf56f5"))) ;;; Babel (package! ob-async :pin "80a30b96a0") From f5ba1c4688b50b4844402b41a7586bd0690847e0 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 29 Mar 2020 18:52:40 -0400 Subject: [PATCH 095/423] Remove defunct :app regex module It never worked and was an eternal WIP. Can probably be replaced or rewritten later using https://github.com/k-talo/foreign-regexp.el --- modules/app/regex/autoload/export.el | 14 -- modules/app/regex/autoload/regex.el | 272 --------------------------- modules/app/regex/config.el | 51 ----- 3 files changed, 337 deletions(-) delete mode 100644 modules/app/regex/autoload/export.el delete mode 100644 modules/app/regex/autoload/regex.el delete mode 100644 modules/app/regex/config.el diff --git a/modules/app/regex/autoload/export.el b/modules/app/regex/autoload/export.el deleted file mode 100644 index 90fbff748..000000000 --- a/modules/app/regex/autoload/export.el +++ /dev/null @@ -1,14 +0,0 @@ -;;; app/regex/autoload/export.el - -;;;###autoload -(defun +regex/export () (interactive)) ; TODO +regex/export - - -;; -(defun +regex-export-python ()) ; import (re|regex) - -(defun +regex-export-php ()) ; preg_(match(_all)?|replace) - -(defun +regex-export-ruby ()) ; %r[.+] - -(defun +regex-export-js ()) ; /.+/ diff --git a/modules/app/regex/autoload/regex.el b/modules/app/regex/autoload/regex.el deleted file mode 100644 index 0df6b7994..000000000 --- a/modules/app/regex/autoload/regex.el +++ /dev/null @@ -1,272 +0,0 @@ -;;; app/regex/autoload/regex.el - -(defvar +regex--text-buffer nil) -(defvar +regex--text-replace-buffer nil) -(defvar +regex--expr-buffer nil) -(defvar +regex--expr-replace-buffer nil) -(defvar +regex--groups-buffer nil) -(defvar +regex--replace-buffer nil) - -;; -(defface +regex-match-0-face - `((t (:foreground "Black" :background ,(doom-color 'magenta) :bold t))) - "TODO" - :group 'faces) - -(defface +regex-match-1-face - `((t (:foreground "Black" :background ,(doom-color 'blue) :bold t))) - "TODO" - :group 'faces) - -(defface +regex-match-2-face - `((t (:foreground "Black" :background ,(doom-color 'green) :bold t))) - "TODO" - :group 'faces) - -(defvar +regex-faces - '(+regex-match-0-face +regex-match-1-face +regex-match-2-face) - "TODO") - -;; -(defvar +regex-mode-map - (let ((map (make-sparse-keymap))) - (define-key map "\C-c\C-c" #'+regex-update-buffers) - (define-key map "\C-c\C-r" #'=regex/replace) - (define-key map "\C-c\C-k" #'+regex/quit) - (define-key map [remap kill-current-buffer] #'+regex/quit) - (define-key map [remap kill-buffer] #'+regex/quit) - map) - "TODO") - -;;;###autoload -(define-minor-mode +regex-mode - "TODO" - :init-value nil - :global nil - :lighter "" - :keymap +regex-mode-map - (if +regex-mode - (add-hook 'after-change-functions #'+regex-update-buffers nil t) - (remove-hook 'after-change-functions #'+regex-update-buffers t))) - -;;;###autoload -(defun =regex (&optional dummy-text) - "Start the Regex IDE." - (interactive "P") - (unless (buffer-live-p +regex--expr-buffer) - (condition-case ex - (progn - (setq +regex--expr-buffer (get-buffer-create "*doom-regex*") - +regex--text-buffer (if dummy-text (get-buffer-create "*doom-regex-text*") (current-buffer)) - +regex--groups-buffer (get-buffer-create "*doom-regex-groups*")) - (when dummy-text - (+workspace-switch +regex-workspace-name t) - (switch-to-buffer +regex--text-buffer) - (with-current-buffer +regex--text-buffer - (insert +regex-dummy-text))) - (pop-to-buffer +regex--groups-buffer) - (pop-to-buffer +regex--expr-buffer) - (with-current-buffer +regex--expr-buffer - (conf-mode) - (rainbow-delimiters-mode +1) - (doom/toggle-line-numbers +1) - (setq-local require-final-newline nil) - (+regex-mode +1) - (text-scale-set 3))) - ('error - (+regex/quit) - (error "Failed to open the Regexp IDE: %s" ex))))) - -;;;###autoload -(defun =regex/replace () - (interactive) - (unless (buffer-live-p +regex--replace-buffer) - (let (text) - (=regex t) - (with-selected-window (get-buffer-window +regex--text-buffer) - (setq text (buffer-string)) - (select-window (split-window-right)) - (switch-to-buffer (get-buffer-create "*doom-regex-text-repl*")) - (erase-buffer) - (insert text) - (read-only-mode +1) - (setq +regex--text-replace-buffer (current-buffer))) - (with-current-buffer +regex--expr-buffer - (select-window (split-window-right)) - (switch-to-buffer (get-buffer-create "*doom-regex-repl*")) - (conf-mode) - (rainbow-delimiters-mode +1) - (doom/toggle-line-numbers -1) - (setq-local require-final-newline nil) - (setq mode-line-format nil - +regex--expr-replace-buffer (current-buffer)) - (+regex-mode +1) - (text-scale-set 3))))) - -;;;###autoload -(defun +regex/quit () - "TODO" - (interactive) - (when (and +regex--text-buffer (buffer-live-p +regex--text-buffer)) - (with-current-buffer +regex--text-buffer - (+regex-mode -1) - (remove-overlays nil nil 'category '+regex)) - (when (equal (buffer-name +regex--text-buffer) "*doom-regex-text*") - (kill-buffer +regex--text-buffer))) - (when (equal (+workspace-current-name) +regex-workspace-name) - (+workspace/delete +regex-workspace-name)) - (mapc (lambda (bufname) - (let ((buf (symbol-value bufname))) - (when (and buf (buffer-live-p buf)) - (kill-buffer buf) - (set bufname nil)))) - (list '+regex--text-replace-buffer - '+regex--expr-replace-buffer - '+regex--expr-buffer - '+regex--groups-buffer - '+regex--replace-buffer))) - -(defun +regex--expr () - (when (buffer-live-p +regex--expr-buffer) - (with-current-buffer +regex--expr-buffer - (string-trim (buffer-string))))) - -(defun +regex--expr-replace () - (when (buffer-live-p +regex--expr-replace-buffer) - (with-current-buffer +regex--expr-replace-buffer - (string-trim (buffer-string))))) - -;;;###autoload -(defun +regex-update-buffers (&optional beg end len) - (interactive) - (let* ((inhibit-read-only t) - (regex (or (+regex--expr) "")) - (replace (or (+regex--expr-replace) "")) - (str (or (with-current-buffer +regex--text-buffer (buffer-string)) ""))) - (with-current-buffer +regex--groups-buffer - (erase-buffer)) - (with-current-buffer +regex--text-buffer - (remove-overlays nil nil 'category '+regex) - (when (> (length regex) 0) - (save-excursion - (goto-char (point-min)) - (pcase +regex-default-backend - ('emacs (+regex-backend-emacs regex replace str)) - ('perl (+regex-backend-perl regex replace str)))))) - (with-current-buffer +regex--groups-buffer - (goto-char (point-min))))) - - -;; --- backends --------------------------- - -(defun +regex--render-perl (regex text) - "From " - (with-temp-buffer - (insert (format "@lines = ; -$line = join(\"\", @lines); -print \"(\"; -while ($line =~ m/%s/gm) { - print \"(\", length($`), \" \", length($&), \" \"; - for $i (1 .. 20) { - if ($$i) { - my $group = $$i; - $group =~ s/([\\\\\"])/\\\\\\1/g; - print \"(\", $i, \" . \\\"\", $group, \"\\\") \"; - } - } - print \")\"; -} -print \")\"; -__DATA__ -%s" (replace-regexp-in-string "/" "\\/" regex nil t) text)) - (call-process-region (point-min) (point-max) "perl" t t) - (goto-char (point-min)) - (read (current-buffer)))) - -(defun +regex--replace-perl (regex replace text) - (unless (or (string-empty-p regex) - (string-empty-p replace) - (string-empty-p text)) - (with-temp-buffer - (insert (format "@lines = ; -$line = join(\"\", @lines); -$line =~ s/%s/%s/gm; -print $line; -__DATA__ -%s" (replace-regexp-in-string "/" "\\/" regex nil t) (replace-regexp-in-string "/" "\\/" replace nil t) text)) - (call-process-region (point-min) (point-max) "perl" t t) - (buffer-string)))) - -;;;###autoload -(defun +regex-backend-perl (regex replace str) - "TODO" - (cl-assert (stringp regex)) - (cl-assert (stringp replace)) - (cl-assert (stringp str)) - (let ((i 0) - (results (+regex--render-perl regex str))) - (when (buffer-live-p +regex--text-replace-buffer) - (let ((replace (+regex--replace-perl regex replace str))) - (with-current-buffer +regex--text-replace-buffer - (erase-buffer) - (insert - (if (and (listp results) - replace - (not (string-empty-p replace))) - replace - str))))) - (dolist (result (if (listp results) results)) - (let* ((offset (nth 0 result)) - (length (nth 1 result)) - (matches (nthcdr 2 result)) - (ov (make-overlay (1+ offset) (+ offset length 1)))) - (overlay-put ov 'face (nth (mod i 3) +regex-faces)) - (overlay-put ov 'category '+regex) - (cl-incf i) - (let* ((match-zero (buffer-substring (1+ offset) (+ offset length 1))) - (line (format "Match: %s\n" (propertize match-zero 'face 'font-lock-string-face)))) - (with-current-buffer +regex--groups-buffer - (insert line))) - (dolist (match matches) - (with-current-buffer +regex--groups-buffer - (goto-char (point-max)) - (insert (format "Group %d: %s\n" - (propertize (car match) 'face 'font-lock-constant-face) - (propertize (cdr match) 'face 'font-lock-string-face))))) - (with-current-buffer +regex--groups-buffer - (insert ?\n)))))) - -;;;###autoload -(defun +regex-backend-emacs (regex replace str) - "TODO" - (cl-assert (stringp regex)) - (cl-assert (stringp replace)) - (cl-assert (stringp str)) - (let ((i 0) - pos) - (when (buffer-live-p +regex--text-replace-buffer) - (with-current-buffer +regex--text-replace-buffer - (erase-buffer) - (insert str) - (when (and (listp results) (string-empty-p replace)) - (replace-regexp regex replace)))) - (while (and (setq pos (point)) - (re-search-forward regex nil t)) - (if (= (point) pos) - (forward-char 1) - (let ((ov (make-overlay (match-beginning 0) (match-end 0)))) - (overlay-put ov 'face (nth (mod i 3) +regex-faces)) - (overlay-put ov 'category '+regex)) - (cl-incf i) - (dotimes (i 10) - (when-let (text (match-string i)) - (save-match-data - (with-current-buffer +regex--groups-buffer - (goto-char (point-max)) - (insert - (format "Group %d: %s\n" - (propertize i 'face 'font-lock-constant-face) - (propertize text 'face 'font-lock-string-face))))))) - (with-current-buffer +regex--groups-buffer - (insert ?\n)))))) - diff --git a/modules/app/regex/config.el b/modules/app/regex/config.el deleted file mode 100644 index 595d619e4..000000000 --- a/modules/app/regex/config.el +++ /dev/null @@ -1,51 +0,0 @@ -;;; app/regex/config.el - -;; Often, I find myself writing regular expressions that could terrify seasoned -;; programmers (or little children). To hone my regex fu, I need a regex -;; playground. Sure, there's regexr.com, but don't be silly, that's not Emacs. -;; -;; Sadly, the Emacs' regex syntax is niche and lacks support for a few -;; questionably useful features, like lookaround assertions, conditionals, case -;; modifiers or backreferences, among others. No, I want PCRE. I am going to -;; have my cake and eat it too, damn it! -;; -;; Workflow: -;; + Invoke `=regex' (if opened with C-u, opens in separate workspace with a -;; dummy text buffer). -;; + A regex window will popup up. Any matches will be highlighted in the -;; original buffer. -;; + C-c C-k to close it -;; + TODO C-c C-e to export to various langauges -;; -;; WARNING: THIS IS A WORK IN PROGRESS - -(defvar +regex-workspace-name "*regex*" - "TODO") - -(defvar +regex-default-backend 'perl - "The backend used to process regular expressions. -The `emacs' backend handles regular expressions directly. -The `perl' backend talks to a perl subprocess to do the handling.") - -(defvar +regex-dummy-text - "Welcome to DOOM Emacs, proudly hosted by the demons of hell! - -Edit the Expression & Text to see matches. Roll over matches or the expression -for details. Undo mistakes with ctrl-z. Save Favorites & Share expressions with -friends or the Community. Explore your results with Tools. A full Reference & -Help is available in the Library, or watch the video Tutorial. - -Sample text for testing: -abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ -0123456789 _+-.,!@#$%^&*();\/|<>\"' -12345 -98.7 3.141 .6180 9,000 +42 -555.123.4567 +1-(800)-555-2468 -foo@demo.net bar.ba@test.co.uk -www.demo.com http://foo.co.uk/ -http://regexr.com/foo.html?q=bar -https://mediatemple.net" - "TODO") - -(set-popup-rules! - '(("^\\*doom-regex\\*$" :size 4 :quit nil) - ("^\\*doom-regex-groups" :side 'left :size 28 :select nil :quit nil))) From 3a370343e221ed5950688775dc7d0d8d9c6abe97 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 29 Mar 2020 19:15:58 -0400 Subject: [PATCH 096/423] Fix #2654: switch back to org-re-reveal org-reveal is no longer maintained. org-re-reveal also possesses more features. --- modules/lang/org/contrib/present.el | 9 ++------- modules/lang/org/packages.el | 6 +++--- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/modules/lang/org/contrib/present.el b/modules/lang/org/contrib/present.el index cf4b6a461..a92ff6572 100644 --- a/modules/lang/org/contrib/present.el +++ b/modules/lang/org/contrib/present.el @@ -11,15 +11,10 @@ ;; ;;; Packages -(use-package! ox-reveal +(use-package! org-re-reveal :after ox :init - ;; Fix #1127, where ox-reveal adds an errant entry to - ;; `org-structure-template-alist' - (setq org-reveal-note-key-char nil) - :config - (setq org-reveal-root "https://cdn.jsdelivr.net/npm/reveal.js@3/" - org-reveal-mathjax t)) + (setq org-re-reveal-root "https://revealjs.com")) (use-package! org-tree-slide diff --git a/modules/lang/org/packages.el b/modules/lang/org/packages.el index 38ae00b77..172e78328 100644 --- a/modules/lang/org/packages.el +++ b/modules/lang/org/packages.el @@ -63,6 +63,8 @@ (package! ob-ipython :pin "7147455230")) (when (featurep! +jupyter) (package! jupyter :pin "de7af256a9")) +(when (featurep! +journal) + (package! org-journal :pin "664c08e12c")) (when (featurep! +pomodoro) (package! org-pomodoro :pin "aa07c11318")) (when (featurep! +present) @@ -70,9 +72,7 @@ :recipe (:host github :repo "anler/centered-window-mode") :pin "24f7c5be9d") (package! org-tree-slide :pin "7bf09a02bd") - (package! ox-reveal :pin "ea8b502170")) -(when (featurep! +journal) - (package! org-journal :pin "664c08e12c")) + (package! org-re-reveal :pin "e4460a98b6")) (when (featurep! +roam) (package! org-roam :pin "b86d2c8637") (when (featurep! :completion company) From 33b95c628a39297e97461e01f1623930d24ff689 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 29 Mar 2020 19:40:03 -0400 Subject: [PATCH 097/423] Add lang/sml module Closes #1947 --- docs/modules.org | 1 + init.example.el | 1 + modules/lang/sml/README.org | 39 ++++++++++++++++++++++++++++++++++++ modules/lang/sml/config.el | 27 +++++++++++++++++++++++++ modules/lang/sml/packages.el | 8 ++++++++ 5 files changed, 76 insertions(+) create mode 100644 modules/lang/sml/README.org create mode 100644 modules/lang/sml/config.el create mode 100644 modules/lang/sml/packages.el diff --git a/docs/modules.org b/docs/modules.org index abe60842d..d0fa65e86 100644 --- a/docs/modules.org +++ b/docs/modules.org @@ -136,6 +136,7 @@ Modules that bring support for a language or group of languages to Emacs. + scala =+lsp= - TODO + [[file:../modules/lang/scheme/README.org][scheme]] - TODO + [[file:../modules/lang/sh/README.org][sh]] =+fish +lsp= - TODO ++ [[file:../modules/lang/sml/README.org][sml]] - TODO + [[file:../modules/lang/solidity/README.org][solidity]] - TODO + swift =+lsp= - TODO + terra - TODO diff --git a/init.example.el b/init.example.el index 55d05cf38..25bf97f3f 100644 --- a/init.example.el +++ b/init.example.el @@ -152,6 +152,7 @@ ;;scala ; java, but good ;;scheme ; a fully conniving family of lisps sh ; she sells {ba,z,fi}sh shells on the C xor + ;;sml ;;solidity ; do you need a blockchain? No. ;;swift ; who asked for emoji variables? ;;terra ; Earth and Moon in alignment for performance. diff --git a/modules/lang/sml/README.org b/modules/lang/sml/README.org new file mode 100644 index 000000000..66543cda6 --- /dev/null +++ b/modules/lang/sml/README.org @@ -0,0 +1,39 @@ +#+TITLE: lang/sml +#+DATE: March 29, 2020 +#+SINCE: v3.0 +#+STARTUP: inlineimages nofold + +* Table of Contents :TOC_3:noexport: +- [[#description][Description]] + - [[#maintainers][Maintainers]] + - [[#module-flags][Module Flags]] + - [[#plugins][Plugins]] +- [[#prerequisites][Prerequisites]] +- [[#features][Features]] +- [[#configuration][Configuration]] +- [[#troubleshooting][Troubleshooting]] + +* Description +This module has no description yet. + +** Maintainers +This module has no dedicated maintainers. + +** Module Flags +This module provides no flags. + +** Plugins ++ sml-mode ++ company-mlton (=:completion company=) + +* TODO Prerequisites +# Document how to install sml program and MLton + +* TODO Features +# An in-depth list of features, how to use them, and their dependencies. + +* TODO Configuration +# How to configure this module, including common problems and how to address them. + +* TODO Troubleshooting +# Common issues and their solution, or places to look for help. diff --git a/modules/lang/sml/config.el b/modules/lang/sml/config.el new file mode 100644 index 000000000..4b6f62690 --- /dev/null +++ b/modules/lang/sml/config.el @@ -0,0 +1,27 @@ +;;; lang/sml/config.el -*- lexical-binding: t; -*- + +(use-package! sml-mode + :mode "\\.s\\(?:ml\\|ig\\)\\'" + :config + (set-repl-handler! 'sml-mode #'run-sml) + + ;; don't auto-close apostrophes (type 'a = foo) and backticks (`Foo) + (sp-with-modes 'sml-mode + (sp-local-pair "'" nil :actions nil) + (sp-local-pair "`" nil :actions nil)) + + (map! :map sml-mode-map + :i "RET" #'reindent-then-newline-and-indent + :i "M-SPC" #'sml-electric-space + :i "|" #'sml-electric-pipe + :localleader + :desc "Run SML" "'" #'run-sml + :prefix ("e" . "eval") + :desc "Run buffer" "b" #'sml-prog-proc-send-buffer + :desc "Run the paragraph" "f" #'sml-send-function + :desc "Run region" "r" #'sml-prog-proc-send-region)) + + +(use-package! company-mlton + :when (featurep! :completion company) + :hook (sml-mode . company-mlton-init)) diff --git a/modules/lang/sml/packages.el b/modules/lang/sml/packages.el new file mode 100644 index 000000000..38c9ef76a --- /dev/null +++ b/modules/lang/sml/packages.el @@ -0,0 +1,8 @@ +;; -*- no-byte-compile: t; -*- +;;; lang/sml/packages.el + +(package! sml-mode :pin "60b01d7ebc") +(when (featurep! :completion company) + (package! company-mlton + :recipe (:host github :repo "MatthewFluet/company-mlton" :files ("*.el" "*.basis")) + :pin "b87e36348f")) From 5ce85b12d0898ae8ffa548db6539f276a9c06573 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Sun, 29 Mar 2020 22:04:15 -0400 Subject: [PATCH 098/423] use-package -> use-package! Mentioned in #2764 --- modules/lang/org/contrib/roam.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/lang/org/contrib/roam.el b/modules/lang/org/contrib/roam.el index f37ab0de4..142c3bdd0 100644 --- a/modules/lang/org/contrib/roam.el +++ b/modules/lang/org/contrib/roam.el @@ -29,7 +29,7 @@ :after org-protocol) -(use-package company-org-roam +(use-package! company-org-roam :when (featurep! :completion company) :after org-roam :config From 169eb2dadd121e7492fd691c74735be1b27f7486 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Mon, 30 Mar 2020 00:20:05 -0400 Subject: [PATCH 099/423] Fix #2744: remove :t[mux] & :tcd ex commands They were shadowing :t, a default ex command. --- modules/editor/evil/+commands.el | 2 -- 1 file changed, 2 deletions(-) diff --git a/modules/editor/evil/+commands.el b/modules/editor/evil/+commands.el index 69b9082ba..1c9de22a0 100644 --- a/modules/editor/evil/+commands.el +++ b/modules/editor/evil/+commands.el @@ -28,8 +28,6 @@ ;; TODO (evil-ex-define-cmd "rx" 'doom:regex) ; open re-builder (evil-ex-define-cmd "sh[ell]" #'+eshell:run) -(evil-ex-define-cmd "t[mux]" #'+tmux:run) ; send to tmux -(evil-ex-define-cmd "tcd" #'+tmux:cd-here) ; cd to default-directory in tmux (evil-ex-define-cmd "pad" #'+evil:open-scratch-buffer) ;;; GIT From ad70b820097d53f95cc8b18e7b60228bc5e9c66f Mon Sep 17 00:00:00 2001 From: Kelvin Porter Date: Mon, 30 Mar 2020 03:14:01 -0400 Subject: [PATCH 100/423] org-roam-show-graph -> org-roam-graph-show org-roam-show-graph marked obsolete by org-roam commit 22b9d4b, see https://github.com/jethrokuan/org-roam/pull/363 --- modules/config/default/+evil-bindings.el | 2 +- modules/lang/org/contrib/roam.el | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/config/default/+evil-bindings.el b/modules/config/default/+evil-bindings.el index 027fa023e..913239a52 100644 --- a/modules/config/default/+evil-bindings.el +++ b/modules/config/default/+evil-bindings.el @@ -487,7 +487,7 @@ :desc "Switch to buffer" "b" #'org-roam-switch-to-buffer :desc "Insert" "i" #'org-roam-insert :desc "Find file" "f" #'org-roam-find-file - :desc "Show graph" "g" #'org-roam-show-graph)) + :desc "Show graph" "g" #'org-roam-graph-show)) (:when (featurep! :lang org +journal) (:prefix ("j" . "journal") diff --git a/modules/lang/org/contrib/roam.el b/modules/lang/org/contrib/roam.el index 142c3bdd0..2ac1c7dce 100644 --- a/modules/lang/org/contrib/roam.el +++ b/modules/lang/org/contrib/roam.el @@ -6,7 +6,7 @@ org-roam-insert org-roam-find-file org-roam-switch-to-buffer - org-roam-show-graph) + org-roam-graph-show) :init (map! :after org :map org-mode-map @@ -16,7 +16,7 @@ "i" #'org-roam-insert "b" #'org-roam-switch-to-buffer "f" #'org-roam-find-file - "g" #'org-roam-show-graph + "g" #'org-roam-graph-show "i" #'org-roam-insert) :config (setq org-roam-directory org-directory) From d2efcfbb0c0d0d5ce2f0f6ab40e3b40eb1dad7c9 Mon Sep 17 00:00:00 2001 From: Ivan Kryvoruchko Date: Mon, 30 Mar 2020 22:07:25 +0300 Subject: [PATCH 101/423] Update Clojure module README + Fix linter links to mention the currently used one + Add actual description for the module --- modules/lang/clojure/README.org | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/modules/lang/clojure/README.org b/modules/lang/clojure/README.org index eb1b89438..2d4574690 100644 --- a/modules/lang/clojure/README.org +++ b/modules/lang/clojure/README.org @@ -15,11 +15,14 @@ - [[#troubleshooting][Troubleshooting]] * Description -# A summary of what this module does. +This module adds support for the Clojure(Script) language. -+ If possible, include a brief list of feature highlights here -+ Like code completion, syntax checking or available snippets -+ Include links to packages & external things where possible ++ Interactive development environment (~cider~): REPL, compilation, debugging, + running tests, definitions & documentation lookup, code completion, and many + more ++ Refactoring (~clj-refactor~) ++ Linting (~clj-kondo~), requires ~:checkers syntax~ ++ LSP support ** Maintainers This module has no dedicated maintainers. @@ -30,7 +33,7 @@ This module has no dedicated maintainers. ** Plugins + [[https://github.com/clojure-emacs/cider][cider]] + [[https://github.com/clojure-emacs/clj-refactor.el][clj-refactor]] -+ [[https://github.com/candid82/flycheck-joker][flycheck-joker]] ++ [[https://github.com/borkdude/flycheck-clj-kondo][flycheck-clj-kondo]] ** Hacks + Error messages emitted from CIDER are piped into the REPL buffer when it is @@ -44,8 +47,8 @@ This module requires: + With =+lsp= + clojure-lsp + Without =+lsp= - + leiningen (REPL) - + joker (linter) + + [[https://leiningen.org/][leiningen]] (REPL) + + [[https://github.com/borkdude/clj-kondo][clj-kondo]] (linter) * TODO Features # An in-depth list of features, how to use them, and their dependencies. From cfc66b9b1039d31877eea7c001a3b1b11b47367c Mon Sep 17 00:00:00 2001 From: Peter Hoeg Date: Tue, 31 Mar 2020 10:15:38 +0800 Subject: [PATCH 102/423] grammar/langtool: support setting the path to the binary i/o jar --- modules/checkers/grammar/config.el | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/modules/checkers/grammar/config.el b/modules/checkers/grammar/config.el index 581f207c0..58a505fb5 100644 --- a/modules/checkers/grammar/config.el +++ b/modules/checkers/grammar/config.el @@ -7,7 +7,8 @@ langtool-correct-buffer) :init (setq langtool-default-language "en-US") :config - (unless langtool-language-tool-jar + (unless (or langtool-bin + langtool-language-tool-jar) (setq langtool-language-tool-jar (cond (IS-MAC (locate-file "libexec/languagetool-commandline.jar" From 93c3749350b84695ab786f9da35bfe5178f22702 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 31 Mar 2020 00:59:14 -0400 Subject: [PATCH 103/423] ui/pretty-code: refactor & add README.org #1166 --- docs/modules.org | 2 +- init.example.el | 2 +- modules/ui/pretty-code/README.org | 56 ++++++++++++ modules/ui/pretty-code/autoload/fira.el | 19 ---- modules/ui/pretty-code/autoload/hasklig.el | 28 ------ modules/ui/pretty-code/autoload/install.el | 100 +++++++++++++++++++++ modules/ui/pretty-code/autoload/iosevka.el | 35 -------- modules/ui/pretty-code/config.el | 65 +++++--------- 8 files changed, 180 insertions(+), 127 deletions(-) create mode 100644 modules/ui/pretty-code/README.org delete mode 100644 modules/ui/pretty-code/autoload/fira.el delete mode 100644 modules/ui/pretty-code/autoload/hasklig.el create mode 100644 modules/ui/pretty-code/autoload/install.el delete mode 100644 modules/ui/pretty-code/autoload/iosevka.el diff --git a/docs/modules.org b/docs/modules.org index d0fa65e86..8f9e728c0 100644 --- a/docs/modules.org +++ b/docs/modules.org @@ -191,7 +191,7 @@ Aesthetic modules that affect the Emacs interface or user experience. + [[file:../modules/ui/neotree/README.org][neotree]] - TODO + [[file:../modules/ui/ophints/README.org][ophints]] - TODO + [[file:../modules/ui/popup/README.org][popup]] =+all +defaults= - Makes temporary/disposable windows less intrusive -+ pretty-code - TODO ++ [[file:../modules//ui/pretty-code/README.org][pretty-code]] =+fira +hasklig +iosevka +pragmata-pro= - TODO + [[file:../modules/ui/tabs/README.org][tabs]] - TODO + treemacs - TODO + [[file:../modules/ui/unicode/README.org][unicode]] - TODO diff --git a/init.example.el b/init.example.el index 25bf97f3f..2d61ce29f 100644 --- a/init.example.el +++ b/init.example.el @@ -38,7 +38,7 @@ ;;neotree ; a project drawer, like NERDTree for vim ophints ; highlight the region an operation acts on (popup +defaults) ; tame sudden yet inevitable temporary windows - ;;pretty-code ; replace bits of code with pretty symbols + ;;pretty-code ; ligatures or substitute text with pretty symbols ;;tabs ; an tab bar for Emacs ;;treemacs ; a project drawer, like neotree but cooler ;;unicode ; extended unicode support for various languages diff --git a/modules/ui/pretty-code/README.org b/modules/ui/pretty-code/README.org new file mode 100644 index 000000000..d22e506f7 --- /dev/null +++ b/modules/ui/pretty-code/README.org @@ -0,0 +1,56 @@ +#+TITLE: ui/pretty-code +#+DATE: June 16, 2018 +#+SINCE: v2.0.9 +#+STARTUP: inlineimages nofold + +* Table of Contents :TOC_3:noexport: +- [[#description][Description]] + - [[#maintainers][Maintainers]] + - [[#module-flags][Module Flags]] + - [[#plugins][Plugins]] +- [[#prerequisites][Prerequisites]] +- [[#features][Features]] +- [[#configuration][Configuration]] + - [[#set-pretty-symbols][~set-pretty-symbols!~]] +- [[#troubleshooting][Troubleshooting]] + +* Description +This module enables ligatures and/or arbitrary symbol substitutions with +~prettify-symbols-mode~. + +** Maintainers +This module has no dedicated maintainers. + +** Module Flags ++ =+fira= Enables =Fira Code= ligatures. This requires Fira Code Symbol and a + patched version of Fira Code (see below). ++ =+hasklig= Enable =Hasklig= ligatures. This requires a patched version of the + HaskLig font (see below). ++ =+iosevka= Enable =Iosevka= ligatures. This requires a patched version of the + Iosevka font (see below). ++ =+pragmata-pro= Enable =Pragmata Pro= ligatures. This requires the [[https://www.fsd.it/shop/fonts/pragmatapro/][Pragmata + Pro font]]. + +** Plugins +This module installs no packages. + +* Prerequisites +For ligatures to work, you must: + +1. Enable one of the four ligature font flags: =+fira=, =+hasklig=, =+iosevka= + or =+pragmata-pro=. +2. Install the patched version of the associated font with ~M-x + +pretty-code/install-patched-font~. Note: Pragmata Pro cannot be installed + this way because it isn't a non-free font and must be purchased and installed + manually. + +* TODO Features +# An in-depth list of features, how to use them, and their dependencies. + +* TODO Configuration +# How to configure this module, including common problems and how to address them. + +** TODO ~set-pretty-symbols!~ + +* TODO Troubleshooting +# Common issues and their solution, or places to look for help. diff --git a/modules/ui/pretty-code/autoload/fira.el b/modules/ui/pretty-code/autoload/fira.el deleted file mode 100644 index 2a559cbd9..000000000 --- a/modules/ui/pretty-code/autoload/fira.el +++ /dev/null @@ -1,19 +0,0 @@ -;;; ui/pretty-code/autoload/fira.el -*- lexical-binding: t; -*- - -(defvar +pretty-code--fira-font-names - '("FiraCode-Bold.ttf" - "FiraCode-Light.ttf" - "FiraCode-Medium.ttf" - "FiraCode-Regular.ttf" - "FiraCode-Retina.ttf")) - -;;;###autoload -(defun +pretty-code/install-fira-font (&optional prefix) - "Download and install Fira Code font based on OS. -When prefix is non-nil, ignore the prompt and just install." - (interactive "P") - (+pretty-code--install-font - prefix - "FiraCode" - "https://github.com/tonsky/FiraCode/raw/13234c0/distr/ttf/%s" - +pretty-code--fira-font-names)) diff --git a/modules/ui/pretty-code/autoload/hasklig.el b/modules/ui/pretty-code/autoload/hasklig.el deleted file mode 100644 index 90fc295a6..000000000 --- a/modules/ui/pretty-code/autoload/hasklig.el +++ /dev/null @@ -1,28 +0,0 @@ -;;; ui/pretty-code/autoload/hasklig.el -*- lexical-binding: t; -*- - -(defvar +pretty-code--hasklig-font-names - '("Hasklig-Black.otf" - "Hasklig-BlackIt.otf" - "Hasklig-Bold.otf" - "Hasklig-BoldIt.otf" - "Hasklig-ExtraLight.otf" - "Hasklig-ExtraLightIt.otf" - "Hasklig-It.otf" - "Hasklig-Light.otf" - "Hasklig-LightIt.otf" - "Hasklig-Medium.otf" - "Hasklig-MediumIt.otf" - "Hasklig-Regular.otf" - "Hasklig-Semibold.otf" - "Hasklig-SemiboldIt.otf")) - -;;;###autoload -(defun +pretty-code/install-hasklig-font (&optional prefix) - "Download and install Hasklig font based on OS. -When prefix is non-nil, ignore the prompt and just install." - (interactive "P") - (+pretty-code--install-font - prefix - "Hasklig" - "https://github.com/jsravn/hasklig-emacs/raw/33354a3/%s" - +pretty-code--hasklig-font-names)) diff --git a/modules/ui/pretty-code/autoload/install.el b/modules/ui/pretty-code/autoload/install.el new file mode 100644 index 000000000..1f6e50207 --- /dev/null +++ b/modules/ui/pretty-code/autoload/install.el @@ -0,0 +1,100 @@ +;;; ui/pretty-code/autoload/install.el -*- lexical-binding: t; -*- +;;;###if (or (featurep! +fira) (featurep! +hasklig) (featurep! +iosevka)) + +(defvar +pretty-code-font-alist + '(("Fira Code" + :url "https://github.com/tonsky/FiraCode/raw/13234c0/distr/ttf/%s" + :files ("FiraCode-Bold.ttf" + "FiraCode-Light.ttf" + "FiraCode-Medium.ttf" + "FiraCode-Regular.ttf" + "FiraCode-Retina.ttf")) + ("Hasklig" + :url "https://github.com/jsravn/hasklig-emacs/raw/33354a3/%s" + :files ("Hasklig-Black.otf" + "Hasklig-BlackIt.otf" + "Hasklig-Bold.otf" + "Hasklig-BoldIt.otf" + "Hasklig-ExtraLight.otf" + "Hasklig-ExtraLightIt.otf" + "Hasklig-It.otf" + "Hasklig-Light.otf" + "Hasklig-LightIt.otf" + "Hasklig-Medium.otf" + "Hasklig-MediumIt.otf" + "Hasklig-Regular.otf" + "Hasklig-Semibold.otf" + "Hasklig-SemiboldIt.otf")) + ("Iosevka" + :url "https://github.com/jsravn/iosevka-emacs/raw/20fc2c4/%s" + :files ("iosevka-custom-lightoblique.ttf" + "iosevka-custom-thinoblique.ttf" + "iosevka-custom-mediumitalic.ttf" + "iosevka-custom-light.ttf" + "iosevka-custom-heavy.ttf" + "iosevka-custom-bolditalic.ttf" + "iosevka-custom-bold.ttf" + "iosevka-custom-lightitalic.ttf" + "iosevka-custom-thin.ttf" + "iosevka-custom-extralight.ttf" + "iosevka-custom-oblique.ttf" + "iosevka-custom-italic.ttf" + "iosevka-custom-heavyoblique.ttf" + "iosevka-custom-heavyitalic.ttf" + "iosevka-custom-extralightitalic.ttf" + "iosevka-custom-thinitalic.ttf" + "iosevka-custom-medium.ttf" + "iosevka-custom-mediumoblique.ttf" + "iosevka-custom-extralightoblique.ttf" + "iosevka-custom-boldoblique.ttf" + "iosevka-custom-regular.ttf"))) + "An alist of font metadata for `+pretty-code/install-font'.") + +(defun +pretty-code--install-font (prefix name url-format fonts-alist &optional extra-fonts) + "Install fonts to the local system. + +If PREFIX is nil, will prompt whether or not to download. NAME is informational +only. URL-FORMAT is a format string that should be a url and have a single %s, +which is expanded for each font in FONTS-ALIST. FONTS-ALIST should be the +filename of each font. It is used as the source and destination filename." + (or prefix + (yes-or-no-p + (format "This will download and install the %s fonts, are you +sure you want to do this?" name)) + (user-error "Aborted")) + (let* ((font-dest + (pcase window-system + (`x + (expand-file-name + "/fonts/" (or (getenv "XDG_DATA_HOME") + (concat (getenv "HOME") "/.local/share")))) + ((or `mac `ns) + (expand-file-name "~/Library/Fonts/" )))) + (known-dest? (stringp font-dest)) + (font-dest (or font-dest (read-directory-name "Font installation directory: " "~/")))) + (unless (file-directory-p font-dest) + (mkdir font-dest t)) + (dolist (font fonts-alist) + (url-copy-file (format url-format font) + (expand-file-name font font-dest) + t)) + (when known-dest? + (message "Font downloaded, updating font cache... ") + (shell-command-to-string (format "fc-cache -f -v"))) + (message "Successfully %s `%s' fonts to `%s'!%s" + (if known-dest? "installed" "downloaded") + name + font-dest))) + +;;;###autoload +(defun +pretty-code/install-patched-font (font-name &optional prefix) + "Install FONT-NAME on your system. +When PREFIX is non-nil, ignore the prompt and just install it." + (interactive + (list (completing-read + "Install font: " + (mapcar #'car +pretty-code-font-alist)))) + (if-let (font-files (cdr (assoc font-name +pretty-code-font-alist))) + (cl-destructuring-bind (&keys url files) font-files + (+pretty-code--install-font prefix font-name url font-files)) + (user-error "%S is not a valid font"))) diff --git a/modules/ui/pretty-code/autoload/iosevka.el b/modules/ui/pretty-code/autoload/iosevka.el deleted file mode 100644 index 4fa4f83da..000000000 --- a/modules/ui/pretty-code/autoload/iosevka.el +++ /dev/null @@ -1,35 +0,0 @@ -;;; ui/pretty-code/autoload/iosevka.el -*- lexical-binding: t; -*- - -(defvar +pretty-code--iosevka-font-names - '("iosevka-custom-lightoblique.ttf" - "iosevka-custom-thinoblique.ttf" - "iosevka-custom-mediumitalic.ttf" - "iosevka-custom-light.ttf" - "iosevka-custom-heavy.ttf" - "iosevka-custom-bolditalic.ttf" - "iosevka-custom-bold.ttf" - "iosevka-custom-lightitalic.ttf" - "iosevka-custom-thin.ttf" - "iosevka-custom-extralight.ttf" - "iosevka-custom-oblique.ttf" - "iosevka-custom-italic.ttf" - "iosevka-custom-heavyoblique.ttf" - "iosevka-custom-heavyitalic.ttf" - "iosevka-custom-extralightitalic.ttf" - "iosevka-custom-thinitalic.ttf" - "iosevka-custom-medium.ttf" - "iosevka-custom-mediumoblique.ttf" - "iosevka-custom-extralightoblique.ttf" - "iosevka-custom-boldoblique.ttf" - "iosevka-custom-regular.ttf")) - -;;;###autoload -(defun +pretty-code/install-iosevka-font (&optional prefix) - "Download and install Iosevka font based on OS. -When prefix is non-nil, ignore the prompt and just install." - (interactive "P") - (+pretty-code--install-font - prefix - "Iosevka" - "https://github.com/jsravn/iosevka-emacs/raw/20fc2c4/%s" - +pretty-code--iosevka-font-names)) diff --git a/modules/ui/pretty-code/config.el b/modules/ui/pretty-code/config.el index bb378e39a..fd34c1f1a 100644 --- a/modules/ui/pretty-code/config.el +++ b/modules/ui/pretty-code/config.el @@ -38,6 +38,27 @@ This should not contain any symbols from the Unicode Private Area! There is no universal way of getting the correct symbol as that area varies from font to font.") +(defvar +pretty-code-enabled-modes t + "List of major modes in which `prettify-symbols-mode' should be enabled. +If t, enable it everywhere. If the first element is 'not, enable it in any mode +besides what is listed.") + +(defvar +pretty-code-symbols-alist '((t)) + "An alist containing a mapping of major modes to its value for +`prettify-symbols-alist'.") + + +;; +;;; Packages + +;;;###package prettify-symbols +;; When you get to the right edge, it goes back to how it normally prints +(setq prettify-symbols-unprettify-at-point 'right-edge) + + +;; +;;; Bootstrap + (defun +pretty-code--correct-symbol-bounds (ligature-alist) "Prepend non-breaking spaces to a ligature. @@ -50,14 +71,6 @@ correct width of the symbols instead of the width measured by `char-width'." len (1- len))) (cons (car ligature-alist) acc))) -(defvar +pretty-code-enabled-modes t - "List of major modes in which `prettify-symbols-mode' should be enabled. -If t, enable it everywhere. If the first element is 'not, enable it in any mode -besides what is listed.") - -;; When you get to the right edge, it goes back to how it normally prints -(setq prettify-symbols-unprettify-at-point 'right-edge) - (defun +pretty-code-init-pretty-symbols-h () "Enable `prettify-symbols-mode'. @@ -80,6 +93,7 @@ Otherwise it builds `prettify-code-symbols-alist' according to (prettify-symbols-mode -1)) (prettify-symbols-mode +1)))) + (add-hook 'after-change-major-mode-hook #'+pretty-code-init-pretty-symbols-h) ;; The emacs-mac build of Emacs appear to have built-in support for ligatures, @@ -95,38 +109,3 @@ Otherwise it builds `prettify-code-symbols-alist' according to (load! "+hasklig")) ((featurep! +pragmata-pro) (load! "+pragmata-pro"))) - -(defun +pretty-code--install-font (prefix name url-format fonts-alist) - "Install fonts to the local system. - -If PREFIX is nil, will prompt whether or not to download. NAME is informational only. -URL-FORMAT is a format string that should be a url and have a single %s, which is expanded -for each font in FONTS-ALIST. FONTS-ALIST should be the filename of each font. It is used -as the source and destination filename. -" - (when (or prefix (yes-or-no-p - (format "This will download and install the %s fonts, are you sure you want to do this?" name))) - (let* ((font-dest (cl-case window-system - ;; Linux - (x (concat (or (getenv "XDG_DATA_HOME") - (concat (getenv "HOME") "/.local/share")) - "/fonts/")) - ;; MacOS - (mac (concat (getenv "HOME") "/Library/Fonts/" )) - (ns (concat (getenv "HOME") "/Library/Fonts/" )))) - (known-dest? (stringp font-dest)) - (font-dest (or font-dest (read-directory-name "Font installation directory: " "~/")))) - - (unless (file-directory-p font-dest) (mkdir font-dest t)) - - (dolist (font fonts-alist) - (url-copy-file (format url-format font) (expand-file-name font font-dest) t)) - - (when known-dest? - (message "Font downloaded, updating font cache... ") - (shell-command-to-string (format "fc-cache -f -v"))) - (message "Successfully %s `%s' fonts to `%s'!" - (if known-dest? "installed" "downloaded") - name - font-dest))) - ) From 58f52de9124438c00c667df87a85219a7842757e Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 31 Mar 2020 01:00:05 -0400 Subject: [PATCH 104/423] inhibit-compacting-font-caches = t --- core/core.el | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/core/core.el b/core/core.el index 1e1099663..f7e02131d 100644 --- a/core/core.el +++ b/core/core.el @@ -272,16 +272,16 @@ users).") ;; Don't ping things that look like domain names. (setq ffap-machine-p-known 'reject) +;; Font compacting can be terribly expensive, especially for rendering icon +;; fonts on Windows. Whether it has a noteable affect on Linux and Mac hasn't +;; been determined, but we inhibit it there anyway. +(setq inhibit-compacting-font-caches t) + ;; Performance on Windows is considerably worse than elsewhere, especially if ;; WSL is involved. We'll need everything we can get. (when IS-WINDOWS ;; Reduce the workload when doing file IO - (setq w32-get-true-file-attributes nil) - - ;; Font compacting can be terribly expensive, especially for rendering icon - ;; fonts on Windows. Whether it has a noteable affect on Linux and Mac hasn't - ;; been determined. - (setq inhibit-compacting-font-caches t)) + (setq w32-get-true-file-attributes nil)) ;; Remove command line options that aren't relevant to our current OS; means ;; slightly less to process at startup. From d1c2e7b2349bea713c2b376ab2387f8813b1d6f9 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 31 Mar 2020 01:00:40 -0400 Subject: [PATCH 105/423] Slightly faster incremental loading --- core/core.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/core/core.el b/core/core.el index f7e02131d..bfa35ae11 100644 --- a/core/core.el +++ b/core/core.el @@ -360,12 +360,12 @@ If you want to disable incremental loading altogether, either remove `doom-incremental-first-idle-timer' to nil. Incremental loading does not occur in daemon sessions (they are loaded immediately at startup).") -(defvar doom-incremental-first-idle-timer 2 +(defvar doom-incremental-first-idle-timer 2.0 "How long (in idle seconds) until incremental loading starts. Set this to nil to disable incremental loading.") -(defvar doom-incremental-idle-timer 1.5 +(defvar doom-incremental-idle-timer 0.75 "How long (in idle seconds) in between incrementally loading packages.") (defun doom-load-packages-incrementally (packages &optional now) @@ -406,7 +406,7 @@ intervals." If this is a daemon session, load them all immediately instead." (if (daemonp) (mapc #'require (cdr doom-incremental-packages)) - (when (integerp doom-incremental-first-idle-timer) + (when (numberp doom-incremental-first-idle-timer) (run-with-idle-timer doom-incremental-first-idle-timer nil #'doom-load-packages-incrementally (cdr doom-incremental-packages) t)))) From b8a3cad295dcbed1e9952db240b7ce05e94dd7ae Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 31 Mar 2020 02:04:24 -0400 Subject: [PATCH 106/423] Fix #2798: remove overzealous TAB keybind Evidently, most users do not understand/like how these dispatchers work and file a bug report about it. It's too much hassle to support so I'll move this to my private config. --- modules/config/default/+evil-bindings.el | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/modules/config/default/+evil-bindings.el b/modules/config/default/+evil-bindings.el index 913239a52..a56ee0b2b 100644 --- a/modules/config/default/+evil-bindings.el +++ b/modules/config/default/+evil-bindings.el @@ -39,19 +39,11 @@ (and (featurep! :completion company +tng) (+company-has-completion-p)) #'+company/complete) - :n [tab] (general-predicate-dispatch nil - (and (featurep! :editor fold) - (save-excursion (end-of-line) (invisible-p (point)))) - #'+fold/toggle - (fboundp 'evil-jump-item) - #'evil-jump-item) :v [tab] (general-predicate-dispatch nil (and (bound-and-true-p yas-minor-mode) (or (eq evil-visual-selection 'line) (not (memq (char-after) (list ?\( ?\[ ?\{ ?\} ?\] ?\)))))) - #'yas-insert-snippet - (fboundp 'evil-jump-item) - #'evil-jump-item) + #'yas-insert-snippet) ;; Smarter newlines :i [remap newline] #'newline-and-indent ; auto-indent on newline From 378cab0c167ac8c7f9951fcb6631e7e2212c5cd9 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 31 Mar 2020 02:16:54 -0400 Subject: [PATCH 107/423] Fix 'starts with non-prefix key M-SPC' error Mentioned in #1947 --- modules/lang/sml/config.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/lang/sml/config.el b/modules/lang/sml/config.el index 4b6f62690..515e1c1d6 100644 --- a/modules/lang/sml/config.el +++ b/modules/lang/sml/config.el @@ -12,7 +12,7 @@ (map! :map sml-mode-map :i "RET" #'reindent-then-newline-and-indent - :i "M-SPC" #'sml-electric-space + :i "S-SPC" #'sml-electric-space :i "|" #'sml-electric-pipe :localleader :desc "Run SML" "'" #'run-sml From 5e65d0e0639b9e96482b91cb0ed08b357cac6ee3 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 31 Mar 2020 02:24:14 -0400 Subject: [PATCH 108/423] Load yasnippet incrementally --- modules/editor/snippets/config.el | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/editor/snippets/config.el b/modules/editor/snippets/config.el index cf50175c5..cb1c9315d 100644 --- a/modules/editor/snippets/config.el +++ b/modules/editor/snippets/config.el @@ -8,6 +8,7 @@ ;; Packages (use-package! yasnippet + :defer-incrementally eldoc easymenu help-mode :commands (yas-minor-mode-on yas-expand yas-expand-snippet From f7fa3f3a86499689a82bff9131b3c1186694ce5c Mon Sep 17 00:00:00 2001 From: James Ravn Date: Tue, 31 Mar 2020 12:33:16 +0100 Subject: [PATCH 109/423] Make uuidgen consistent for org-id-new On macos/bsd systems, uuidgen produces all uppercase output. On Linux/GNU systems it produces all lowercase output. This leads to problems when managing org files across both systems (see e.g. https://lists.gnu.org/archive/html/emacs-orgmode/2019-07/msg00081.html). This change adds a defadvice for `org-id-new` to always lowercase the output of `uuidgen` so the behavior is consistent across platforms. --- modules/lang/org/config.el | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/modules/lang/org/config.el b/modules/lang/org/config.el index ca68bd125..34f7ae5b1 100644 --- a/modules/lang/org/config.el +++ b/modules/lang/org/config.el @@ -512,6 +512,13 @@ current workspace (and clean them up)." (lambda (file-or-data &optional type data-p &rest props) (let ((type (if (plist-get props :width) type))) (apply old-create-image file-or-data type data-p props))))) + (apply orig-fn args))) + + (defadvice! +org--fix-inconsistent-uuidgen-case (orig-fn &rest args) + "Ensure uuidgen always produces lowercase output regardless of system." + :around #'org-id-new + (if (equal org-id-method 'uuid) + (downcase (apply orig-fn args)) (apply orig-fn args)))) From ca10445837305c1c77ba4e18d64af2e2e6817f16 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 31 Mar 2020 11:58:35 -0400 Subject: [PATCH 110/423] Fix company-mlton #1947 --- modules/lang/sml/config.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/lang/sml/config.el b/modules/lang/sml/config.el index 515e1c1d6..db09119d1 100644 --- a/modules/lang/sml/config.el +++ b/modules/lang/sml/config.el @@ -24,4 +24,6 @@ (use-package! company-mlton :when (featurep! :completion company) - :hook (sml-mode . company-mlton-init)) + :hook (sml-mode . company-mlton-init) + :config + (set-company-backend! 'sml-mode company-mlton-grouped-backend)) From 86506eaa5386f8541c0370b840e2a4947c6015f3 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 31 Mar 2020 13:45:32 -0400 Subject: [PATCH 111/423] lang/haskell: fix +ghcide --- modules/lang/haskell/+lsp.el | 2 +- modules/lang/haskell/packages.el | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/lang/haskell/+lsp.el b/modules/lang/haskell/+lsp.el index 16eb89bd6..eb54d0084 100644 --- a/modules/lang/haskell/+lsp.el +++ b/modules/lang/haskell/+lsp.el @@ -2,7 +2,7 @@ (use-package! lsp-haskell :after lsp-clients - :init (add-hook 'haskell-mode-local-vars #'lsp!) + :preface (add-hook 'haskell-mode-local-vars-hook #'lsp!) :config (when IS-MAC (setq lsp-haskell-process-path-hie "hie-wrapper")) diff --git a/modules/lang/haskell/packages.el b/modules/lang/haskell/packages.el index a47cc7ce8..528167c9b 100644 --- a/modules/lang/haskell/packages.el +++ b/modules/lang/haskell/packages.el @@ -6,7 +6,8 @@ (when (featurep! +dante) (package! dante :pin "4955bc7363") (package! attrap :pin "4cf3e4a162")) -(when (featurep! +lsp) +(when (or (featurep! +lsp) + (featurep! +ghcide)) (package! lsp-haskell :pin "582fa27c88")) ;; DEPRECATED (when (featurep! +intero) From ce57eef471bbd0ea89e32e7e13fa5a63fbfa6378 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 31 Mar 2020 14:38:56 -0400 Subject: [PATCH 112/423] Stop recentering/preserving window pos on evil searches It needs a lot of work to not be so jarring, but I don't have the time to perfect it, so I'll disable it for now. --- modules/editor/evil/config.el | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/modules/editor/evil/config.el b/modules/editor/evil/config.el index 105f7c875..260967128 100644 --- a/modules/editor/evil/config.el +++ b/modules/editor/evil/config.el @@ -165,17 +165,6 @@ directives. By default, this only recognizes C directives.") (advice-add #'evil-open-above :around #'+evil--insert-newline-above-and-respect-comments-a) (advice-add #'evil-open-below :around #'+evil--insert-newline-below-and-respect-comments-a) - ;; Recenter screen after most searches - (dolist (fn '(evil-visualstar/begin-search-forward - evil-visualstar/begin-search-backward - evil-ex-search-word-forward - evil-ex-search-word-backward - evil-ex-search-next - evil-ex-search-previous - evil-ex-search-forward - evil-ex-search-backward)) - (advice-add fn :around #'doom-preserve-window-position-a)) - ;; --- custom interactive codes ----------- ;; These arg types will highlight matches in the current buffer (evil-ex-define-argument-type regexp-match From 84d2e676335c9dbdd4ac165ea4fada29e3106d80 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 31 Mar 2020 15:20:58 -0400 Subject: [PATCH 113/423] Fix missing request in lookup module --- modules/tools/lookup/packages.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/tools/lookup/packages.el b/modules/tools/lookup/packages.el index f7058b8d0..7b7ecf701 100644 --- a/modules/tools/lookup/packages.el +++ b/modules/tools/lookup/packages.el @@ -14,6 +14,9 @@ (when (featurep! :completion helm) (package! helm-xref :pin "6b4a8bd91f")) +;; For dictionary and online lookup +(package! request :pin "216d570a58") + (when (featurep! +docsets) (package! dash-docs :pin "111fd9b970") (when (featurep! :completion helm) @@ -26,7 +29,6 @@ (package! osx-dictionary :pin "1b79ff64c7") (package! define-word :pin "d8c76d503b") (package! powerthesaurus :pin "81a262ec0c") - (package! request) (when (featurep! +offline) (package! wordnut :pin "feac531404") (package! synosaurus :pin "14d34fc92a")))) From 5775714506390d709ce75d33c112e83f7ff7d6f0 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Tue, 31 Mar 2020 16:30:30 -0400 Subject: [PATCH 114/423] Fix #2666: init indent-guides faces on first GUI frame --- modules/ui/indent-guides/config.el | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/modules/ui/indent-guides/config.el b/modules/ui/indent-guides/config.el index cd5cb5aeb..d8128a898 100644 --- a/modules/ui/indent-guides/config.el +++ b/modules/ui/indent-guides/config.el @@ -5,8 +5,20 @@ :init (setq highlight-indent-guides-method 'character) :config - (add-hook 'focus-in-hook #'highlight-indent-guides-auto-set-faces) - ;; `highlight-indent-guides' breaks in these modes + (defun +indent-guides-init-faces-h () + (when (display-graphic-p) + (highlight-indent-guides-auto-set-faces))) + + ;; HACK `highlight-indent-guides' calculates its faces from the current theme, + ;; but is unable to do so properly in terminal Emacs, where it only has + ;; access to 256 colors. So if the user uses a daemon we must wait for + ;; the first graphical frame to be available to do. + (add-hook (if (daemonp) + 'server-after-make-frame-hook + 'doom-load-theme-hook) + #'+indent-guides-init-faces-h) + + ;; `highlight-indent-guides' breaks when `org-indent-mode' is active (add-hook! 'org-indent-mode-hook (defun +indent-guides-disable-maybe-h () (when highlight-indent-guides-mode From 4ca30d50e207f301d2400f5c2c13f914d26573ea Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 1 Apr 2020 12:03:56 -0400 Subject: [PATCH 115/423] Fix #2807: wrong-number-of-args on install-patched-font --- modules/ui/pretty-code/autoload/install.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/ui/pretty-code/autoload/install.el b/modules/ui/pretty-code/autoload/install.el index 1f6e50207..7ceb1474e 100644 --- a/modules/ui/pretty-code/autoload/install.el +++ b/modules/ui/pretty-code/autoload/install.el @@ -95,6 +95,6 @@ When PREFIX is non-nil, ignore the prompt and just install it." "Install font: " (mapcar #'car +pretty-code-font-alist)))) (if-let (font-files (cdr (assoc font-name +pretty-code-font-alist))) - (cl-destructuring-bind (&keys url files) font-files + (cl-destructuring-bind (&key url files) font-files (+pretty-code--install-font prefix font-name url font-files)) (user-error "%S is not a valid font"))) From b3af9dbc3ce17f1e5913cc40744070cb125eced7 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 1 Apr 2020 13:57:04 -0400 Subject: [PATCH 116/423] Add +lsp-defer-shutdown variable --- modules/tools/lsp/config.el | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/modules/tools/lsp/config.el b/modules/tools/lsp/config.el index d3f461cad..2ebcf0637 100644 --- a/modules/tools/lsp/config.el +++ b/modules/tools/lsp/config.el @@ -16,6 +16,13 @@ excluded servers' identifiers to `+lsp-capf-blacklist'.") "Language servers listed here will always use the `company-lsp' backend, irrespective of what `+lsp-company-backend' is set to.") +(defvar +lsp-defer-shutdown 3 + "If non-nil, defer shutdown of LSP servers for this many seconds after last +workspace buffer is closed. + +This delay prevents premature server shutdown when a user still intends on +working on that project after closing the last buffer.") + ;; ;;; Packages @@ -150,16 +157,19 @@ This gives the user a chance to open other project files before the server is auto-killed (which is a potentially expensive process)." :around #'lsp--shutdown-workspace (if (or lsp-keep-workspace-alive - restart) + restart + (null +lsp-defer-shutdown) + (= +lsp-defer-shutdown 0)) (funcall orig-fn) (when (timerp +lsp--deferred-shutdown-timer) (cancel-timer +lsp--deferred-shutdown-timer)) (setq +lsp--deferred-shutdown-timer (run-at-time - 3 nil (lambda (workspace) - (let ((lsp--cur-workspace workspace)) - (unless (lsp--workspace-buffers lsp--cur-workspace) - (funcall orig-fn)))) + (if (numberp +lsp-defer-shutdown) +lsp-defer-shutdown 3) + nil (lambda (workspace) + (let ((lsp--cur-workspace workspace)) + (unless (lsp--workspace-buffers lsp--cur-workspace) + (funcall orig-fn)))) lsp--cur-workspace)))) (defadvice! +lsp-prompt-if-no-project-a (session file-name) From 4434abf1f47d91acc15461af1b8f2dcd6f83a10b Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 1 Apr 2020 14:51:12 -0400 Subject: [PATCH 117/423] Fix #2810: org-roam-directory is reset --- modules/lang/org/contrib/roam.el | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/modules/lang/org/contrib/roam.el b/modules/lang/org/contrib/roam.el index 2ac1c7dce..58a3fe03a 100644 --- a/modules/lang/org/contrib/roam.el +++ b/modules/lang/org/contrib/roam.el @@ -7,6 +7,10 @@ org-roam-find-file org-roam-switch-to-buffer org-roam-graph-show) + :preface + ;; Set this to nil so we can later detect whether the user has set a custom + ;; directory for it, and default to `org-directory' if they haven't. + (defvar org-roam-directory nil) :init (map! :after org :map org-mode-map @@ -19,7 +23,8 @@ "g" #'org-roam-graph-show "i" #'org-roam-insert) :config - (setq org-roam-directory org-directory) + (unless org-roam-directory + (setq org-roam-directory org-directory)) (org-roam-mode +1)) From 23b3b8211aa32ca0c4d1da2b37a115455aaf0bfa Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 1 Apr 2020 17:26:37 -0400 Subject: [PATCH 118/423] Fix #2811: expose more org-roam commands --- modules/config/default/+evil-bindings.el | 12 +++++++++--- modules/lang/org/contrib/roam.el | 19 ++++++++++++++----- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/modules/config/default/+evil-bindings.el b/modules/config/default/+evil-bindings.el index a56ee0b2b..bfbee4b28 100644 --- a/modules/config/default/+evil-bindings.el +++ b/modules/config/default/+evil-bindings.el @@ -475,11 +475,17 @@ (:when (featurep! :lang org +roam) (:prefix ("r" . "roam") - :desc "Org Roam" "r" #'org-roam :desc "Switch to buffer" "b" #'org-roam-switch-to-buffer - :desc "Insert" "i" #'org-roam-insert + :desc "Org Roam Capture" "c" #'org-roam-capture :desc "Find file" "f" #'org-roam-find-file - :desc "Show graph" "g" #'org-roam-graph-show)) + :desc "Show graph" "g" #'org-roam-graph-show + :desc "Insert" "i" #'org-roam-insert + :desc "Org Roam" "r" #'org-roam + (:prefix ("d" . "by date") + :desc "Arbitrary date" "d" #'org-roam-date + :desc "Today" "t" #'org-roam-today + :desc "Tomorrow" "m" #'org-roam-tomorrow + :desc "Yesterday" "y" #'org-roam-yesterday))) (:when (featurep! :lang org +journal) (:prefix ("j" . "journal") diff --git a/modules/lang/org/contrib/roam.el b/modules/lang/org/contrib/roam.el index 58a3fe03a..5fb55a917 100644 --- a/modules/lang/org/contrib/roam.el +++ b/modules/lang/org/contrib/roam.el @@ -3,10 +3,15 @@ (use-package! org-roam :commands (org-roam - org-roam-insert + org-roam-capture + org-roam-date org-roam-find-file + org-roam-graph-show + org-roam-insert org-roam-switch-to-buffer - org-roam-graph-show) + org-roam-today + org-roam-tomorrow + org-roam-yesterday) :preface ;; Set this to nil so we can later detect whether the user has set a custom ;; directory for it, and default to `org-directory' if they haven't. @@ -16,12 +21,16 @@ :map org-mode-map :localleader :prefix ("m" . "org-roam") - "m" #'org-roam - "i" #'org-roam-insert "b" #'org-roam-switch-to-buffer "f" #'org-roam-find-file "g" #'org-roam-graph-show - "i" #'org-roam-insert) + "i" #'org-roam-insert + "m" #'org-roam + (:prefix ("d" . "by date") + :desc "Arbitrary date" "d" #'org-roam-date + :desc "Today" "t" #'org-roam-today + :desc "Tomorrow" "m" #'org-roam-tomorrow + :desc "Yesterday" "y" #'org-roam-yesterday)) :config (unless org-roam-directory (setq org-roam-directory org-directory)) From bdbc8620e11973bd300cb39ecdb791d4423fcbf2 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 1 Apr 2020 17:27:09 -0400 Subject: [PATCH 119/423] Bump :lang org +roam jethrokuan/org-roam@b86d2c8 -> jethrokuan/org-roam@dfb8449 jethrokuan/company-org-roam@0d14bf5 -> jethrokuan/company-org-roam@063581d --- modules/lang/org/packages.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/lang/org/packages.el b/modules/lang/org/packages.el index 172e78328..c90c3242a 100644 --- a/modules/lang/org/packages.el +++ b/modules/lang/org/packages.el @@ -74,9 +74,9 @@ (package! org-tree-slide :pin "7bf09a02bd") (package! org-re-reveal :pin "e4460a98b6")) (when (featurep! +roam) - (package! org-roam :pin "b86d2c8637") + (package! org-roam :pin "dfb8449680") (when (featurep! :completion company) - (package! company-org-roam :pin "0d14bf56f5"))) + (package! company-org-roam :pin "063581df54"))) ;;; Babel (package! ob-async :pin "80a30b96a0") From c80573e5b774647677b87083c4469a572b6874ab Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 1 Apr 2020 17:31:09 -0400 Subject: [PATCH 120/423] Bump :lang org emacs-straight/org-mode@ba68555 -> emacs-straight/org-mode@b993576 Kungsgeten/org-brain@cae8e22 -> Kungsgeten/org-brain@ec4bd9d dzop/emacs-jupyter@de7af25 -> dzop/emacs-jupyter@3322ce7 --- modules/lang/org/packages.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/lang/org/packages.el b/modules/lang/org/packages.el index c90c3242a..b7cfe4599 100644 --- a/modules/lang/org/packages.el +++ b/modules/lang/org/packages.el @@ -27,7 +27,7 @@ :recipe (:host github :repo "emacs-straight/org-mode" :files ("*.el" "lisp/*.el" "contrib/lisp/*.el")) - :pin "ba685555c4") + :pin "b9935765f7") ;; ...And prevent other packages from pulling org; org-plus-contrib satisfies ;; the dependency already: https://github.com/raxod502/straight.el/issues/352 (package! org :recipe (:local-repo nil)) @@ -53,7 +53,7 @@ (when (featurep! :tools magit) (package! orgit :pin "e7cddf39e3")) (when (featurep! +brain) - (package! org-brain :pin "cae8e2213b")) + (package! org-brain :pin "ec4bd9dd29")) (when (featurep! +dragndrop) (package! org-download :pin "b96fd7ba02")) (when (featurep! +gnuplot) @@ -62,7 +62,7 @@ (when (featurep! +ipython) ; DEPRECATED (package! ob-ipython :pin "7147455230")) (when (featurep! +jupyter) - (package! jupyter :pin "de7af256a9")) + (package! jupyter :pin "3322ce7b31")) (when (featurep! +journal) (package! org-journal :pin "664c08e12c")) (when (featurep! +pomodoro) From 3dc4254f1cdecba7d0b777aeffc997ad54f545c9 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 1 Apr 2020 21:14:58 -0400 Subject: [PATCH 121/423] email/mu4e: mention missing mu4e errors in readme --- modules/email/mu4e/README.org | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/modules/email/mu4e/README.org b/modules/email/mu4e/README.org index a29f675b3..682b2049b 100644 --- a/modules/email/mu4e/README.org +++ b/modules/email/mu4e/README.org @@ -16,6 +16,8 @@ - [[#configuration][Configuration]] - [[#offlineimap][offlineimap]] - [[#mbsync][mbsync]] +- [[#troubleshooting][Troubleshooting]] + - [[#no-such-file-or-directory-mu4e][=No such file or directory, mu4e=]] * Description This module makes Emacs an email client, using ~mu4e~. @@ -121,3 +123,7 @@ Then configure Emacs to use your email address: #+END_SRC ** TODO mbsync +* Troubleshooting +** =No such file or directory, mu4e= +You will get =No such file or directory, mu4e= errors if you don't run ~doom +sync~ after installing =mu= through your package manager. From 01b7b5818a9f212519c5c9de220a8c38faed5e09 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 1 Apr 2020 21:49:49 -0400 Subject: [PATCH 122/423] lang/org: add org-roam to readme --- modules/lang/org/README.org | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/lang/org/README.org b/modules/lang/org/README.org index 284f98c5e..038630be3 100644 --- a/modules/lang/org/README.org +++ b/modules/lang/org/README.org @@ -101,6 +101,8 @@ https://www.mfoot.com/blog/2015/11/22/literate-emacs-configuration-with-org-mode + =+gnuplot= + [[https://github.com/mkmcc/gnuplot-mode][gnuplot]] + [[https://github.com/bruceravel/gnuplot-mode][gnuplot-mode]] ++ =+hugo= + + [[https://github.com/kaushalmodi/ox-hugo][ox-hugo]] + =+ipython= + [[https://github.com/gregsexton/ob-ipython][ob-ipython]] + =+jupyter= @@ -113,8 +115,8 @@ https://www.mfoot.com/blog/2015/11/22/literate-emacs-configuration-with-org-mode + [[https://github.com/anler/centered-window-mode][centered-window]] + [[https://github.com/takaxp/org-tree-slide][org-tree-slide]] + [[https://gitlab.com/oer/org-re-reveal][org-re-reveal]] -+ =+hugo= - + [[https://github.com/kaushalmodi/ox-hugo][ox-hugo]] ++ =+roam= + + [[https://github.com/jethrokuan/org-roam][org-roam]] ** Hacks + The window is recentered when following links. From fda60c529a3a8b3fb32226b8dc99fbf85402ee30 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Wed, 1 Apr 2020 23:06:03 -0400 Subject: [PATCH 123/423] docs/modules.org: add :editor god --- docs/modules.org | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/modules.org b/docs/modules.org index 8f9e728c0..f2f4471d5 100644 --- a/docs/modules.org +++ b/docs/modules.org @@ -61,6 +61,7 @@ Modules that affect and augment your ability to manipulate or insert text. + [[file:../modules/editor/file-templates/README.org][file-templates]] - Auto-inserted templates in blank new files + [[file:../modules/editor/fold/README.org][fold]] - universal code folding + format =+onsave= - TODO ++ god - TODO + [[file:../modules/editor/lispy/README.org][lispy]] - TODO + multiple-cursors - TODO + [[file:../modules/editor/objed/README.org][objed]] - TODO From 7e40c1ebe360112e5ed2e3e0cf3fc6c464f74b32 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 2 Apr 2020 00:46:58 -0400 Subject: [PATCH 124/423] Fix #2752: self-aborting company-box/docs --- modules/completion/company/config.el | 6 ++++-- modules/lang/emacs-lisp/config.el | 3 --- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/modules/completion/company/config.el b/modules/completion/company/config.el index e5a34ea1e..3c30a6de7 100644 --- a/modules/completion/company/config.el +++ b/modules/completion/company/config.el @@ -17,8 +17,10 @@ :config (when (featurep! :editor evil) (add-hook 'company-mode-hook #'evil-normalize-keymaps) - ;; Don't persist company popups when switching back to normal mode. - (add-hook 'evil-normal-state-entry-hook #'company-abort) + (unless (featurep! +childframe) + ;; Don't persist company popups when switching back to normal mode. + ;; `company-box' aborts on mode switch so it doesn't need this. + (add-hook 'evil-normal-state-entry-hook #'company-abort)) ;; Allow users to switch between backends on the fly. E.g. C-x C-s followed ;; by C-x C-n, will switch from `company-yasnippet' to ;; `company-dabbrev-code'. diff --git a/modules/lang/emacs-lisp/config.el b/modules/lang/emacs-lisp/config.el index 6fa67a6d5..d9cd34768 100644 --- a/modules/lang/emacs-lisp/config.el +++ b/modules/lang/emacs-lisp/config.el @@ -48,9 +48,6 @@ This marks a foldable marker for `outline-minor-mode' in elisp buffers.") ;; variable-width indentation is superior in elisp (add-to-list 'doom-detect-indentation-excluded-modes 'emacs-lisp-mode nil #'eq) - ;; Use helpful instead of describe-* from `company' - (advice-add #'elisp--company-doc-buffer :around #'doom-use-helpful-a) - (add-hook! 'emacs-lisp-mode-hook #'outline-minor-mode ;; fontificiation From 74f64c63f06b073185682abbe48b3935be6de422 Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 2 Apr 2020 00:56:01 -0400 Subject: [PATCH 125/423] Add set-lsp-priority! autodef & +lsp/switch-client command Relevant to #2689 --- modules/tools/lsp/autoload.el | 39 +++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/modules/tools/lsp/autoload.el b/modules/tools/lsp/autoload.el index 5d9ed2c52..884cda7d3 100644 --- a/modules/tools/lsp/autoload.el +++ b/modules/tools/lsp/autoload.el @@ -1,5 +1,14 @@ ;;; feature/lsp/autoload.el -*- lexical-binding: t; -*- +;;;###autodef +(defun set-lsp-priority! (client priority) + "Change the PRIORITY of lsp CLIENT." + (require 'lsp-mode) + (if-let (client (gethash client lsp-clients)) + (setf (lsp--client-priority (gethash server lsp-clients)) + priority) + (error "No LSP client named %S" client))) + ;;;###autodef (defalias 'lsp! #'lsp-deferred) @@ -12,3 +21,33 @@ (user-error "Couldn't find %S directory" dir)) (delete-directory dir 'recursive) (message "Uninstalled %S" (file-name-nondirectory dir))) + +;;;###autoload +(defun +lsp/switch-client (client) + "Switch to another LSP server." + (interactive + (progn + (require 'lsp-mode) + (list (completing-read + "Select server: " + (or (mapcar #'lsp--client-server-id (lsp--find-clients)) + (user-error "No available LSP clients for %S" major-mode)))))) + (require 'lsp-mode) + (let* ((client (if (symbolp client) client (intern client))) + (match (car (lsp--filter-clients (lambda (c) (eq (lsp--client-server-id c) client))))) + (workspaces (lsp-workspaces))) + (unless match + (user-error "Couldn't find an LSP client named %S" client)) + (let ((old-priority (lsp--client-priority match))) + (setf (lsp--client-priority match) 9999) + (unwind-protect + (if workspaces + (lsp-workspace-restart + (if (cdr workspaces) + (lsp--completing-read "Select server: " + workspaces + 'lsp--workspace-print + nil t) + (car workspaces))) + (lsp-mode +1)) + (setf (lsp--client-priority match) old-priority))))) From a8f34f0f815678d28636ece1c40abcb48e4416bd Mon Sep 17 00:00:00 2001 From: Henrik Lissner Date: Thu, 2 Apr 2020 05:10:42 -0400 Subject: [PATCH 126/423] Fix permission-error on +pretty-code/install-patched-font #2807 --- modules/ui/pretty-code/autoload/install.el | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/modules/ui/pretty-code/autoload/install.el b/modules/ui/pretty-code/autoload/install.el index 7ceb1474e..fda451f25 100644 --- a/modules/ui/pretty-code/autoload/install.el +++ b/modules/ui/pretty-code/autoload/install.el @@ -59,17 +59,17 @@ which is expanded for each font in FONTS-ALIST. FONTS-ALIST should be the filename of each font. It is used as the source and destination filename." (or prefix (yes-or-no-p - (format "This will download and install the %s fonts, are you -sure you want to do this?" name)) + (format "This will download and install the %s fonts, are you sure you want to do this?" + name)) (user-error "Aborted")) (let* ((font-dest (pcase window-system (`x (expand-file-name - "/fonts/" (or (getenv "XDG_DATA_HOME") - (concat (getenv "HOME") "/.local/share")))) + "fonts/" (or (getenv "XDG_DATA_HOME") + "~/.local/share"))) ((or `mac `ns) - (expand-file-name "~/Library/Fonts/" )))) + (expand-file-name "~/Library/Fonts/")))) (known-dest? (stringp font-dest)) (font-dest (or font-dest (read-directory-name "Font installation directory: " "~/")))) (unless (file-directory-p font-dest) @@ -80,11 +80,10 @@ sure you want to do this?" name)) t)) (when known-dest? (message "Font downloaded, updating font cache... ") - (shell-command-to-string (format "fc-cache -f -v"))) + (shell-command-to-string "fc-cache -f -v")) (message "Successfully %s `%s' fonts to `%s'!%s" (if known-dest? "installed" "downloaded") - name - font-dest))) + name font-dest))) ;;;###autoload (defun +pretty-code/install-patched-font (font-name &optional prefix) From 2f8b4b85fc09f1cd41d12e96bd280e2361decdd9 Mon Sep 17 00:00:00 2001 From: yoavm448 Date: Thu, 2 Apr 2020 16:03:46 +0300 Subject: [PATCH 127/423] Add latex env support to editor/fold with hideshow Closes #2805 --- modules/editor/fold/config.el | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/modules/editor/fold/config.el b/modules/editor/fold/config.el index 8e5a445ed..fd478b236 100644 --- a/modules/editor/fold/config.el +++ b/modules/editor/fold/config.el @@ -53,7 +53,19 @@ nil (lambda (_arg) (matlab-forward-sexp))) (nxml-mode "\\|]*[^/]>" - "