Merge branch 'hlissner:develop' into develop

This commit is contained in:
mjkalyan 2021-07-22 20:06:24 -06:00 committed by GitHub
commit a7268ce4cb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
152 changed files with 608 additions and 906 deletions

View file

@ -12,20 +12,12 @@ body:
**Before you proceed...** **Before you proceed...**
We depend on you to ensure your issue hasn't already been addressed, isn't covered by documentation, and isn't caused by personal configuration. To help us rule out these possibilities please follow these guidelines: We depend on you to ensure your issue hasn't already been addressed, isn't covered by documentation, and isn't caused by personal configuration. To help us rule out these possibilities please follow these guidelines:
<br />
- type: checkboxes + [ ] Search [the FAQ](https://doomemacs.org/docs/faq.org) and [the documentation](https://doomemacs.org/docs/getting_started.org) for solutions.
attributes: + [ ] Search [the issue tracker](https://github.com/hlissner/doom-emacs/issues) for similar issues (the closed issues too).
options: + [ ] Search [the Discourse](https://doomemacs.org/d/docs) for any errors and solutions.
- label: I have searched [the FAQ](https://doomemacs.org/docs/faq.org) and [the documentation](https://doomemacs.org/docs/getting_started.org) for solutions. + [ ] Ensure the issue can be reproduced on [the latest commit](https://github.com/hlissner/doom-emacs/commit) of Doom Emacs.
required: true + [ ] Consult "[How to Debug Issues](https://doomemacs.org/d/how2debug)" on techniques to get more information and, possibly, solve the issue yourself.
- label: I have searched [the issue tracker](https://github.com/hlissner/doom-emacs/issues) for similar issues (the closed issues too).
required: true
- label: I have searched [the Discourse](https://doomemacs.org/d/docs) for any errors and solutions.
required: true
- label: I can reproduce my issue on [the latest commit](https://github.com/hlissner/doom-emacs/commit) of Doom Emacs.
required: true
- label: I have read [How to Debug Issues](https://doomemacs.org/d/how2debug) and found no solution.
required: true
- type: textarea - type: textarea
attributes: attributes:
label: What did you expect to happen? label: What did you expect to happen?

View file

@ -12,17 +12,13 @@ body:
Use this form to let us know about these packages. Alternatively, [file a bump PR](https://discourse.doomemacs.org/how2bump). Use this form to let us know about these packages. Alternatively, [file a bump PR](https://discourse.doomemacs.org/how2bump).
----- -----
- type: checkboxes
attributes: **Before you submit this bump request, make sure...**
options:
- label: There are no other bump requests for this package [on the issue tracker](https://github.com/hlissner/doom-emacs/pulls?q=is%3Apr+is%3Aopen+label%3A%221.+update%29%22+). + [ ] To search for any open (or closed) [bump requests for this package](https://github.com/hlissner/doom-emacs/pulls?q=is%3Apr+is%3Aopen+label%3A%221.+update%29%22+).
required: true + [ ] The target package(s) **are not** in [the do-not-PR list](https://discourse.doomemacs.org/do-not-pr) list.
- label: The package(s) I want bumped are not in [the do-not-PR list](https://discourse.doomemacs.org/do-not-pr) list. + [ ] These packages haven't already been bumped on the [latest commit of Doom](https://github.com/hlissner/doom-emacs/commit).
required: true + [ ] The new versions of these packages work without issue.
- label: These packages still need to be bumped on the [latest commit of Doom](https://github.com/hlissner/doom-emacs/commit).
required: true
- label: I've tested the new versions of these packages myself and can report on its issues (if any).
required: true
- type: textarea - type: textarea
attributes: attributes:
label: What package(s) should be bumped? label: What package(s) should be bumped?

View file

@ -9,21 +9,12 @@ body:
value: | value: |
> :warning: **Our issue tracker is not for how-to or configuration questions.** Please post those on [our Discord](https://doomemacs.org/discord) or [Discourse](https://discourse.doomemacs.org) instead. > :warning: **Our issue tracker is not for how-to or configuration questions.** Please post those on [our Discord](https://doomemacs.org/discord) or [Discourse](https://discourse.doomemacs.org) instead.
**Before you proceed...** **Before you proceed, to rule out the possibility that your request has already been made (or fulfilled), please follow these guidelines:**
To rule out the possibility that your request has already been made (or fulfilled), please follow these guidelines: + [ ] Read the [contributing guidelines](https://discourse.doomemacs.org/how2contribute).
<br/> + [ ] Search [the issue tracker](https://github.com/hlissner/doom-emacs/issues?q=label%3A%221.+request%22+) for similar requests.
- type: checkboxes + [ ] Search [the module list](https://doomemacs.org/docs/modules.org) in case my feature was already implemented.
attributes: + [ ] The request hasn't been fulfilled on [the latest commit of Doom](https://github.com/hlissner/doom-emacs/commit).
options:
- label: I have read the [contributing guidelines](https://discourse.doomemacs.org/how2contribute).
required: true
- label: I have searched [the issue tracker](https://github.com/hlissner/doom-emacs/issues?q=label%3A%221.+request%22+) for similar requests.
required: true
- label: I have searched [the module list](https://doomemacs.org/docs/modules.org) in case my feature was already implemented.
required: true
- label: I have confirmed that my request remains unfulfilled on [the latest commit of Doom](https://github.com/hlissner/doom-emacs/commit).
required: true
- type: textarea - type: textarea
attributes: attributes:
label: Describe your request label: Describe your request

View file

@ -5,7 +5,7 @@
[Install](#install) • [Documentation] • [FAQ] • [Screenshots] • [Contribute](#contribute) [Install](#install) • [Documentation] • [FAQ] • [Screenshots] • [Contribute](#contribute)
![Made with Doom Emacs](https://img.shields.io/github/tag/hlissner/doom-emacs.svg?style=flat-square&label=release&color=58839b) ![Made with Doom Emacs](https://img.shields.io/github/tag/hlissner/doom-emacs.svg?style=flat-square&label=release&color=58839b)
![Minimum Emacs version supported: 26.3](https://img.shields.io/badge/Emacs-26.3+-blueviolet.svg?style=flat-square&logo=GNU%20Emacs&logoColor=white) ![Minimum Emacs version supported: 27.1](https://img.shields.io/badge/Emacs-27.1+-blueviolet.svg?style=flat-square&logo=GNU%20Emacs&logoColor=white)
![Latest commit](https://img.shields.io/github/last-commit/hlissner/doom-emacs/develop?style=flat-square) ![Latest commit](https://img.shields.io/github/last-commit/hlissner/doom-emacs/develop?style=flat-square)
![Build status: develop](https://img.shields.io/github/workflow/status/hlissner/doom-emacs/CI/develop?style=flat-square) ![Build status: develop](https://img.shields.io/github/workflow/status/hlissner/doom-emacs/CI/develop?style=flat-square)
[![Discord Server](https://img.shields.io/discord/406534637242810369?color=738adb&label=Discord&logo=discord&logoColor=white&style=flat-square)][Discord] [![Discord Server](https://img.shields.io/discord/406534637242810369?color=738adb&label=Discord&logo=discord&logoColor=white&style=flat-square)][Discord]
@ -99,7 +99,7 @@ Check out [the FAQ][FAQ] for answers to common questions about the project.
# Prerequisites # Prerequisites
+ Git 2.23+ + Git 2.23+
+ Emacs 26.3+ (*27.2 is recommended*, or [native-comp](https://www.emacswiki.org/emacs/GccEmacs)). + Emacs 27.1+ (*27.2 is recommended*, or [native-comp](https://www.emacswiki.org/emacs/GccEmacs)).
+ [ripgrep] 11.0+ + [ripgrep] 11.0+
+ GNU `find` + GNU `find`
+ *OPTIONAL:* [fd] 7.3.0+ (improves file indexing performance for some commands) + *OPTIONAL:* [fd] 7.3.0+ (improves file indexing performance for some commands)

View file

@ -27,11 +27,11 @@
;; ;;
;;; Sanity checks ;;; Sanity checks
(when (version< emacs-version "26.3") (when (version< emacs-version "27.1")
(error (error
(concat "Detected Emacs " emacs-version " (at " (car command-line-args) ").\n\n" (concat "Detected Emacs " emacs-version " (at " (car command-line-args) ").\n\n"
"Doom only supports Emacs 26.3 and newer. 27.1 is highly recommended. A guide\n" "Doom only supports Emacs 27.1 and newer. A guide to install a newer version\n"
"to install a newer version of Emacs can be found at:\n\n " "of Emacs can be found at:\n\n "
(format "https://doomemacs.org/docs/getting_started.org#%s" (format "https://doomemacs.org/docs/getting_started.org#%s"
(cond ((eq system-type 'darwin) "on-macos") (cond ((eq system-type 'darwin) "on-macos")
((memq system-type '(cygwin windows-nt ms-dos)) "on-windows") ((memq system-type '(cygwin windows-nt ms-dos)) "on-windows")

View file

@ -74,7 +74,6 @@ package list, and lastly, reloads your private config.el.
Runs `doom-after-reload-hook' afterwards." Runs `doom-after-reload-hook' afterwards."
(interactive) (interactive)
(require 'core-cli)
(when (and IS-WINDOWS (file-exists-p doom-env-file)) (when (and IS-WINDOWS (file-exists-p doom-env-file))
(message "Can't regenerate envvar file from within Emacs. Run 'doom env' from the console")) (message "Can't regenerate envvar file from within Emacs. Run 'doom env' from the console"))
;; In case doom/reload is run before incrementally loaded packages are loaded, ;; In case doom/reload is run before incrementally loaded packages are loaded,

View file

@ -20,10 +20,32 @@ If nil, `doom-font' will be used, scaled up by `doom-big-font-increment'. See
;; ;;
;;; Library ;;; Library
(defun doom--normalize-font (font) ;;;###autoload
(let* ((font (cond ((stringp font) (aref (font-info font) 0)) (defun doom-normalize-font (font)
((fontp font) (font-xlfd-name font)) "Return FONT as a normalized font spec.
((vectorp font) (x-compose-font-name font))))
The font will be normalized (i.e. :weight, :slant, and :width will set to
'normal if not specified) before it is converted.
FONT can be a `font-spec', a font object, an XFT font string, or an XLFD font
string."
(cl-check-type font (or font string vector))
(when (and (stringp font)
(string-prefix-p "-" font))
(setq font (x-decompose-font-name font)))
(let* ((font
(cond ((stringp font)
(dolist (prop '("weight" "slant" "width") (aref (font-info font) 0))
(unless (string-match-p (format ":%s=" prop) font)
(setq font (concat font ":" prop "=normal")))))
((fontp font)
(dolist (prop '(:weight :slant :width) (font-xlfd-name font))
(unless (font-get font prop)
(font-put font prop 'normal))))
((vectorp font)
(dolist (i '(1 2 3) (x-compose-font-name font))
(unless (aref font i)
(aset font i "normal"))))))
(font (x-resolve-font-name font)) (font (x-resolve-font-name font))
(font (font-spec :name font))) (font (font-spec :name font)))
(unless (font-get font :size) (unless (font-get font :size)
@ -64,15 +86,15 @@ Doesn't work in terminal Emacs."
(let* ((original-font (or (symbol-value var) (let* ((original-font (or (symbol-value var)
(face-font face t) (face-font face t)
(with-temp-buffer (face-font face)))) (with-temp-buffer (face-font face))))
(font (doom--normalize-font original-font)) (font (doom-normalize-font original-font))
(dfont (dfont
(or (if-let* ((remap-font (alist-get var font-alist)) (or (if-let* ((remap-font (alist-get var font-alist))
(remap-xlfd (doom--normalize-font remap-font))) (remap-xlfd (doom-normalize-font remap-font)))
remap-xlfd remap-xlfd
(purecopy font)) (purecopy font))
(error "Could not decompose %s font" var)))) (error "Could not decompose %s font" var))))
(let* ((step (if fixed-size-p 0 (* increment doom-font-increment))) (let* ((step (if fixed-size-p 0 (* increment doom-font-increment)))
(orig-size (font-get dfont :size)) (orig-size (font-get font :size))
(new-size (if fixed-size-p increment (+ orig-size step)))) (new-size (if fixed-size-p increment (+ orig-size step))))
(cond ((<= new-size 0) (cond ((<= new-size 0)
(error "`%s' font is too small to be resized (%d)" var new-size)) (error "`%s' font is too small to be resized (%d)" var new-size))
@ -145,8 +167,8 @@ Also resizees `doom-variable-pitch-font' and `doom-serif-font'."
(if doom-big-font (if doom-big-font
;; Use `doom-big-font' in lieu of `doom-font' ;; Use `doom-big-font' in lieu of `doom-font'
(doom-adjust-font-size (doom-adjust-font-size
(if doom-big-font-mode (when doom-big-font-mode
(font-get (doom--normalize-font doom-big-font) :size)) (font-get (doom-normalize-font doom-big-font) :size))
t `((doom-font . ,doom-big-font))) t `((doom-font . ,doom-big-font)))
;; Resize the current font ;; Resize the current font
(doom-adjust-font-size (if doom-big-font-mode doom-big-font-increment)))) (doom-adjust-font-size (if doom-big-font-mode doom-big-font-increment))))

View file

@ -255,11 +255,12 @@ DEST can be one or more of `standard-output', a buffer, a file"
(insert-char out)) (insert-char out))
(send-string-to-terminal (char-to-string out))))) (send-string-to-terminal (char-to-string out)))))
(letf! (defun message (msg &rest args) (letf! (defun message (msg &rest args)
(when msg
(print-group! (print-group!
(with-current-buffer log-buffer (with-current-buffer log-buffer
(insert (doom--format (apply #'format msg args)) "\n")) (insert (doom--format (apply #'format msg args)) "\n"))
(when (or doom-debug-p (not inhibit-message)) (when (or doom-debug-p (not inhibit-message))
(doom--print (doom--format (apply #'format msg args))))) (doom--print (doom--format (apply #'format msg args))))))
message) message)
(unwind-protect (unwind-protect
,(macroexp-progn body) ,(macroexp-progn body)

View file

@ -197,6 +197,64 @@ each package."
;; ;;
;;; Bump commits ;;; Bump commits
;;;###autoload
(defun doom/bumpify-diff (&optional interactive)
"Copy user/repo@hash -> user/repo@hash's of changed packages to clipboard.
Must be run from a magit diff buffer."
(interactive (list 'interactive))
(save-window-excursion
(magit-diff-staged)
(unless (eq major-mode 'magit-diff-mode)
(user-error "Not in a magit diff buffer"))
(let (targets lines)
(save-excursion
(while (re-search-forward "^modified +\\(.+\\)$" nil t)
(cl-pushnew (doom-module-from-path (match-string 1)) targets
:test #'equal)))
(while (re-search-forward "^-" nil t)
(let ((file (magit-file-at-point))
before after)
(save-window-excursion
(call-interactively #'magit-diff-visit-file)
(or (looking-at-p "(package!")
(re-search-forward "(package! " (line-end-position) t)
(re-search-backward "(package! "))
(let ((buffer-file-name file))
(cl-destructuring-bind (&key package plist _beg _end)
(doom--package-at-point)
(setq before (doom--package-to-bump-string package plist)))))
(re-search-forward "^+")
(save-window-excursion
(call-interactively #'magit-diff-visit-file)
(or (looking-at-p "(package!")
(re-search-forward "(package! " (line-end-position) t)
(re-search-backward "(package! "))
(let ((buffer-file-name file))
(cl-destructuring-bind (&key package plist _beg _end)
(doom--package-at-point)
(setq after (doom--package-to-bump-string package plist)))))
(cl-pushnew (format "%s -> %s" before after) lines)))
(if (null lines)
(user-error "No bumps to bumpify")
(prog1 (funcall (if interactive #'kill-new #'identity)
(format "Bump %s\n\n%s"
(mapconcat (lambda (x)
(mapconcat #'symbol-name x " "))
(cl-loop with alist = ()
for (category . module) in targets
do (setf (alist-get category alist)
(append (alist-get category alist) (list module)))
finally return alist)
" ")
(string-join (sort (reverse lines) #'string-lessp)
"\n")))
(when interactive
(message "Copied to clipboard")))))))
;;;###autoload ;;;###autoload
(defun doom/commit-bumps () (defun doom/commit-bumps ()
(interactive)) "Create a pre-filled magit commit for currently bumped packages."
(interactive)
(magit-commit-create
(list "-e" "-m" (doom/bumpify-diff))))

View file

@ -149,7 +149,7 @@ If DIR is not a project, it will be indexed (but not cached)."
;;;###autoload ;;;###autoload
(defun doom-project-ignored-p (project-root) (defun doom-project-ignored-p (project-root)
"Return non-nil if remote or temporary file, or a straight package." "Return non-nil if temporary file or a straight package."
(and (not (file-remote-p project-root)) (unless (file-remote-p project-root)
(or (file-in-directory-p project-root temporary-file-directory) (or (file-in-directory-p project-root temporary-file-directory)
(file-in-directory-p project-root doom-local-dir)))) (file-in-directory-p project-root doom-local-dir))))

View file

@ -63,18 +63,6 @@
((error "No session backend to load session with")))) ((error "No session backend to load session with"))))
;;
;;; Command line switch
;;;###autoload
(defun doom-restore-session-handler (&rest _)
"TODO"
(add-hook 'window-setup-hook #'doom-load-session 'append))
;;;###autoload
(add-to-list 'command-switch-alist (cons "--restore" #'doom-restore-session-handler))
;; ;;
;;; Commands ;;; Commands
@ -140,4 +128,4 @@
(append (if debug (list "--debug-init")) (append (if debug (list "--debug-init"))
(when (boundp 'chemacs-current-emacs-profile) (when (boundp 'chemacs-current-emacs-profile)
(list "--with-profile" chemacs-current-emacs-profile)) (list "--with-profile" chemacs-current-emacs-profile))
(list "--restore"))))) (list "--eval" "(add-hook 'window-setup-hook #'doom-load-session 100)")))))

View file

@ -40,9 +40,7 @@ all themes. It will apply to all themes once they are loaded."
(when (or (get 'doom-theme 'previous-themes) (when (or (get 'doom-theme 'previous-themes)
(null doom-theme)) (null doom-theme))
(funcall #',fn)) (funcall #',fn))
;; TODO Append to `doom-load-theme-hook' with DEPTH instead when Emacs (add-hook 'doom-customize-theme-hook #',fn 100))))
;; 26.x support is dropped.
(add-hook 'doom-customize-theme-hook #',fn 'append))))
;;;###autoload ;;;###autoload
(defmacro custom-set-faces! (&rest specs) (defmacro custom-set-faces! (&rest specs)

View file

@ -54,10 +54,8 @@ in."
(warn! "Emacs %s detected" emacs-version) (warn! "Emacs %s detected" emacs-version)
(explain! "Doom supports this version, but you are living on the edge! " (explain! "Doom supports this version, but you are living on the edge! "
"Be prepared for breakages in future versions of Emacs.")) "Be prepared for breakages in future versions of Emacs."))
((= emacs-major-version 26) ((< emacs-major-version 27)
(warn! "Emacs %s detected" emacs-version) (error! "Emacs %s detected, Doom only supports 27.1 and newer"
(explain! "Doom is dropping Emacs 26.x support in June 2021. Consider "
"upgrading to Emacs 27.1 (or better: 27.2) soon!"
emacs-version)))) emacs-version))))
(print! (start "Checking for Doom's prerequisites...")) (print! (start "Checking for Doom's prerequisites..."))
@ -86,14 +84,13 @@ in."
"typically installed. If you're seeing a vanilla Emacs splash screen, this " "typically installed. If you're seeing a vanilla Emacs splash screen, this "
"may explain why. If you use Chemacs, you may ignore this warning.")) "may explain why. If you use Chemacs, you may ignore this warning."))
(when EMACS27+
(print! (start "Checking for great Emacs features...")) (print! (start "Checking for great Emacs features..."))
(unless (functionp 'json-serialize) (unless (functionp 'json-serialize)
(warn! "Emacs was not built with native JSON support") (warn! "Emacs was not built with native JSON support")
(explain! "Users will see a substantial performance gain by building Emacs with " (explain! "Users will see a substantial performance gain by building Emacs with "
"jansson support (i.e. a native JSON library), particularly LSP users. " "jansson support (i.e. a native JSON library), particularly LSP users. "
"You must install a prebuilt Emacs binary with this included, or compile " "You must install a prebuilt Emacs binary with this included, or compile "
"Emacs with the --with-json option."))) "Emacs with the --with-json option."))
(print! (start "Checking for private config conflicts...")) (print! (start "Checking for private config conflicts..."))
(let ((xdg-dir (concat (or (getenv "XDG_CONFIG_HOME") (let ((xdg-dir (concat (or (getenv "XDG_CONFIG_HOME")

View file

@ -60,8 +60,10 @@ Why this over exec-path-from-shell?
'(;; State that may be problematic if overwritten '(;; State that may be problematic if overwritten
"^HOME$" "^\\(OLD\\)?PWD$" "^SHLVL$" "^PS1$" "^R?PROMPT$" "^TERM\\(CAP\\)?$" "^HOME$" "^\\(OLD\\)?PWD$" "^SHLVL$" "^PS1$" "^R?PROMPT$" "^TERM\\(CAP\\)?$"
"^USER$" "^USER$"
;; X server or services' variables ;; X server or services' variables that shouldn't be persisted
"^DISPLAY$" "^DBUS_SESSION_BUS_ADDRESS$" "^XAUTHORITY$" "^DISPLAY$" "^DBUS_SESSION_BUS_ADDRESS$" "^XAUTHORITY$"
;; Windows+WSL envvars that shouldn't be persisted
"^WSL_INTEROP$"
;; ssh and gpg variables (likely to become stale) ;; ssh and gpg variables (likely to become stale)
"^SSH_\\(AUTH_SOCK\\|AGENT_PID\\)$" "^\\(SSH\\|GPG\\)_TTY$" "^SSH_\\(AUTH_SOCK\\|AGENT_PID\\)$" "^\\(SSH\\|GPG\\)_TTY$"
"^GPG_AGENT_INFO$" "^GPG_AGENT_INFO$"

View file

@ -532,12 +532,13 @@ declaration) or dependency thereof that hasn't already been."
(defun doom--cli-packages-purge-repo (repo) (defun doom--cli-packages-purge-repo (repo)
(let ((repo-dir (straight--repos-dir repo))) (let ((repo-dir (straight--repos-dir repo)))
(when (file-directory-p repo-dir)
(delete-directory repo-dir 'recursive) (delete-directory repo-dir 'recursive)
(delete-file (straight--modified-file repo)) (delete-file (straight--modified-file repo))
(if (file-directory-p repo-dir) (if (file-directory-p repo-dir)
(ignore (print! (error "Failed to purge repos/%s" repo))) (ignore (print! (error "Failed to purge repos/%s" repo)))
(print! (success "Purged repos/%s" repo)) (print! (success "Purged repos/%s" repo))
t))) t))))
(defun doom--cli-packages-purge-repos (repos) (defun doom--cli-packages-purge-repos (repos)
(if (not repos) (if (not repos)

View file

@ -109,7 +109,7 @@ Environment variables:
auto-accept-p)) auto-accept-p))
(when doomdir (when doomdir
(setenv "DOOMDIR" (file-name-as-directory doomdir)) (setenv "DOOMDIR" (file-name-as-directory doomdir))
(print! (info "DOOMDIR=%s") localdir)) (print! (info "DOOMDIR=%s") doomdir))
(when localdir (when localdir
(setenv "DOOMLOCALDIR" (file-name-as-directory localdir)) (setenv "DOOMLOCALDIR" (file-name-as-directory localdir))
(print! (info "DOOMLOCALDIR=%s") localdir)) (print! (info "DOOMLOCALDIR=%s") localdir))

View file

@ -110,7 +110,10 @@ all hooks after it are ignored.")
:init :init
;; Convenience aliases ;; Convenience aliases
(defalias 'define-key! #'general-def) (defalias 'define-key! #'general-def)
(defalias 'undefine-key! #'general-unbind)) (defalias 'undefine-key! #'general-unbind)
:config
;; Prevent "X starts with non-prefix key Y" errors except at startup.
(add-hook 'doom-after-init-modules-hook #'general-auto-unbind-keys))
;; HACK `map!' uses this instead of `define-leader-key!' because it consumes ;; HACK `map!' uses this instead of `define-leader-key!' because it consumes

View file

@ -625,72 +625,7 @@ testing advice (when combined with `rotate-text').
;; ;;
;;; Backports ;;; Backports
(eval-when! (version< emacs-version "27.0.90") ;; None at the moment!
;; DEPRECATED Backported from Emacs 27
(defmacro setq-local (&rest pairs)
"Make variables in PAIRS buffer-local and assign them the corresponding values.
PAIRS is a list of variable/value pairs. For each variable, make
it buffer-local and assign it the corresponding value. The
variables are literal symbols and should not be quoted.
The second VALUE is not computed until after the first VARIABLE
is set, and so on; each VALUE can use the new value of variables
set earlier in the setq-local. The return value of the
setq-local form is the value of the last VALUE.
\(fn [VARIABLE VALUE]...)"
(declare (debug setq))
(unless (zerop (mod (length pairs) 2))
(error "PAIRS must have an even number of variable/value members"))
(let ((expr nil))
(while pairs
(unless (symbolp (car pairs))
(error "Attempting to set a non-symbol: %s" (car pairs)))
;; Can't use backquote here, it's too early in the bootstrap.
(setq expr
(cons
(list 'set
(list 'make-local-variable (list 'quote (car pairs)))
(car (cdr pairs)))
expr))
(setq pairs (cdr (cdr pairs))))
(macroexp-progn (nreverse expr)))))
(eval-when! (version< emacs-version "27.1")
;; DEPRECATED Backported from Emacs 27. Remove when 26.x support is dropped.
(defun executable-find (command &optional remote)
"Search for COMMAND in `exec-path' and return the absolute file name.
Return nil if COMMAND is not found anywhere in `exec-path'. If
REMOTE is non-nil, search on the remote host indicated by
`default-directory' instead."
(if (and remote (file-remote-p default-directory))
(let ((res (locate-file
command
(mapcar
(lambda (x) (concat (file-remote-p default-directory) x))
(exec-path))
exec-suffixes 'file-executable-p)))
(when (stringp res) (file-local-name res)))
;; Use 1 rather than file-executable-p to better match the
;; behavior of call-process.
(let ((default-directory
(let (file-name-handler-alist)
(file-name-quote default-directory))))
(locate-file command exec-path exec-suffixes 1)))))
(eval-when! (not (fboundp 'exec-path))
;; DEPRECATED Backported from Emacs 27.1. Remove when 26.x support is dropped.
(defun exec-path ()
"Return list of directories to search programs to run in remote subprocesses.
The remote host is identified by `default-directory'. For remote
hosts that do not support subprocesses, this returns `nil'.
If `default-directory' is a local directory, this function returns
the value of the variable `exec-path'."
(let ((handler (find-file-name-handler default-directory 'exec-path)))
(if handler
(funcall handler 'exec-path)
exec-path))))
(provide 'core-lib) (provide 'core-lib)
;;; core-lib.el ends here ;;; core-lib.el ends here

View file

@ -571,9 +571,6 @@ windows, switch to `doom-fallback-buffer'. Otherwise, delegate to original
(cons 'custom-theme-directory (cons 'custom-theme-directory
(delq 'custom-theme-directory custom-theme-load-path))) (delq 'custom-theme-directory custom-theme-load-path)))
;; Underline looks a bit better when drawn lower
(setq x-underline-at-descent-line t)
(defun doom-init-fonts-h (&optional reload) (defun doom-init-fonts-h (&optional reload)
"Loads `doom-font'." "Loads `doom-font'."
(when (fboundp 'set-fontset-font) (when (fboundp 'set-fontset-font)
@ -667,16 +664,17 @@ windows, switch to `doom-fallback-buffer'. Otherwise, delegate to original
(dolist (fn '(switch-to-buffer display-buffer)) (dolist (fn '(switch-to-buffer display-buffer))
(advice-add fn :around #'doom-run-switch-buffer-hooks-a))) (advice-add fn :around #'doom-run-switch-buffer-hooks-a)))
;; Apply `doom-font' et co
(add-hook 'doom-after-init-modules-hook #'doom-init-fonts-h -100)
;; Apply `doom-theme' ;; Apply `doom-theme'
(add-hook (if (daemonp) (add-hook (if (daemonp)
'after-make-frame-functions 'after-make-frame-functions
'doom-after-init-modules-hook) 'doom-after-init-modules-hook)
#'doom-init-theme-h) #'doom-init-theme-h
-90)
;; Apply `doom-font' et co (add-hook 'window-setup-hook #'doom-init-ui-h 100)
(add-hook 'doom-after-init-modules-hook #'doom-init-fonts-h)
(add-hook 'window-setup-hook #'doom-init-ui-h 'append)
;; ;;
@ -702,25 +700,11 @@ windows, switch to `doom-fallback-buffer'. Otherwise, delegate to original
(fset 'define-fringe-bitmap #'ignore)) (fset 'define-fringe-bitmap #'ignore))
(after! whitespace (after! whitespace
(defun doom-disable-whitespace-mode-in-childframes-a (orig-fn) (defun doom-is-childframes-p ()
"`whitespace-mode' inundates child frames with whitespace markers, so "`whitespace-mode' inundates child frames with whitespace markers, so
disable it to fix all that visual noise." disable it to fix all that visual noise."
(unless (frame-parameter nil 'parent-frame) (frame-parameter nil 'parent-frame))
(funcall orig-fn))) (add-function :before-while whitespace-enable-predicate #'doom-is-childframes-p))
(add-function :around whitespace-enable-predicate #'doom-disable-whitespace-mode-in-childframes-a))
;; Don't display messages in the minibuffer when using the minibuffer
;; DEPRECATED Remove when Emacs 26.x support is dropped.
(eval-when! (not EMACS27+)
(defmacro doom-silence-motion-key (command key)
(let ((key-command (intern (format "doom/silent-%s" command))))
`(progn
(defun ,key-command ()
(interactive)
(ignore-errors (call-interactively ',command)))
(define-key minibuffer-local-map (kbd ,key) #',key-command))))
(doom-silence-motion-key backward-delete-char "<backspace>")
(doom-silence-motion-key delete-char "<delete>"))
(provide 'core-ui) (provide 'core-ui)
;;; core-ui.el ends here ;;; core-ui.el ends here

View file

@ -3,7 +3,7 @@
;; ;;
;;; Initialize internal state ;;; Initialize internal state
(defconst doom-version "2.0.9" (defconst doom-version "3.0.0-alpha"
"Current version of Doom Emacs.") "Current version of Doom Emacs.")
(defvar doom-init-p nil (defvar doom-init-p nil
@ -21,7 +21,6 @@ envvar will enable this at startup.")
(defconst doom-interactive-p (not noninteractive) (defconst doom-interactive-p (not noninteractive)
"If non-nil, Emacs is in interactive mode.") "If non-nil, Emacs is in interactive mode.")
(defconst EMACS27+ (> emacs-major-version 26))
(defconst EMACS28+ (> emacs-major-version 27)) (defconst EMACS28+ (> emacs-major-version 27))
(defconst IS-MAC (eq system-type 'darwin)) (defconst IS-MAC (eq system-type 'darwin))
(defconst IS-LINUX (eq system-type 'gnu/linux)) (defconst IS-LINUX (eq system-type 'gnu/linux))
@ -267,7 +266,7 @@ config.el instead."
;; indicates misconfiguration (don't rely on case insensitivity for file names). ;; indicates misconfiguration (don't rely on case insensitivity for file names).
(setq auto-mode-case-fold nil) (setq auto-mode-case-fold nil)
;; Disable bidirectional text rendering for a modest performance boost. I've set ;; Disable bidirectional text scanning for a modest performance boost. I've set
;; this to `nil' in the past, but the `bidi-display-reordering's docs say that ;; this to `nil' in the past, but the `bidi-display-reordering's docs say that
;; is an undefined state and suggest this to be just as good: ;; is an undefined state and suggest this to be just as good:
(setq-default bidi-display-reordering 'left-to-right (setq-default bidi-display-reordering 'left-to-right
@ -355,7 +354,6 @@ config.el instead."
(when (boundp 'libgnutls-version) (when (boundp 'libgnutls-version)
(concat "SECURE128:+SECURE192:-VERS-ALL" (concat "SECURE128:+SECURE192:-VERS-ALL"
(if (and (not IS-WINDOWS) (if (and (not IS-WINDOWS)
(not (version< emacs-version "26.3"))
(>= libgnutls-version 30605)) (>= libgnutls-version 30605))
":+VERS-TLS1.3") ":+VERS-TLS1.3")
":+VERS-TLS1.2")) ":+VERS-TLS1.2"))
@ -523,7 +521,6 @@ unreadable. Returns the names of envvars that were changed."
(defun doom-run-hook (hook) (defun doom-run-hook (hook)
"Run HOOK (a hook function) with better error handling. "Run HOOK (a hook function) with better error handling.
Meant to be used with `run-hook-wrapped'." Meant to be used with `run-hook-wrapped'."
(doom-log "Running doom hook: %s" hook)
(condition-case-unless-debug e (condition-case-unless-debug e
(funcall hook) (funcall hook)
(error (error
@ -578,7 +575,7 @@ TRIGGER-HOOK is a list of quoted hooks and/or sharp-quoted functions."
;; because the latter is triggered too late (after the file has ;; because the latter is triggered too late (after the file has
;; opened and modes are all set up). ;; opened and modes are all set up).
(advice-add 'after-find-file :before fn '((depth . -101)))) (advice-add 'after-find-file :before fn '((depth . -101))))
((add-hook hook fn (if EMACS27+ -101)))) ((add-hook hook fn -101)))
fn))) fn)))

View file

@ -17,7 +17,7 @@
:branch ,straight-repository-branch :branch ,straight-repository-branch
:local-repo "straight.el" :local-repo "straight.el"
:files ("straight*.el")) :files ("straight*.el"))
:pin "915707ff5139cbfaf5f1aecd881ce0abaaddcecc") :pin "b45dd00408ff8e922f2d7f75441fd5603e5222fa")
;; core-modules.el ;; core-modules.el
(package! use-package (package! use-package
@ -25,7 +25,7 @@
:pin "a7422fb8ab1baee19adb2717b5b47b9c3812a84c") :pin "a7422fb8ab1baee19adb2717b5b47b9c3812a84c")
;; core-ui.el ;; core-ui.el
(package! all-the-icons :pin "facbde4a7be292bf9490932cbe403b443273f45d") (package! all-the-icons :pin "9d97c074b08000eacefc03ebc5dadbdc33888cc2")
(package! hide-mode-line :pin "88888825b5b27b300683e662fa3be88d954b1cea") (package! hide-mode-line :pin "88888825b5b27b300683e662fa3be88d954b1cea")
(package! highlight-numbers :pin "8b4744c7f46c72b1d3d599d4fb75ef8183dee307") (package! highlight-numbers :pin "8b4744c7f46c72b1d3d599d4fb75ef8183dee307")
(package! rainbow-delimiters :pin "d576e6694ad3a3e88b2bb1363305b38fa364c149") (package! rainbow-delimiters :pin "d576e6694ad3a3e88b2bb1363305b38fa364c149")
@ -37,8 +37,6 @@
(package! helpful :pin "7e4b1f0d5572a4e2b8ee7a9b084ef863d0315a73") (package! helpful :pin "7e4b1f0d5572a4e2b8ee7a9b084ef863d0315a73")
(package! pcre2el :pin "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d") (package! pcre2el :pin "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d")
(package! smartparens :pin "911cc896a0f2eb8b5fbdd6fc8331523ad9889a3a") (package! smartparens :pin "911cc896a0f2eb8b5fbdd6fc8331523ad9889a3a")
;; DEPRECATED Built into Emacs 27+; remove when we drop 26 support
(package! so-long :built-in 'prefer :pin "1da43ed63b5f9a8188eb8107bbad842d10831537")
(package! ws-butler (package! ws-butler
;; Use my fork of ws-butler, which has a few choice improvements and ;; Use my fork of ws-butler, which has a few choice improvements and
;; optimizations (the original has been abandoned). ;; optimizations (the original has been abandoned).
@ -46,9 +44,9 @@
:pin "2bb49d3ee7d2cba133bc7e9cdac416cd1c5e4fe0") :pin "2bb49d3ee7d2cba133bc7e9cdac416cd1c5e4fe0")
;; core-projects.el ;; core-projects.el
(package! projectile :pin "5e6fdabd59ec5507c1d54f3b11ee16ddc05821d3") (package! projectile :pin "da08a9103b5ba3b38ef031a9627a19436eb318b5")
(package! project :pin "4072f35d85bf0a1c669329d66633e4819f497c1c") (package! project :pin "4072f35d85bf0a1c669329d66633e4819f497c1c")
;; core-keybinds.el ;; core-keybinds.el
(package! general :pin "a0b17d207badf462311b2eef7c065b884462cb7c") (package! general :pin "a0b17d207badf462311b2eef7c065b884462cb7c")
(package! which-key :pin "fc29864395fdaf688e2ef5111831663bad89a020") (package! which-key :pin "27d9fec33abb989b030f7677ccf5f799287d6472")

View file

@ -1174,8 +1174,7 @@ If you still want to restore the old behavior, simply disable evil-snipe-mode:
#+BEGIN_SRC emacs-lisp #+BEGIN_SRC emacs-lisp
;; in ~/.doom.d/config.el ;; in ~/.doom.d/config.el
(after! evil-snipe (remove-hook 'doom-first-input-hook #'evil-snipe-mode)
(evil-snipe-mode -1))
#+END_SRC #+END_SRC
** Changes to my config aren't taking effect ** Changes to my config aren't taking effect

View file

@ -98,7 +98,7 @@ us know!
This is what you'll have installed by the end of this section: This is what you'll have installed by the end of this section:
- Git 2.23+ - Git 2.23+
- Emacs 26.3+ *(27.2 is recommended, or [[https://www.emacswiki.org/emacs/GccEmacs][native-comp]])* - Emacs 27.1+ *(27.2 is recommended, or [[https://www.emacswiki.org/emacs/GccEmacs][native-comp]])*
- [[https://github.com/BurntSushi/ripgrep][ripgrep]] 11.0+ - [[https://github.com/BurntSushi/ripgrep][ripgrep]] 11.0+
- GNU Find - GNU Find
- (Optional) [[https://github.com/sharkdp/fd][fd]] 7.3.0+ (known as ~fd-find~ on Debian, Ubuntu & derivatives) -- - (Optional) [[https://github.com/sharkdp/fd][fd]] 7.3.0+ (known as ~fd-find~ on Debian, Ubuntu & derivatives) --
@ -108,20 +108,15 @@ These packages ought to be available through the package managers of your
operating system; i.e. homebrew & macports on macOS, scoop/chocolatey on operating system; i.e. homebrew & macports on macOS, scoop/chocolatey on
Windows, or pacman/aptitude/etc on the various Linux distributions. Windows, or pacman/aptitude/etc on the various Linux distributions.
#+begin_quote
While Doom does claim to support 26.x, 27.x is recommended because it is faster,
especially for LSP users. The installation guides below will touch on installing
27 if there is a simple way to do so on that particular operating system.
#+end_quote
** Emacs & dependencies ** Emacs & dependencies
*** On Linux *** On Linux
In the unusual case that Emacs 26.x is unavailable through your package manager, Installation instructions for Emacs 27.1+ are listed below for many popular
you'll have to [[https://www.gnu.org/software/emacs/manual/html_node/efaq/Installing-Emacs.html][build it from source]], but here are installation instructions for many popular Linux distributions: Linux distributions. In the unusual case that 27.1 or newer is unavailable on
your system, you'll have to [[https://www.gnu.org/software/emacs/manual/html_node/efaq/Installing-Emacs.html][build it from source]] instead.
**** Ubuntu **** Ubuntu
Emacs 27.x is not available through Ubuntu's package manager out-of-the-box. To Emacs 27.x is not available through Ubuntu's package manager out-of-the-box, but
get around this you'll need to install Emacs through a PPA: is available through a PPA:
#+BEGIN_SRC bash #+BEGIN_SRC bash
add-apt-repository ppa:kelleyk/emacs add-apt-repository ppa:kelleyk/emacs
@ -165,8 +160,9 @@ pacman -S fd
The above installs Emacs 27 (at the time of writing). The above installs Emacs 27 (at the time of writing).
**** NixOS **** NixOS
On NixOS Emacs 26.3 can be installed via ~nix-env -Ai nixos.emacs~, or On NixOS Emacs 27.2 can be installed via ~nix-env -Ai nixos.emacs~, or
permanently with the following added to ~etc/nixos/configuration.nix~: permanently with the following added to ~etc/nixos/configuration.nix~:
#+BEGIN_SRC nix #+BEGIN_SRC nix
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
# required dependencies # required dependencies
@ -192,7 +188,7 @@ environment.systemPackages = [
#+END_SRC #+END_SRC
**** openSUSE **** openSUSE
***** Emacs 26.3 ***** Emacs 27.1
Emacs can be installed from the [[https://software.opensuse.org/download.html?project=editors&package=emacs][package list]], or manually via zypper. Emacs can be installed from the [[https://software.opensuse.org/download.html?project=editors&package=emacs][package list]], or manually via zypper.
For example, to install on openSUSE Leap 15.1 (requires root): For example, to install on openSUSE Leap 15.1 (requires root):
@ -203,7 +199,7 @@ zypper install emacs
#+END_SRC #+END_SRC
If you already have an older version of Emacs installed, you will be prompted to If you already have an older version of Emacs installed, you will be prompted to
install the update candidate (Emacs 26.3). install the update candidate (Emacs 27.1).
***** ripgrep ***** ripgrep
Download ripgrep 11.0.2 from [[https://software.opensuse.org/download/package?package=ripgrep&project=openSUSE%3AFactory][the package list]] or installed manually (requires Download ripgrep 11.0.2 from [[https://software.opensuse.org/download/package?package=ripgrep&project=openSUSE%3AFactory][the package list]] or installed manually (requires
@ -346,16 +342,16 @@ Or by replacing ~/usr/local/bin/emacs~ with a shim script containing:
There are some suggestions on how to speed it up later in this section. There are some suggestions on how to speed it up later in this section.
#+end_quote #+end_quote
There are three methods for installing Emacs 26.x on Windows, each with their There are three methods for installing Emacs 27.x on Windows, each with their
pros and cons: pros and cons:
+ With chocolatey/scoop + With chocolatey/scoop
+ With a precompiled binary + Git Bash + With a precompiled binary + Git Bash
+ With WSL + Ubuntu + With WSL2 + Ubuntu
If you don't know which to choose, I recommend WSL; it produces the fastest and If you don't know which to choose, I highly recommend WSL; it produces the
most stable environment of the three, but has the most complex installation fastest and most stable environment of the three, but has the most complex
process. installation process.
Before moving on to installing Emacs et co, a few steps to prepare Windows for Before moving on to installing Emacs et co, a few steps to prepare Windows for
Emacs are necessary: Emacs are necessary:
@ -446,7 +442,7 @@ bin/doom command.
#+BEGIN_SRC sh #+BEGIN_SRC sh
sudo add-apt-repository ppa:kelleyk/emacs sudo add-apt-repository ppa:kelleyk/emacs
sudo apt update sudo apt update
sudo apt install emacs26 sudo apt install emacs27
#+END_SRC #+END_SRC
7. Then Doom's dependencies: 7. Then Doom's dependencies:
#+BEGIN_SRC sh #+BEGIN_SRC sh

View file

@ -79,7 +79,7 @@ d s= (or =C-h d s=).
+ *Doom Emacs* + *Doom Emacs*
- (videos) [[https://www.youtube.com/playlist?list=PLyy8KUDC8P7X6YkegqrnEnymzMWCNB4bN][Doom Emacs Tutorials]] by [[https://www.youtube.com/channel/UCVls1GmFKf6WlTraIb_IaJg][DistroTube]] - (videos) [[https://www.youtube.com/playlist?list=PLyy8KUDC8P7X6YkegqrnEnymzMWCNB4bN][Doom Emacs Tutorials]] by [[https://www.youtube.com/channel/UCVls1GmFKf6WlTraIb_IaJg][DistroTube]]
- (videos) [[https://www.youtube.com/playlist?list=PLhXZp00uXBk4np17N39WvB80zgxlZfVwj][DoomCasts]] by @zaiste - (videos) [[https://www.youtube.com/playlist?list=PLhXZp00uXBk4np17N39WvB80zgxlZfVwj][DoomCasts]] by @zaiste
- [[https://noelwelsh.com/posts/2019-01-10-doom-emacs.html][Noel's crash course on Doom Emacs]] - [[https://noelwelsh.com/posts/doom-emacs][Noel's crash course on Doom Emacs]]
- [[https://medium.com/@aria_39488/getting-started-with-doom-emacs-a-great-transition-from-vim-to-emacs-9bab8e0d8458][Getting Started with Doom Emacs -- a great transition from Vim to Emacs]] - [[https://medium.com/@aria_39488/getting-started-with-doom-emacs-a-great-transition-from-vim-to-emacs-9bab8e0d8458][Getting Started with Doom Emacs -- a great transition from Vim to Emacs]]
- [[https://medium.com/@aria_39488/the-niceties-of-evil-in-doom-emacs-cabb46a9446b][The Niceties of evil in Doom Emacs]] - [[https://medium.com/@aria_39488/the-niceties-of-evil-in-doom-emacs-cabb46a9446b][The Niceties of evil in Doom Emacs]]
- (video) [[https://www.youtube.com/watch?v=GK3fij-D1G8][Org-mode, literate programming in (Doom) Emacs]] - (video) [[https://www.youtube.com/watch?v=GK3fij-D1G8][Org-mode, literate programming in (Doom) Emacs]]

View file

@ -123,7 +123,7 @@ Modules that bring support for a language or group of languages to Emacs.
+ [[file:../modules/lang/javascript/README.org][javascript]] =+lsp= - JavaScript, TypeScript, and CoffeeScript support + [[file:../modules/lang/javascript/README.org][javascript]] =+lsp= - JavaScript, TypeScript, and CoffeeScript support
+ [[file:../modules/lang/json/README.org][json]] =+lsp= - TODO + [[file:../modules/lang/json/README.org][json]] =+lsp= - TODO
+ [[file:../modules/lang/julia/README.org][julia]] =+lsp= - TODO + [[file:../modules/lang/julia/README.org][julia]] =+lsp= - TODO
+ [[file:../modules/lang/kotlin/README.org][kotlin]] =+lsp+= - TODO + [[file:../modules/lang/kotlin/README.org][kotlin]] =+lsp= - TODO
+ [[file:../modules/lang/latex/README.org][latex]] =+latexmk +cdlatex +fold +lsp= - TODO + [[file:../modules/lang/latex/README.org][latex]] =+latexmk +cdlatex +fold +lsp= - TODO
+ lean - TODO + lean - TODO
+ [[file:../modules/lang/ledger/README.org][ledger]] - TODO + [[file:../modules/lang/ledger/README.org][ledger]] - TODO
@ -138,7 +138,7 @@ Modules that bring support for a language or group of languages to Emacs.
+ purescript =+lsp= - TODO + purescript =+lsp= - TODO
+ [[file:../modules/lang/python/README.org][python]] =+cython +lsp +pyright +pyenv +conda +poetry= - TODO + [[file:../modules/lang/python/README.org][python]] =+cython +lsp +pyright +pyenv +conda +poetry= - TODO
+ qt - TODO + qt - TODO
+ racket - TODO + [[file:../modules/lang/racket/README.org][racket]] =+lsp +xp= - TODO
+ [[file:../modules/lang/raku/README.org][raku]] - TODO + [[file:../modules/lang/raku/README.org][raku]] - TODO
+ [[file:../modules/lang/rest/README.org][rest]] - TODO + [[file:../modules/lang/rest/README.org][rest]] - TODO
+ rst - TODO + rst - TODO
@ -203,7 +203,6 @@ Aesthetic modules that affect the Emacs interface or user experience.
+ [[file:../modules/ui/doom-dashboard/README.org][doom-dashboard]] - TODO + [[file:../modules/ui/doom-dashboard/README.org][doom-dashboard]] - TODO
+ [[file:../modules/ui/doom-quit/README.org][doom-quit]] - TODO + [[file:../modules/ui/doom-quit/README.org][doom-quit]] - TODO
+ [[file:../modules/ui/emoji/README.org][emoji]] =+ascii +github +unicode= - Adds emoji support to Emacs + [[file:../modules/ui/emoji/README.org][emoji]] =+ascii +github +unicode= - Adds emoji support to Emacs
+ [[file:../modules/ui/fill-column/README.org][fill-column]] - TODO
+ [[file:../modules/ui/hl-todo/README.org][hl-todo]] - TODO + [[file:../modules/ui/hl-todo/README.org][hl-todo]] - TODO
+ [[file:../modules/ui/hydra/README.org][hydra]] - TODO + [[file:../modules/ui/hydra/README.org][hydra]] - TODO
+ indent-guides - TODO + indent-guides - TODO

View file

@ -11,10 +11,9 @@
;; Prevent unwanted runtime compilation for gccemacs (native-comp) users; ;; Prevent unwanted runtime compilation for gccemacs (native-comp) users;
;; packages are compiled ahead-of-time when they are installed and site files ;; packages are compiled ahead-of-time when they are installed and site files
;; are compiled when gccemacs is installed. ;; are compiled when gccemacs is installed.
;; REVIEW Remove after a couple months ;; REVIEW Remove after a month
(if (boundp 'comp-deferred-compilation) (setq comp-deferred-compilation nil
(setq comp-deferred-compilation nil) native-comp-deferred-compilation nil)
(setq native-comp-deferred-compilation nil))
;; In noninteractive sessions, prioritize non-byte-compiled source files to ;; In noninteractive sessions, prioritize non-byte-compiled source files to
;; prevent the use of stale byte-code. Otherwise, it saves us a little IO time ;; prevent the use of stale byte-code. Otherwise, it saves us a little IO time

View file

@ -31,7 +31,6 @@
doom-dashboard ; a nifty splash screen for Emacs doom-dashboard ; a nifty splash screen for Emacs
doom-quit ; DOOM quit-message prompts when you quit Emacs doom-quit ; DOOM quit-message prompts when you quit Emacs
;;(emoji +unicode) ; 🙂 ;;(emoji +unicode) ; 🙂
;;fill-column ; a `fill-column' indicator
hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW hl-todo ; highlight TODO/FIXME/NOTE/DEPRECATED/HACK/REVIEW
;;hydra ;;hydra
;;indent-guides ; highlighted indent columns ;;indent-guides ; highlighted indent columns
@ -93,7 +92,7 @@
(eval +overlay) ; run code, run (also, repls) (eval +overlay) ; run code, run (also, repls)
;;gist ; interacting with github gists ;;gist ; interacting with github gists
lookup ; navigate your code and its documentation lookup ; navigate your code and its documentation
;;lsp ;;lsp ; M-x vscode
magit ; a git porcelain for Emacs magit ; a git porcelain for Emacs
;;make ; run make tasks from Emacs ;;make ; run make tasks from Emacs
;;pass ; password manager for nerds ;;pass ; password manager for nerds

View file

@ -1,4 +1,4 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; app/emms/packages.el ;;; app/emms/packages.el
(package! emms :pin "06ef243c5a7b60de92ba5503bb385191e35fe21c") (package! emms :pin "6e0aaaf4c5598826b24c3079b80bf8af000a77c6")

View file

@ -1,5 +1,5 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; app/irc/packages.el ;;; app/irc/packages.el
(package! circe :pin "4778675e0c3bde1c028085b7d96693fe033d2c72") (package! circe :pin "d6f1fa18646f6ed2a1c0f06a4888130bd694ff19")
(package! circe-notifications :pin "291149ac12877bbd062da993479d3533a26862b0") (package! circe-notifications :pin "291149ac12877bbd062da993479d3533a26862b0")

View file

@ -1,6 +1,6 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; app/rss/packages.el ;;; app/rss/packages.el
(package! elfeed :pin "e29c8b91450bd42d90041231f769c4e5fe5070da") (package! elfeed :pin "243add9e74003cd5718f33482b7bb8b4fe140fb5")
(when (featurep! +org) (when (featurep! +org)
(package! elfeed-org :pin "268efdd0121fa61f63b722c30e0951c5d31224a4")) (package! elfeed-org :pin "268efdd0121fa61f63b722c30e0951c5d31224a4"))

View file

@ -2,4 +2,4 @@
;;; checkers/grammar/packages.el ;;; checkers/grammar/packages.el
(package! langtool :pin "8276eccc5587bc12fd205ee58a7a982f0a136e41") (package! langtool :pin "8276eccc5587bc12fd205ee58a7a982f0a136e41")
(package! writegood-mode :pin "b71757ec337e226909fb0422f0224e31acc71733") (package! writegood-mode :pin "ed42d918d98826ad88928b7af9f2597502afc6b0")

View file

@ -1,6 +1,6 @@
#+TITLE: checkers/spell #+TITLE: checkers/spell
#+DATE: January 9, 2020 #+DATE: February 20, 2017
#+SINCE: v3.0.0 #+SINCE: v2.0
#+STARTUP: inlineimages nofold #+STARTUP: inlineimages nofold
* Table of Contents :TOC_3:noexport: * Table of Contents :TOC_3:noexport:

View file

@ -56,7 +56,7 @@ or session. Otherwise, the addition is permanent."
(if (null ispell-pdict-modified-p) (if (null ispell-pdict-modified-p)
(setq ispell-pdict-modified-p (setq ispell-pdict-modified-p
(list ispell-pdict-modified-p))) (list ispell-pdict-modified-p)))
(if (eq replace 'buffer) (if (eq scope 'buffer)
(ispell-add-per-file-word-list word)))) (ispell-add-per-file-word-list word))))
(ispell-pdict-save t)) (ispell-pdict-save t))

View file

@ -2,8 +2,8 @@
;;; checkers/spell/packages.el ;;; checkers/spell/packages.el
(if (not (featurep! +flyspell)) (if (not (featurep! +flyspell))
(package! spell-fu :pin "30c5eea9440915c2795670ecdbf836f3cb9dcc1b") (package! spell-fu :pin "1abcb5594e1bfe35716d29e64523e4cebdce737c")
(package! flyspell-correct :pin "d19a090b978a249fc8f6d8b14309a5705a6bb483") (package! flyspell-correct :pin "404233604439117301562deadc952fe82cb02120")
(cond ((featurep! :completion ivy) (cond ((featurep! :completion ivy)
(package! flyspell-correct-ivy)) (package! flyspell-correct-ivy))
((featurep! :completion helm) ((featurep! :completion helm)

View file

@ -1,7 +1,7 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; checkers/syntax/packages.el ;;; checkers/syntax/packages.el
(package! flycheck :pin "f8c679fff349850c80541a31de50009c3c15d4c9") (package! flycheck :pin "21d52264aa80bfa4ede94c59e37a20fb6d033b0c")
(package! flycheck-popup-tip :pin "ef86aad907f27ca076859d8d9416f4f7727619c6") (package! flycheck-popup-tip :pin "ef86aad907f27ca076859d8d9416f4f7727619c6")
(when (featurep! +childframe) (when (featurep! +childframe)
(package! flycheck-posframe :pin "8f60c9bf124ab9597d681504a73fdf116a0bde12")) (package! flycheck-posframe :pin "8f60c9bf124ab9597d681504a73fdf116a0bde12"))

View file

@ -26,10 +26,9 @@
company-backends '(company-capf) company-backends '(company-capf)
;; These auto-complete the current selection when ;; These auto-complete the current selection when
;; `company-auto-complete-chars' is typed. This is too magical. We ;; `company-auto-commit-chars' is typed. This is too magical. We
;; already have the much more explicit RET and TAB. ;; already have the much more explicit RET and TAB.
company-auto-complete nil company-auto-commit nil
company-auto-complete-chars nil
;; Only search the current buffer for `company-dabbrev' (a backend that ;; Only search the current buffer for `company-dabbrev' (a backend that
;; suggests text your open buffers). This prevents Company from causing ;; suggests text your open buffers). This prevents Company from causing
@ -90,6 +89,7 @@
;;; Packages ;;; Packages
(after! company-files (after! company-files
;; Fix `company-files' completion for org file:* links
(add-to-list 'company-files--regexps "file:\\(\\(?:\\.\\{1,2\\}/\\|~/\\|/\\)[^\]\n]*\\)")) (add-to-list 'company-files--regexps "file:\\(\\(?:\\.\\{1,2\\}/\\|~/\\|/\\)[^\]\n]*\\)"))
@ -101,6 +101,8 @@
company-box-backends-colors nil company-box-backends-colors nil
company-box-max-candidates 50 company-box-max-candidates 50
company-box-icons-alist 'company-box-icons-all-the-icons company-box-icons-alist 'company-box-icons-all-the-icons
;; Move company-box-icons--elisp to the end, because it has a catch-all
;; clause that ruins icons from other backends in elisp buffers.
company-box-icons-functions company-box-icons-functions
(cons #'+company-box-icons--elisp-fn (cons #'+company-box-icons--elisp-fn
(delq 'company-box-icons--elisp (delq 'company-box-icons--elisp

View file

@ -1,7 +1,7 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; completion/company/packages.el ;;; completion/company/packages.el
(package! company :pin "ee3177cdad47cbe92242eeb52c7bdb9505282db6") (package! company :pin "d77184094b9a45b204813d824918e1ec2aac8504")
(package! company-dict :pin "cd7b8394f6014c57897f65d335d6b2bd65dab1f4") (package! company-dict :pin "cd7b8394f6014c57897f65d335d6b2bd65dab1f4")
(when (featurep! +childframe) (when (featurep! +childframe)
(package! company-box :pin "aa5f09a5492344e3cc831f0f169a6a8345dec358")) (package! company-box :pin "c8a867163b15586cc9ed4accb992094308e54a9a"))

View file

@ -8,10 +8,6 @@
- [[#module-flags][Module Flags]] - [[#module-flags][Module Flags]]
- [[#plugins][Plugins]] - [[#plugins][Plugins]]
- [[#prerequisites][Prerequisites]] - [[#prerequisites][Prerequisites]]
- [[#install][Install]]
- [[#macos][MacOS]]
- [[#arch-linux][Arch Linux]]
- [[#opensuse][openSUSE]]
- [[#features][Features]] - [[#features][Features]]
- [[#jump-to-navigation][Jump-to navigation]] - [[#jump-to-navigation][Jump-to navigation]]
- [[#project-search--replace][Project search & replace]] - [[#project-search--replace][Project search & replace]]
@ -58,25 +54,7 @@ Ivy is considered a first-class citizen in Doom, however it is still possible to
+ [[https://github.com/yyoncho/helm-icons][helm-icons]]* (=+icons=) + [[https://github.com/yyoncho/helm-icons][helm-icons]]* (=+icons=)
* Prerequisites * Prerequisites
This module depends on: This module has no prerequisites.
+ [[https://github.com/BurntSushi/ripgrep][ripgrep]] (rg)
** Install
*** MacOS
#+BEGIN_SRC sh
brew install ripgrep
#+END_SRC
*** Arch Linux
#+BEGIN_SRC sh :dir /sudo::
sudo pacman --needed --noconfirm -S ripgrep
#+END_SRC
*** openSUSE
#+BEGIN_SRC sh :dir /sudo::
sudo zypper install ripgrep
#+END_SRC
* Features * Features
Much like Ivy, Helm is a /large/ framework and as such Much like Ivy, Helm is a /large/ framework and as such

View file

@ -96,10 +96,7 @@ Can be negative.")
;; `completion-styles', since that would be overly intrusive. E.g., it ;; `completion-styles', since that would be overly intrusive. E.g., it
;; results in `company-capf' returning far to many completion candidates. ;; results in `company-capf' returning far to many completion candidates.
;; Instead, append those styles so that they act as a fallback. ;; Instead, append those styles so that they act as a fallback.
(add-to-list 'completion-styles (add-to-list 'completion-styles (if fuzzy 'flex 'helm) t))
(if EMACS27+
(if fuzzy 'flex 'helm)
(if fuzzy 'helm-flex 'helm)) t))
:config :config
(set-popup-rule! "^\\*helm" :vslot -100 :size 0.22 :ttl nil) (set-popup-rule! "^\\*helm" :vslot -100 :size 0.22 :ttl nil)
@ -172,7 +169,6 @@ Can be negative.")
helm-projectile-switch-project helm-projectile-switch-project
helm-projectile-switch-to-buffer) helm-projectile-switch-to-buffer)
:init :init
(setq projectile-completion-system 'helm)
(defvar helm-projectile-find-file-map (make-sparse-keymap)) (defvar helm-projectile-find-file-map (make-sparse-keymap))
:config :config
(set-keymap-parent helm-projectile-find-file-map helm-map)) (set-keymap-parent helm-projectile-find-file-map helm-map))

View file

@ -1,7 +1,7 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; completion/helm/packages.el ;;; completion/helm/packages.el
(package! helm :pin "a7bd522073e4c959ae88ff9eeb2191528242705e") (package! helm :pin "42e28369d5d3c5f75df7452c1efb0f7acea39666")
(package! helm-rg :pin "ee0a3c09da0c843715344919400ab0a0190cc9dc") (package! helm-rg :pin "ee0a3c09da0c843715344919400ab0a0190cc9dc")
(package! helm-c-yasnippet :pin "e214eec8b2875d8a7cd09006dfb6a8e15e9e4079") (package! helm-c-yasnippet :pin "e214eec8b2875d8a7cd09006dfb6a8e15e9e4079")
(package! helm-company :pin "6eb5c2d730a60e394e005b47c1db018697094dde") (package! helm-company :pin "6eb5c2d730a60e394e005b47c1db018697094dde")
@ -13,7 +13,7 @@
(when (featurep! +fuzzy) (when (featurep! +fuzzy)
(package! helm-flx :pin "6640fac5cb16bee73c95b8ed1248a4e5e113690e")) (package! helm-flx :pin "6640fac5cb16bee73c95b8ed1248a4e5e113690e"))
(when (featurep! +childframe) (when (featurep! +childframe)
(package! posframe :pin "739d8fd1081bdd0d20dee9e437d64df58747b871")) (package! posframe :pin "f97c4aff2c2c376ca62276d5597aa108546633a9"))
(when (featurep! :lang org) (when (featurep! :lang org)
(package! helm-org :pin "d67186d3a64e610c03a5f3d583488f018fb032e4")) (package! helm-org :pin "d67186d3a64e610c03a5f3d583488f018fb032e4"))
(when (featurep! +icons) (when (featurep! +icons)

View file

@ -2,7 +2,7 @@
;;; completion/ido/packages.el ;;; completion/ido/packages.el
(package! flx-ido :pin "647cb2f92f9936c62e277d7a74ad54a80502d255") (package! flx-ido :pin "647cb2f92f9936c62e277d7a74ad54a80502d255")
(package! ido-completing-read+ :pin "00674721e4fce283c918f7316f1158da1d469910") (package! ido-completing-read+ :pin "49e7967ea8c0ab0a206b40d70fc19be115083fa1")
(package! ido-sort-mtime :pin "f638ff0c922af862f5211779f2311a27fde428eb") (package! ido-sort-mtime :pin "f638ff0c922af862f5211779f2311a27fde428eb")
(package! ido-vertical-mode :pin "b1659e967da0687abceca733b389ace24004fa66") (package! ido-vertical-mode :pin "b1659e967da0687abceca733b389ace24004fa66")
(package! crm-custom :pin "f1aaccf64306a5f99d9bf7ba815d7ea41c15518d") (package! crm-custom :pin "f1aaccf64306a5f99d9bf7ba815d7ea41c15518d")

View file

@ -9,10 +9,6 @@
- [[#plugins][Plugins]] - [[#plugins][Plugins]]
- [[#hacks][Hacks]] - [[#hacks][Hacks]]
- [[#prerequisites][Prerequisites]] - [[#prerequisites][Prerequisites]]
- [[#install][Install]]
- [[#macos][MacOS]]
- [[#arch-linux][Arch Linux]]
- [[#opensuse][openSUSE]]
- [[#features][Features]] - [[#features][Features]]
- [[#jump-to-navigation][Jump-to navigation]] - [[#jump-to-navigation][Jump-to navigation]]
- [[#project-search--replace][Project search & replace]] - [[#project-search--replace][Project search & replace]]
@ -64,25 +60,7 @@ lighter, simpler and faster in many cases.
command) command)
* Prerequisites * Prerequisites
This module depends on: This module has no prerequisites.
+ [[https://github.com/BurntSushi/ripgrep][ripgrep]] (rg)
** Install
*** MacOS
#+BEGIN_SRC sh
brew install ripgrep
#+END_SRC
*** Arch Linux
#+BEGIN_SRC sh :dir /sudo::
sudo pacman -S ripgrep
#+END_SRC
*** openSUSE
#+BEGIN_SRC sh :dir /sudo::
sudo zypper install ripgrep
#+END_SRC
* Features * Features
Ivy and its ilk are large plugins. Covering everything about them is outside of Ivy and its ilk are large plugins. Covering everything about them is outside of

View file

@ -64,7 +64,6 @@ results buffer.")
ivy-fixed-height-minibuffer t ivy-fixed-height-minibuffer t
ivy-read-action-function #'ivy-hydra-read-action ivy-read-action-function #'ivy-hydra-read-action
ivy-read-action-format-function #'ivy-read-action-format-columns ivy-read-action-format-function #'ivy-read-action-format-columns
projectile-completion-system 'ivy
;; don't show recent files in switch-buffer ;; don't show recent files in switch-buffer
ivy-use-virtual-buffers nil ivy-use-virtual-buffers nil
;; ...but if that ever changes, show their full path ;; ...but if that ever changes, show their full path

View file

@ -1,7 +1,7 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; completion/ivy/packages.el ;;; completion/ivy/packages.el
(package! swiper :pin "a5eade0c77b7dd78cdea0f246683c6cb00f7b7c6") (package! swiper :pin "56139df678d9886d0612c0a192cce2cf6f156628")
(package! ivy) (package! ivy)
(package! ivy-hydra) (package! ivy-hydra)
(package! ivy-avy) (package! ivy-avy)
@ -18,7 +18,7 @@
(package! flx :pin "647cb2f92f9936c62e277d7a74ad54a80502d255"))) (package! flx :pin "647cb2f92f9936c62e277d7a74ad54a80502d255")))
(when (featurep! +childframe) (when (featurep! +childframe)
(package! ivy-posframe :pin "084cc59ea2cd62afaa51445ada3d00404749a541")) (package! ivy-posframe :pin "9c8382823392d5e64fb4879055e43ab4a029e62a"))
(when (featurep! +icons) (when (featurep! +icons)
(package! all-the-icons-ivy :pin "a70cbfa1effe36efc946a823a580cec686d5e88d")) (package! all-the-icons-ivy :pin "a70cbfa1effe36efc946a823a580cec686d5e88d"))

View file

@ -278,8 +278,7 @@
;;; <leader> t --- toggle ;;; <leader> t --- toggle
(:prefix-map ("t" . "toggle") (:prefix-map ("t" . "toggle")
:desc "Big mode" "b" #'doom-big-font-mode :desc "Big mode" "b" #'doom-big-font-mode
(:when (featurep! :ui fill-column) :desc "Fill Column Indicator" "c" #'global-display-fill-column-indicator-mode
:desc "Fill Column Indicator" "c" #'+fill-column/toggle)
:desc "Flymake" "f" #'flymake-mode :desc "Flymake" "f" #'flymake-mode
:desc "Frame fullscreen" "F" #'toggle-frame-fullscreen :desc "Frame fullscreen" "F" #'toggle-frame-fullscreen
:desc "Indent style" "I" #'doom/toggle-indent-style :desc "Indent style" "I" #'doom/toggle-indent-style
@ -325,7 +324,7 @@
:desc "Magit blame" "B" #'magit-blame-addition :desc "Magit blame" "B" #'magit-blame-addition
:desc "Magit clone" "C" #'magit-clone :desc "Magit clone" "C" #'magit-clone
:desc "Magit fetch" "F" #'magit-fetch :desc "Magit fetch" "F" #'magit-fetch
:desc "Magit buffer log" "L" #'magit-log :desc "Magit buffer log" "L" #'magit-log-buffer-file
:desc "Git stage file" "S" #'magit-stage-file :desc "Git stage file" "S" #'magit-stage-file
:desc "Git unstage file" "U" #'magit-unstage-file :desc "Git unstage file" "U" #'magit-unstage-file
(:prefix ("f" . "find") (:prefix ("f" . "find")
@ -365,6 +364,7 @@
:desc "Display workspaces" "d" #'+workspace/display :desc "Display workspaces" "d" #'+workspace/display
:desc "Rename workspace" "r" #'+workspace/rename :desc "Rename workspace" "r" #'+workspace/rename
:desc "Create workspace" "c" #'+workspace/new :desc "Create workspace" "c" #'+workspace/new
:desc "Create named workspace" "C" #'+workspace/new-named
:desc "Delete workspace" "k" #'+workspace/delete :desc "Delete workspace" "k" #'+workspace/delete
:desc "Save workspace" "S" #'+workspace/save :desc "Save workspace" "S" #'+workspace/save
:desc "Switch to other workspace" "o" #'+workspace/other :desc "Switch to other workspace" "o" #'+workspace/other

View file

@ -306,6 +306,7 @@
:desc "Switch workspace" "." #'+workspace/switch-to :desc "Switch workspace" "." #'+workspace/switch-to
:desc "Switch to last workspace" "`" #'+workspace/other :desc "Switch to last workspace" "`" #'+workspace/other
:desc "New workspace" "n" #'+workspace/new :desc "New workspace" "n" #'+workspace/new
:desc "New named workspace" "N" #'+workspace/new-named
:desc "Load workspace from file" "l" #'+workspace/load :desc "Load workspace from file" "l" #'+workspace/load
:desc "Save workspace to file" "s" #'+workspace/save :desc "Save workspace to file" "s" #'+workspace/save
:desc "Delete session" "x" #'+workspace/kill-session :desc "Delete session" "x" #'+workspace/kill-session
@ -445,7 +446,7 @@
:desc "Magit blame" "B" #'magit-blame-addition :desc "Magit blame" "B" #'magit-blame-addition
:desc "Magit clone" "C" #'magit-clone :desc "Magit clone" "C" #'magit-clone
:desc "Magit fetch" "F" #'magit-fetch :desc "Magit fetch" "F" #'magit-fetch
:desc "Magit buffer log" "L" #'magit-log :desc "Magit buffer log" "L" #'magit-log-buffer-file
:desc "Git stage file" "S" #'magit-stage-file :desc "Git stage file" "S" #'magit-stage-file
:desc "Git unstage file" "U" #'magit-unstage-file :desc "Git unstage file" "U" #'magit-unstage-file
(:prefix ("f" . "find") (:prefix ("f" . "find")
@ -682,8 +683,7 @@
;;; <leader> t --- toggle ;;; <leader> t --- toggle
(:prefix-map ("t" . "toggle") (:prefix-map ("t" . "toggle")
:desc "Big mode" "b" #'doom-big-font-mode :desc "Big mode" "b" #'doom-big-font-mode
(:when (featurep! :ui fill-column) :desc "Fill Column Indicator" "c" #'global-display-fill-column-indicator-mode
:desc "Fill Column Indicator" "c" #'+fill-column/toggle)
:desc "Flymake" "f" #'flymake-mode :desc "Flymake" "f" #'flymake-mode
(:when (featurep! :checkers syntax) (:when (featurep! :checkers syntax)
:desc "Flycheck" "f" #'flycheck-mode) :desc "Flycheck" "f" #'flycheck-mode)

View file

@ -34,10 +34,7 @@
(after! epa (after! epa
;; With GPG 2.1+, this forces gpg-agent to use the Emacs minibuffer to prompt ;; With GPG 2.1+, this forces gpg-agent to use the Emacs minibuffer to prompt
;; for the key passphrase. ;; for the key passphrase.
(set (if EMACS27+ (set 'epg-pinentry-mode 'loopback)
'epg-pinentry-mode
'epa-pinentry-mode) ; DEPRECATED `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 (setq-default
epa-file-encrypt-to epa-file-encrypt-to

View file

@ -172,8 +172,8 @@ vim-seek/vim-sneak for 2-character versions of f/F/t/T).
To disable evil-snipe on s/S, you can either: To disable evil-snipe on s/S, you can either:
1. Disable ~evil-snipe-mode~ by adding ~(after! evil-snipe (evil-snipe-mode 1. Disable ~evil-snipe-mode~ by adding ~(remove-hook 'doom-first-input-hook
-1))~ to =$DOOMDIR/config.el=, #'evil-snipe-mode)~ to =$DOOMDIR/config.el=,
2. Or disable =evil-snipe= completely with ~(package! evil-snipe :disable t)~ 2. Or disable =evil-snipe= completely with ~(package! evil-snipe :disable t)~
added to =$DOOMDIR/packages.el=, but this will also disable incremental added to =$DOOMDIR/packages.el=, but this will also disable incremental
highlighting for the f/F/t/T motions keys. highlighting for the f/F/t/T motions keys.

View file

@ -106,6 +106,7 @@ variable for an explanation of the defaults (in comments). See
deadgrep deadgrep
debbugs debbugs
debug debug
devdocs
dictionary dictionary
diff-mode diff-mode
dired dired
@ -123,6 +124,7 @@ variable for an explanation of the defaults (in comments). See
elisp-mode elisp-mode
elisp-refs elisp-refs
elisp-slime-nav elisp-slime-nav
embark
emms emms
epa epa
ert ert
@ -209,13 +211,15 @@ variable for an explanation of the defaults (in comments). See
speedbar speedbar
tablist tablist
tar-mode tar-mode
telega
(term term ansi-term multi-term) (term term ansi-term multi-term)
tetris tetris
,@(if EMACS27+ '(thread)) thread
tide tide
timer-list timer-list
transmission transmission
trashed trashed
tuareg
typescript-mode typescript-mode
vc-annotate vc-annotate
vc-dir vc-dir
@ -299,9 +303,8 @@ and complains if a module is loaded too early (during startup)."
(+evil-collection-init '(process-menu simple))) (+evil-collection-init '(process-menu simple)))
(add-transient-hook! 'tabulated-list-mode (add-transient-hook! 'tabulated-list-mode
(+evil-collection-init 'tabulated-list)) (+evil-collection-init 'tabulated-list))
(when EMACS27+
(add-transient-hook! 'tab-bar-mode (add-transient-hook! 'tab-bar-mode
(+evil-collection-init 'tab-bar))) (+evil-collection-init 'tab-bar))
;; HACK Do this ourselves because evil-collection break's `eval-after-load' ;; HACK Do this ourselves because evil-collection break's `eval-after-load'
;; load order by loading their target plugin before applying keys. This ;; load order by loading their target plugin before applying keys. This

View file

@ -1,7 +1,7 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; editor/evil/packages.el ;;; editor/evil/packages.el
(package! evil :pin "1b3db6349d04adfc68f707b0edd800f5ab3cb374") (package! evil :pin "b237462feed177cc74a48f462bc9356681a60ff8")
(package! evil-args :pin "758ad5ae54ad34202064fec192c88151c08cb387") (package! evil-args :pin "758ad5ae54ad34202064fec192c88151c08cb387")
(package! evil-easymotion :pin "f96c2ed38ddc07908db7c3c11bcd6285a3e8c2e9") (package! evil-easymotion :pin "f96c2ed38ddc07908db7c3c11bcd6285a3e8c2e9")
(package! evil-embrace :pin "464e8ec52ff78edf3c9060143fc375f6ce5f275f") (package! evil-embrace :pin "464e8ec52ff78edf3c9060143fc375f6ce5f275f")
@ -11,14 +11,14 @@
(package! evil-exchange :pin "ac50f21b29b6e3a111e10a9e88ae61c907ac5ee8") (package! evil-exchange :pin "ac50f21b29b6e3a111e10a9e88ae61c907ac5ee8")
(package! evil-indent-plus :pin "0c7501e6efed661242c3a20e0a6c79a6455c2c40") (package! evil-indent-plus :pin "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
(package! evil-lion :pin "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab") (package! evil-lion :pin "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
(package! evil-nerd-commenter :pin "b8ac35fe019df5602c31912f65303a3d8ad0066c") (package! evil-nerd-commenter :pin "118bebd02a489ddf5eee3ab6fb55b3ef37ebe6d4")
(package! evil-numbers (package! evil-numbers :pin "cd23a7b458d73dc49434a3cf90d3d0caceb5811d")
:recipe (:host github :repo "janpath/evil-numbers") (package! evil-snipe :pin "a9b9b39a7915e66b7d5da9cecfaf002c72d08196")
:pin "006da406d175c05fedca4431cccd569e20bef92c") (package! evil-surround :pin "3bd73794ee5a760118042584ef74e2b6fb2a1e06")
(package! evil-snipe :pin "6dcac7f2516c6137a2de532fc2c052f242559ee3")
(package! evil-surround :pin "346d4d85fcf1f9517e9c4991c1efe68b4130f93a")
(package! evil-textobj-anyblock (package! evil-textobj-anyblock
:recipe (:host github :repo "willghatch/evil-textobj-anyblock" :branch "fix-inner-block") :recipe (:host github
:repo "willghatch/evil-textobj-anyblock"
:branch "fix-inner-block")
:pin "29280cd71a05429364cdceef2ff595ae8afade4d") :pin "29280cd71a05429364cdceef2ff595ae8afade4d")
(package! evil-traces :pin "290b5323542c46af364ec485c8ec9000040acf90") (package! evil-traces :pin "290b5323542c46af364ec485c8ec9000040acf90")
(package! evil-visualstar :pin "06c053d8f7381f91c53311b1234872ca96ced752") (package! evil-visualstar :pin "06c053d8f7381f91c53311b1234872ca96ced752")
@ -35,4 +35,4 @@
(package! neotree) (package! neotree)
(autoload 'neotree-make-executor "neotree" nil nil 'macro)) (autoload 'neotree-make-executor "neotree" nil nil 'macro))
(package! evil-collection :pin "b6025cf9eaf7b4659db918548fd6d96ed17fddc6")) (package! evil-collection :pin "9be3805b60d03fc6e0d45cb3decb5c6703395cf4"))

View file

@ -1,5 +1,3 @@
use std::io;
fn main() { fn main() {
${0:println!("Hello, world!");} ${0:println!("Hello, world!");}
} }

View file

@ -74,11 +74,13 @@ This is controlled by `+format-on-save-enabled-modes'."
(defadvice! +format--all-buffer-from-hook-a (orig-fn &rest args) (defadvice! +format--all-buffer-from-hook-a (orig-fn &rest args)
:around #'format-all-buffer--from-hook :around #'format-all-buffer--from-hook
(letf! (defun format-all-buffer--with (formatter mode-result) (letf! (defun format-all-buffer--with (formatter mode-result)
(and (condition-case-unless-debug e (when (or (eq formatter 'lsp)
(eq formatter 'eglot)
(condition-case-unless-debug e
(format-all--formatter-executable formatter) (format-all--formatter-executable formatter)
(error (error
(message "Warning: cannot reformat buffer because %S isn't installed" (message "Warning: cannot reformat buffer because %S isn't installed"
(gethash formatter format-all--executable-table)) (gethash formatter format-all--executable-table))
nil)) nil)))
(funcall format-all-buffer--with formatter mode-result))) (funcall format-all-buffer--with formatter mode-result)))
(apply orig-fn args))) (apply orig-fn args)))

View file

@ -1,4 +1,4 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; editor/god/packages.el ;;; editor/god/packages.el
(package! god-mode :pin "02a402b2323e025f77e89cf56d5e678e31a2d2f6") (package! god-mode :pin "1d7d647bb53a49fce03486eba90e97ccf35cf85a")

View file

@ -1,6 +1,6 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; editor/lispyville/packages.el ;;; editor/lispyville/packages.el
(package! lispy :pin "38a7df4cbb16cfe3d62dc8ea98b50e2d9a572e58") (package! lispy :pin "e9731aa95581951ab2cbfaed28f0ac7d71124ac0")
(when (featurep! :editor evil) (when (featurep! :editor evil)
(package! lispyville :pin "89316f01822b2135e52ca27fd308d207ef618052")) (package! lispyville :pin "9c14bed0359f659e246d345c706f895737c3d172"))

View file

@ -9,4 +9,4 @@
(package! evil-multiedit :pin "9f271e0e6048297692f80ed6c5ae8994ac523abc") (package! evil-multiedit :pin "9f271e0e6048297692f80ed6c5ae8994ac523abc")
(package! evil-mc :pin "f04fb17f35f2722f2ac93c862b4450bb8e5b739a")) (package! evil-mc :pin "f04fb17f35f2722f2ac93c862b4450bb8e5b739a"))
((package! multiple-cursors :pin "7b13b03c995e13ad86e499d40ec49c4dc281f889"))) ((package! multiple-cursors :pin "616fbdd3696f99d85660ad57ebbb0c44d6c7f426")))

View file

@ -2,7 +2,7 @@
;;; editor/parinfer/packages.el ;;; editor/parinfer/packages.el
(if (featurep! +rust) (if (featurep! +rust)
(package! parinfer-rust-mode :pin "f130fa04ec75131686872f24a253d0a1d5522fa4") (package! parinfer-rust-mode :pin "c2c1bbec6cc7dad4f546868aa07609b8d58a78f8")
(when (featurep! :editor evil) (when (featurep! :editor evil)
;; Parinfer uses `evil-define-key' without loading evil, so if evil is ;; Parinfer uses `evil-define-key' without loading evil, so if evil is
;; installed *after* parinfer, parinfer will throw up void-function errors. ;; installed *after* parinfer, parinfer will throw up void-function errors.

View file

@ -7,4 +7,4 @@
:recipe (:host github :recipe (:host github
:repo "hlissner/doom-snippets" :repo "hlissner/doom-snippets"
:files ("*.el" "*")) :files ("*.el" "*"))
:pin "f7747da6343aadfbe8a3f9e6b35018ac19db4438") :pin "5c0eb5bd70f035cefb981c2ce64f4367498bdda6")

View file

@ -1,4 +1,4 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; editor/word-wrap/packages.el ;;; editor/word-wrap/packages.el
(package! adaptive-wrap :pin "91e939b48a8129f696f45a7a3963fe09cbfa3a2d") (package! adaptive-wrap :pin "0d5b4a07de76d87dd64333a566a8a0a845f2b9f0")

View file

@ -117,7 +117,6 @@ we have to clean it up ourselves."
;; HACK Fixes #1929: icons break file renaming in Emacs 27+, because the icon ;; HACK Fixes #1929: icons break file renaming in Emacs 27+, because the icon
;; is considered part of the filename, so we disable icons while we're in ;; is considered part of the filename, so we disable icons while we're in
;; wdired-mode. ;; wdired-mode.
(when EMACS27+
(defvar +wdired-icons-enabled -1) (defvar +wdired-icons-enabled -1)
(defadvice! +dired-disable-icons-in-wdired-mode-a (&rest _) (defadvice! +dired-disable-icons-in-wdired-mode-a (&rest _)
@ -128,7 +127,7 @@ we have to clean it up ourselves."
(defadvice! +dired-restore-icons-after-wdired-mode-a (&rest _) (defadvice! +dired-restore-icons-after-wdired-mode-a (&rest _)
:after #'wdired-change-to-dired-mode :after #'wdired-change-to-dired-mode
(all-the-icons-dired-mode +wdired-icons-enabled)))) (all-the-icons-dired-mode +wdired-icons-enabled)))
(use-package! dired-x (use-package! dired-x

View file

@ -3,10 +3,10 @@
(package! diredfl :pin "4ca32658aebaf2335f0368a0fd08f52eb1aee960") (package! diredfl :pin "4ca32658aebaf2335f0368a0fd08f52eb1aee960")
(package! dired-git-info :pin "9461476a28a5fec0784260f6e318237c662c3430") (package! dired-git-info :pin "9461476a28a5fec0784260f6e318237c662c3430")
(package! diff-hl :pin "1af31fe1c177646ef7419c95b5d9c25655187ceb") (package! diff-hl :pin "992559f98a1f0367ae2b73e94f69503da73f3a83")
(package! dired-rsync :pin "fb0f161ac3cce1b224f52547f5bc7e1dcd283191") (package! dired-rsync :pin "fb0f161ac3cce1b224f52547f5bc7e1dcd283191")
(when (featurep! +ranger) (when (featurep! +ranger)
(package! ranger :pin "2498519cb21dcd5791d240607a72a204d1761668")) (package! ranger :pin "2498519cb21dcd5791d240607a72a204d1761668"))
(when (featurep! +icons) (when (featurep! +icons)
(package! all-the-icons-dired :pin "f401fe289cd93936e7747b1541aa98117b7ca96f")) (package! all-the-icons-dired :pin "a758766878b6e8b9eaaf41d68599a2df99e37f48"))
(package! fd-dired :pin "7d18938751d047eef18bfb5975195419f0d1e2d3") (package! fd-dired :pin "c223aee30af7dc7f52fb20045226ed9f49f4ec49")

View file

@ -4,10 +4,10 @@
:unless (featurep! +tree) :unless (featurep! +tree)
:hook (doom-first-buffer . undo-fu-mode) :hook (doom-first-buffer . undo-fu-mode)
:config :config
;; Store more undo history to prevent loss of data ;; Increase undo history limits to reduce likelihood of data loss
(setq undo-limit 400000 (setq undo-limit 400000 ; 400kb (default is 160kb)
undo-strong-limit 3000000 undo-strong-limit 3000000 ; 3mb (default is 240kb)
undo-outer-limit 3000000) undo-outer-limit 48000000) ; 48mb (default is 24mb)
(define-minor-mode undo-fu-mode (define-minor-mode undo-fu-mode
"Enables `undo-fu' for the current session." "Enables `undo-fu' for the current session."
@ -60,12 +60,14 @@
(setq undo-tree-visualizer-diff t (setq undo-tree-visualizer-diff t
undo-tree-auto-save-history t undo-tree-auto-save-history t
undo-tree-enable-undo-in-region t undo-tree-enable-undo-in-region t
;; Increase undo-limits by a factor of ten to avoid emacs prematurely ;; Increase undo limits to avoid emacs prematurely truncating the undo
;; truncating the undo history and corrupting the tree. See ;; history and corrupting the tree. This is larger than the undo-fu
;; https://github.com/syl20bnr/spacemacs/issues/12110 ;; defaults because undo-tree trees consume exponentially more space,
undo-limit 800000 ;; and then some when `undo-tree-enable-undo-in-region' is involved. See
undo-strong-limit 12000000 ;; syl20bnr/spacemacs#12110
undo-outer-limit 120000000) undo-limit 800000 ; 800kb (default is 160kb)
undo-strong-limit 12000000 ; 12mb (default is 240kb)
undo-outer-limit 128000000) ; 128mb (default is 24mb)
;; Compress undo-tree history files with zstd, if available. File size isn't ;; Compress undo-tree history files with zstd, if available. File size isn't
;; the (only) concern here: the file IO barrier is slow for Emacs to cross; ;; the (only) concern here: the file IO barrier is slow for Emacs to cross;

View file

@ -1,6 +1,7 @@
;;; emacs/vc/autoload/vc.el -*- lexical-binding: t; -*- ;;; emacs/vc/autoload/vc.el -*- lexical-binding: t; -*-
(defun +vc--remote-homepage () (defun +vc--remote-homepage ()
(require 'browse-at-remote)
(or (let ((url (browse-at-remote--remote-ref))) (or (let ((url (browse-at-remote--remote-ref)))
(cdr (browse-at-remote--get-url-from-remote (car url)))) (cdr (browse-at-remote--get-url-from-remote (car url))))
(user-error "Can't find homepage for current project"))) (user-error "Can't find homepage for current project")))

View file

@ -189,8 +189,7 @@ See `+layout-bepo-cr-rotation-style' for the meaning of CR-STYLE."
'(evil-normal-state-map evil-motion-state-map evil-operator-state-map) '(evil-normal-state-map evil-motion-state-map evil-operator-state-map)
"é" "w" "é" "w"
"É" "W" "É" "W"
"w" (kbd "C-w") "w" (kbd "C-w"))))
"W" (kbd "C-w C-w"))))
;;;###autoload ;;;###autoload
(defun +layout-bepo-rotate-keymaps (keymaps &optional cr-style) (defun +layout-bepo-rotate-keymaps (keymaps &optional cr-style)
@ -324,5 +323,4 @@ Remappings are done according to CR-STYLE (see
(evil-collection-translate-key '(normal motion operator visual) keymaps (evil-collection-translate-key '(normal motion operator visual) keymaps
"é" "w" "é" "w"
"É" "W" "É" "W"
"w" (kbd "C-w") "w" (kbd "C-w"))))
"W" (kbd "C-w C-w"))))

View file

@ -6,11 +6,11 @@
:recipe (:host github :repo "agda/agda" :recipe (:host github :repo "agda/agda"
:files ("src/data/emacs-mode/agda-input.el") :files ("src/data/emacs-mode/agda-input.el")
:nonrecursive t) :nonrecursive t)
:pin "ecb93230ad9327991e542731756cbe1405c85d5f") :pin "af9c4b968698e285c453516b2104a347ad954849")
(package! agda2-mode (package! agda2-mode
:recipe (:host github :repo "agda/agda" :recipe (:host github :repo "agda/agda"
:files ("src/data/emacs-mode/*.el" :files ("src/data/emacs-mode/*.el"
(:exclude "agda-input.el")) (:exclude "agda-input.el"))
:nonrecursive t) :nonrecursive t)
:pin "ecb93230ad9327991e542731756cbe1405c85d5f")) :pin "af9c4b968698e285c453516b2104a347ad954849"))

View file

@ -29,22 +29,6 @@ This msut be advised *before* beancount-mode loads, because
:config :config
(when (featurep! +lsp) (when (featurep! +lsp)
(after! lsp-mode
;; TODO PR this upstream
(add-to-list 'lsp-language-id-configuration '(beancount-mode . "beancount"))
(defvar lsp-beancount-langserver-executable "beancount-langserver")
(defvar lsp-beancount-journal-file nil)
(defvar lsp-beancount-python-interpreter
(or (executable-find "python3")
(executable-find "python")))
(lsp-register-client
(make-lsp-client :new-connection
(lsp-stdio-connection `(,lsp-beancount-langserver-executable "--stdio"))
:major-modes '(beancount-mode)
:initialization-options
`((journalFile . ,lsp-beancount-journal-file)
(pythonPath . ,lsp-beancount-python-interpreter))
:server-id 'beancount-ls)))
(add-hook 'beancount-mode-local-vars-hook #'lsp!)) (add-hook 'beancount-mode-local-vars-hook #'lsp!))
(setq beancount-electric-currency t) (setq beancount-electric-currency t)

View file

@ -4,4 +4,4 @@
(package! beancount (package! beancount
:recipe (:host github :recipe (:host github
:repo "beancount/beancount-mode") :repo "beancount/beancount-mode")
:pin "3c04745fa539c25dc007683ad257239067c24cfe") :pin "02fe03ee4487de7f83f587db65970b91ebd2d9d7")

View file

@ -27,7 +27,7 @@
(when (featurep! :completion company) (when (featurep! :completion company)
(package! company-irony :pin "b44711dfce445610c1ffaec4951c6ff3882b216a") (package! company-irony :pin "b44711dfce445610c1ffaec4951c6ff3882b216a")
(package! company-irony-c-headers :pin "72c386aeb079fb261d9ec02e39211272f76bbd97"))) (package! company-irony-c-headers :pin "72c386aeb079fb261d9ec02e39211272f76bbd97")))
(when (package! rtags :pin "63f18acb21e664fd92fbc19465f0b5df085b5e93") (when (package! rtags :pin "65113e2a137baa9f85dc2157b893291470788dc4")
(when (featurep! :completion ivy) (when (featurep! :completion ivy)
(package! ivy-rtags)) (package! ivy-rtags))
(when (featurep! :completion helm) (when (featurep! :completion helm)

View file

@ -1,9 +1,9 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; lang/clojure/packages.el ;;; lang/clojure/packages.el
(package! clojure-mode :pin "a14671e03c867c9d759ee9e59cdc5cecbf271245") (package! clojure-mode :pin "3e426b3a479f479963f2c7d1147cc826ed1a0ee1")
(package! cider :pin "4278d7cf0b54af5cc84f4a521ee1ed6e81a96adc") (package! cider :pin "fe8cf244fd3426261f9f630c981a6296afd433a4")
(package! clj-refactor :pin "9f3e7357117e96135de051b78deabc0a327c7b06") (package! clj-refactor :pin "466822ff6f9da584f7cf72c868017b8840574dbd")
(when (featurep! :checkers syntax) (when (featurep! :checkers syntax)
(package! flycheck-clj-kondo :pin "a558bda44c4cb65b69fa53df233e8941ebd195c5")) (package! flycheck-clj-kondo :pin "a558bda44c4cb65b69fa53df233e8941ebd195c5"))

View file

@ -16,6 +16,13 @@
(use-package! sly (use-package! sly
:hook (lisp-mode-local-vars . sly-editing-mode) :hook (lisp-mode-local-vars . sly-editing-mode)
:init :init
;; I moved this hook to `lisp-mode-local-vars', so it only affects
;; `lisp-mode', and not every other derived lisp mode (like `fennel-mode').
;; We run it twice because the hook is both autoloaded and evaluated at
;; load-time, so it must be removed twice.
(after! (:or emacs sly)
(remove-hook 'lisp-mode-hook #'sly-editing-mode))
(after! lisp-mode (after! lisp-mode
(set-repl-handler! 'lisp-mode #'sly-mrepl) (set-repl-handler! 'lisp-mode #'sly-mrepl)
(set-eval-handler! 'lisp-mode #'sly-eval-region) (set-eval-handler! 'lisp-mode #'sly-eval-region)

View file

@ -1,6 +1,6 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; lang/common-lisp/packages.el ;;; lang/common-lisp/packages.el
(when (package! sly :pin "5966d68727898fa6130fb6bb02208f70aa8d5ce3") (when (package! sly :pin "41f4d650485217aa1f2afa7c159418f103a09231")
(package! sly-macrostep :pin "5113e4e926cd752b1d0bcc1508b3ebad5def5fad") (package! sly-macrostep :pin "5113e4e926cd752b1d0bcc1508b3ebad5def5fad")
(package! sly-repl-ansi-color :pin "b9cd52d1cf927bf7e08582d46ab0bcf1d4fb5048")) (package! sly-repl-ansi-color :pin "b9cd52d1cf927bf7e08582d46ab0bcf1d4fb5048"))

View file

@ -1,5 +1,5 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; lang/coq/packages.el ;;; lang/coq/packages.el
(package! proof-general :pin "f0f0476d07401aba2cf428a71f7ee960cd1b3154") (package! proof-general :pin "bc86736abb728ec0d28abc90ef0adae21d29a66a")
(package! company-coq :pin "7423ee253951a439b2491e1cd2ea8bb876d25cb7") (package! company-coq :pin "382db93374380e5db56f02934ee32bbe39159019")

View file

@ -1,7 +1,7 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; lang/csharp/packages.el ;;; lang/csharp/packages.el
(package! csharp-mode :pin "f977800161ccdb58d5650a8ca60017c83863d80a") (package! csharp-mode :pin "093f0f21a9d04d79a380de145cbc42693ef8c76f")
(package! csproj-mode :pin "a7f0f4610c976a28c41b9b8299892f88b5d0336c") (package! csproj-mode :pin "a7f0f4610c976a28c41b9b8299892f88b5d0336c")
(package! sln-mode :pin "0f91d1b957c7d2a7bab9278ec57b54d57f1dbd9c") (package! sln-mode :pin "0f91d1b957c7d2a7bab9278ec57b54d57f1dbd9c")
(unless (featurep! +lsp) (unless (featurep! +lsp)
@ -9,4 +9,4 @@
(when (featurep! +unity) (when (featurep! +unity)
(package! shader-mode :pin "d7dc8d0d6fe8914e8b6d5cf2081ad61e6952359c")) (package! shader-mode :pin "d7dc8d0d6fe8914e8b6d5cf2081ad61e6952359c"))
(when (featurep! +dotnet) (when (featurep! +dotnet)
(package! sharper :pin "d610b839dbb907cc0a49b7edfe7fe39aa3f9dd6d")) (package! sharper :pin "08277b6c30568adfbe438c9f2a1d6c3db4b7ebeb"))

View file

@ -32,7 +32,8 @@
:when (featurep! +flutter) :when (featurep! +flutter)
:defer t :defer t
:init :init
(map! :map dart-mode-map (map! :after dart-mode
:map dart-mode-map
:localleader :localleader
"r" #'flutter-run-or-hot-reload)) "r" #'flutter-run-or-hot-reload))

View file

@ -4,7 +4,7 @@
(package! dart-mode :pin "43975c92080e307c4bc14a4773a61195d2062fd9") (package! dart-mode :pin "43975c92080e307c4bc14a4773a61195d2062fd9")
(when (featurep! +lsp) (when (featurep! +lsp)
(package! lsp-dart :pin "f3b70ec0e6adf3a51e15f9a3effb182c2363493d")) (package! lsp-dart :pin "01d89d43f17a15c7ccad5a458250d5d6b0f70b09"))
(when (featurep! +flutter) (when (featurep! +flutter)
(package! flutter :pin "960b63576a13b7bd3495d0ad1883ed736873543b") (package! flutter :pin "960b63576a13b7bd3495d0ad1883ed736873543b")

View file

@ -2,7 +2,7 @@
;;; lang/elixir/packages.el ;;; lang/elixir/packages.el
;; +elixir.el ;; +elixir.el
(package! elixir-mode :pin "0212b06f079f4965b6032bbbe7f86876575770de") (package! elixir-mode :pin "6bbc1e5ac46064613c982cedc60566ed077e7a58")
(package! alchemist :pin "6f99367511ae209f8fe2c990779764bbb4ccb6ed") (package! alchemist :pin "6f99367511ae209f8fe2c990779764bbb4ccb6ed")
(package! exunit :pin "5bb115f3270cfe29d36286da889f0ee5bba03cfd") (package! exunit :pin "5bb115f3270cfe29d36286da889f0ee5bba03cfd")
(when (featurep! :checkers syntax) (when (featurep! :checkers syntax)

View file

@ -1,6 +1,6 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; lang/elm/packages.el ;;; lang/elm/packages.el
(package! elm-mode :pin "e9fcf9cc2779cf7f5ae7ee4be339164b26755c69") (package! elm-mode :pin "f2e2d0053f3272d9fc0c2e16c8d17d97724cf524")
(when (featurep! :checkers syntax) (when (featurep! :checkers syntax)
(package! flycheck-elm :pin "1b60050efd4729bfba548f3e5adbcb58436667cb")) (package! flycheck-elm :pin "1b60050efd4729bfba548f3e5adbcb58436667cb"))

View file

@ -153,24 +153,28 @@ employed so that flycheck still does *some* helpful linting.")
:config :config
(set-lookup-handlers! 'inferior-emacs-lisp-mode (set-lookup-handlers! 'inferior-emacs-lisp-mode
:definition #'+emacs-lisp-lookup-definition :definition #'+emacs-lisp-lookup-definition
:documentation #'+emacs-lisp-lookup-documentation)) :documentation #'+emacs-lisp-lookup-documentation)
;; Adapted from http://www.modernemacs.com/post/comint-highlighting/ to add ;; Adapted from http://www.modernemacs.com/post/comint-highlighting/ to add
;; syntax highlighting to ielm REPLs. ;; syntax highlighting to ielm REPLs.
(add-hook! 'ielm-mode-hook (setq ielm-font-lock-keywords
(defun +emacs-lisp-init-syntax-highlighting-h () (append '(("\\(^\\*\\*\\*[^*]+\\*\\*\\*\\)\\(.*$\\)"
(font-lock-add-keywords (1 font-lock-comment-face)
nil (cl-loop for (matcher . match-highlights) (2 font-lock-constant-face)))
in (append lisp-el-font-lock-keywords-2 lisp-cl-font-lock-keywords-2) (when (require 'highlight-numbers nil t)
(highlight-numbers--get-regexp-for-mode 'emacs-lisp-mode))
(cl-loop for (matcher . match-highlights)
in (append lisp-el-font-lock-keywords-2
lisp-cl-font-lock-keywords-2)
collect collect
`((lambda (limit) `((lambda (limit)
(and ,(if (symbolp matcher) (when ,(if (symbolp matcher)
`(,matcher limit) `(,matcher limit)
`(re-search-forward ,matcher limit t)) `(re-search-forward ,matcher limit t))
;; Only highlight matches after the prompt ;; Only highlight matches after the prompt
(> (match-beginning 0) (car comint-last-prompt)) (> (match-beginning 0) (car comint-last-prompt))
;; Make sure we're not in a comment or string ;; Make sure we're not in a comment or string
(let ((state (sp--syntax-ppss))) (let ((state (syntax-ppss)))
(not (or (nth 3 state) (not (or (nth 3 state)
(nth 4 state)))))) (nth 4 state))))))
,@match-highlights))))) ,@match-highlights)))))

View file

@ -1,7 +1,7 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; lang/erlang/packages.el ;;; lang/erlang/packages.el
(package! erlang :pin "94c9738e10326554af80d128c76e4bded1c7b983") (package! erlang :pin "645ea8110da97687de302791829b4a6119a9b396")
(unless (featurep! +lsp) (unless (featurep! +lsp)
(when (featurep! :completion company) (when (featurep! :completion company)
(package! company-erlang :pin "bc0524a16f17b66c7397690e4ca0e004f09ea6c5"))) (package! company-erlang :pin "bc0524a16f17b66c7397690e4ca0e004f09ea6c5")))

View file

@ -1,7 +1,7 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; lang/ess/packages.el ;;; lang/ess/packages.el
(package! ess :pin "126d34414ce5446d3f48320773114de83ae55bdc") (package! ess :pin "4fefd0feaae688e28d6a0c36c9eaa219c448903f")
(package! ess-R-data-view :pin "d6e98d3ae1e2a2ea39a56eebcdb73e99d29562e9") (package! ess-R-data-view :pin "d6e98d3ae1e2a2ea39a56eebcdb73e99d29562e9")
(package! polymode :pin "b3871e946d278a256d95a3bd4615b1df234ad75a") (package! polymode :pin "7d1f822f0833b43326cc9253dc8a3e267ad4b376")
(package! poly-R :pin "c42ff3a4d0da96ccb7f826dca5c6b2eb558a2ab5") (package! poly-R :pin "c42ff3a4d0da96ccb7f826dca5c6b2eb558a2ab5")

View file

@ -1,4 +1,4 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; lang/factor/packages.el ;;; lang/factor/packages.el
(package! fuel :pin "5bfeab6c0e13bfefddb98b30b6e60489a1574d8e") (package! fuel :pin "b989a860d1d6191bb9c5911ac77ed0931424eaeb")

View file

@ -1,4 +1,4 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; lang/fsharp/packages.el ;;; lang/fsharp/packages.el
(package! fsharp-mode :pin "78898a1535878394d83643c383f4320e7b5fcefd") (package! fsharp-mode :pin "93b1fbc31d73286a18640a36fc2be87d1736e0f2")

View file

@ -1,4 +1,4 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; lang/gdscript/packages.el ;;; lang/gdscript/packages.el
(package! gdscript-mode :pin "16c631cd6f2f2eeb11730442c9897008e1e10f7a") (package! gdscript-mode :pin "b7bfa6a3b294039f5093f85e4ff809ff05333abd")

View file

@ -2,8 +2,8 @@
;;; lang/go/packages.el ;;; lang/go/packages.el
(package! go-eldoc :pin "cbbd2ea1e94a36004432a9ac61414cb5a95a39bd") (package! go-eldoc :pin "cbbd2ea1e94a36004432a9ac61414cb5a95a39bd")
(package! go-guru :pin "49a538028e63dbe20f428c52d91f09b70b564626") (package! go-guru :pin "34974346d1f74fa835d745514c9fe9afccce8dae")
(package! go-mode :pin "49a538028e63dbe20f428c52d91f09b70b564626") (package! go-mode :pin "34974346d1f74fa835d745514c9fe9afccce8dae")
(package! gorepl-mode :pin "6a73bf352e8d893f89cad36c958c4db2b5e35e07") (package! gorepl-mode :pin "6a73bf352e8d893f89cad36c958c4db2b5e35e07")
(package! go-tag :pin "59b243f2fa079d9de9d56f6e2d94397e9560310a") (package! go-tag :pin "59b243f2fa079d9de9d56f6e2d94397e9560310a")
(package! go-gen-test :pin "44c202ac97e728e93a35cee028a0ea8dd6e4292c") (package! go-gen-test :pin "44c202ac97e728e93a35cee028a0ea8dd6e4292c")

View file

@ -1,12 +1,12 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; lang/haskell/packages.el ;;; lang/haskell/packages.el
(package! haskell-mode :pin "1baa12abfa2c81128e5b13d1351f2978a4a54b4f") (package! haskell-mode :pin "98ba3922360199d5260d47f417f096730ad057c5")
(when (featurep! +dante) (when (featurep! +dante)
(package! dante :pin "8741419333fb85ed2c1d71f5902688f5201b0a40") (package! dante :pin "8741419333fb85ed2c1d71f5902688f5201b0a40")
(package! attrap :pin "778382eba8e1a449862b1573e90c1e79cf5caeb1")) (package! attrap :pin "a5bc695af27349ae6fe4541a581e6fd449d2a026"))
(when (or (and (featurep! +lsp) (when (or (and (featurep! +lsp)
(not (featurep! :tools lsp +eglot))) (not (featurep! :tools lsp +eglot)))
(featurep! +ghcide)) (featurep! +ghcide))
(package! lsp-haskell :pin "7efbef3d206989faa8b691a4230a3ed872542187")) (package! lsp-haskell :pin "eb37ac4a6a43277263bbb17aed6a862a0992ae8e"))

View file

@ -1,4 +1,4 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; lang/idris/packages.el ;;; lang/idris/packages.el
(package! idris-mode :pin "80aabd2566082aa67d17eccdd80e9f1fb10c9ec8") (package! idris-mode :pin "f52ad0b4770403561b40f1d0499ecaca70da886c")

View file

@ -2,7 +2,7 @@
;;; lang/java/packages.el ;;; lang/java/packages.el
(package! android-mode :pin "d5332e339a1f5e30559a53feffb8442ca79265d6") (package! android-mode :pin "d5332e339a1f5e30559a53feffb8442ca79265d6")
(package! groovy-mode :pin "26da902d1158c0312628d57578109be54eca2415") (package! groovy-mode :pin "99eaf70720e4a6337fbd5acb68ae45cc1779bdc4")
(when (featurep! +meghanada) (when (featurep! +meghanada)
(package! meghanada :pin "6c57e8a0ae27e2929bb12572cf33059cd4ecbc04")) (package! meghanada :pin "6c57e8a0ae27e2929bb12572cf33059cd4ecbc04"))
@ -14,4 +14,4 @@
(when (featurep! +lsp) (when (featurep! +lsp)
(unless (featurep! :tools lsp +eglot) (unless (featurep! :tools lsp +eglot)
(package! lsp-java :pin "9685334086c0b09d2bb16f631fb368f4ce931764"))) (package! lsp-java :pin "b66a075bcb1edf57b09a0e1c73c3a399596d4760")))

View file

@ -2,8 +2,6 @@
;;; lang/javascript/packages.el ;;; lang/javascript/packages.el
;; Major modes ;; Major modes
(package! coffee-mode :pin "35a41c7d8233eac0b267d9593e67fb8b6235e134")
(package! js2-mode :pin "29979e5f3301796ba606759e39ee0b1b6a2a24f3")
(package! rjsx-mode :pin "b697fe4d92cc84fa99a7bcb476f815935ea0d919") (package! rjsx-mode :pin "b697fe4d92cc84fa99a7bcb476f815935ea0d919")
(package! typescript-mode :pin "1043025d42602d560949955410d3afa2562130ee") (package! typescript-mode :pin "1043025d42602d560949955410d3afa2562130ee")
@ -17,6 +15,6 @@
(package! skewer-mode :pin "e5bed351939c92a1f788f78398583c2f83f1bb3c") (package! skewer-mode :pin "e5bed351939c92a1f788f78398583c2f83f1bb3c")
;; Programming environment ;; Programming environment
(package! tide :pin "ad6fa78911d5d7e85c0851c0c1afc01f3cbde7c1") (package! tide :pin "ccff099e94beda9f5378ffc2b412cb4257111e8d")
(when (featurep! :tools lookup) (when (featurep! :tools lookup)
(package! xref-js2 :pin "fd6b723e7f1f9793d189a815e1904364dc026b03")) (package! xref-js2 :pin "fd6b723e7f1f9793d189a815e1904364dc026b03"))

View file

@ -1,4 +1,5 @@
;;; lang/json/doctor.el -*- lexical-binding: t; -*- ;;; lang/json/doctor.el -*- lexical-binding: t; -*-
(unless (executable-find "jq") (when (and (featurep! :completion ivy)
(warn! "Couldn't find jq. counsel-jq won't work.")) (not (executable-find "jq")))
(warn! "Couldn't find jq. counsel-jq won't work." ))

View file

@ -4,4 +4,4 @@
(package! json-mode :pin "0e819e519ae17a2686e0881c4ca51fa873fa9b83") (package! json-mode :pin "0e819e519ae17a2686e0881c4ca51fa873fa9b83")
(package! json-snatcher :pin "b28d1c0670636da6db508d03872d96ffddbc10f2") (package! json-snatcher :pin "b28d1c0670636da6db508d03872d96ffddbc10f2")
(when (featurep! :completion ivy) (when (featurep! :completion ivy)
(package! counsel-jq :pin "153d70b576df1d572c56d84039cb40749310cfe7")) (package! counsel-jq :pin "8cadd2e96470402ede4881b4e955872976443689"))

View file

@ -2,9 +2,9 @@
;;; lang/julia/packages.el ;;; lang/julia/packages.el
(package! julia-mode :pin "fe6f6f7a80f8d60ecffa5b2cb43667bb9dc11705") (package! julia-mode :pin "fe6f6f7a80f8d60ecffa5b2cb43667bb9dc11705")
(package! julia-repl :pin "7ce38a9caf2a9c105afe66f464a2f30e816d69f3") (package! julia-repl :pin "79e686e3ebf164bd39fc2ea5cf09d38d0e1d763a")
(when (featurep! +lsp) (when (featurep! +lsp)
(if (featurep! :tools lsp +eglot) (if (featurep! :tools lsp +eglot)
(package! eglot-jl :pin "84cff9d6ef1643f3eac6c9d620cc1e380a9847d9") (package! eglot-jl :pin "49f170e01c5a107c2cb662c00544d827eaa2c4d8")
(package! lsp-julia :pin "c487ed715c49d863e8a8e76d13b37b6e694520d4"))) (package! lsp-julia :pin "d4a7a27d6ac7c6831b4f493dd89f82fa0c75bdf5")))

View file

@ -4,4 +4,4 @@
(package! kotlin-mode :pin "0e4bafb31d1fc2a0a420a521c2723d5526646c0b") (package! kotlin-mode :pin "0e4bafb31d1fc2a0a420a521c2723d5526646c0b")
(when (featurep! :checkers syntax) (when (featurep! :checkers syntax)
(package! flycheck-kotlin :pin "5104ee9a3fdb7f0a0a3d3bcfd8dd3c45a9929310")) (package! flycheck-kotlin :pin "bf1b398bdde128806a0a7479ebbe369bbaa40dae"))

View file

@ -120,7 +120,8 @@ If no viewers are found, `latex-preview-pane' is used.")
(add-hook! 'TeX-fold-mode-hook (add-hook! 'TeX-fold-mode-hook
(defun +latex-fold-snippet-contents-h () (defun +latex-fold-snippet-contents-h ()
(add-hook! 'yas-after-exit-snippet-hook :local (add-hook! 'yas-after-exit-snippet-hook :local
(TeX-fold-region yas-snippet-beg yas-snippet-end))))) (when (and yas-snippet-beg yas-snippet-end)
(TeX-fold-region yas-snippet-beg yas-snippet-end))))))
(add-hook! 'mixed-pitch-mode-hook (add-hook! 'mixed-pitch-mode-hook
(defun +latex-fold-set-variable-pitch-h () (defun +latex-fold-set-variable-pitch-h ()

View file

@ -1,11 +1,11 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; lang/latex/packages.el ;;; lang/latex/packages.el
(package! auctex :pin "1472d1d231aeae463013d5e36307605157f84191") (package! auctex :pin "ea410dce4f24908b46649b77a4881f7454a9de04")
(package! adaptive-wrap :pin "91e939b48a8129f696f45a7a3963fe09cbfa3a2d") (package! adaptive-wrap :pin "0d5b4a07de76d87dd64333a566a8a0a845f2b9f0")
(package! latex-preview-pane :pin "5297668a89996b50b2b62f99cba01cc544dbed2e") (package! latex-preview-pane :pin "5297668a89996b50b2b62f99cba01cc544dbed2e")
(when (featurep! :editor evil +everywhere) (when (featurep! :editor evil +everywhere)
(package! evil-tex :pin "5f0d6fb11bce66d32c27c765e93557f6ca89cc7d")) (package! evil-tex :pin "87445d4d2339436179e792609bfbff0eaf056a9c"))
;; Optional module features: ;; Optional module features:
@ -13,11 +13,11 @@
(package! auctex-latexmk :pin "4d353522650d7685acbf1d38f7dbc504f734bd84")) (package! auctex-latexmk :pin "4d353522650d7685acbf1d38f7dbc504f734bd84"))
(when (featurep! +cdlatex) (when (featurep! +cdlatex)
(package! cdlatex :pin "adf96bab0bbf28f65c882c0874f1c14fdb216bd8")) (package! cdlatex :pin "614a8d94f67cdc1eeef8371f7b6b90aef8a78158"))
;; Features according to other user selected options ;; Features according to other user selected options
(when (featurep! :completion company) (when (featurep! :completion company)
(package! company-auctex :pin "9400a2ec7459dde8cbf1a5d50dfee4e300ed7e18") (package! company-auctex :pin "9400a2ec7459dde8cbf1a5d50dfee4e300ed7e18")
(package! company-reftex :pin "291c283c8a015fd7cbaa99f836e1a721f1e2c832") (package! company-reftex :pin "42eb98c6504e65989635d95ab81b65b9d5798e76")
(package! company-math :pin "a796053590012e6a15c8b527b521ffc15d137bd0")) (package! company-math :pin "a796053590012e6a15c8b527b521ffc15d137bd0"))

View file

@ -1,7 +1,7 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; lang/lean/packages.el ;;; lang/lean/packages.el
(package! lean-mode :pin "5c50338ac149ca5225fc737be291db1f63c45f1d") (package! lean-mode :pin "bf32bb97930ed67c5cbe0fe3d4a69dedcf68be44")
(when (featurep! :completion company) (when (featurep! :completion company)
(package! company-lean :pin "5c50338ac149ca5225fc737be291db1f63c45f1d")) (package! company-lean :pin "bf32bb97930ed67c5cbe0fe3d4a69dedcf68be44"))

View file

@ -1,7 +1,7 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; lang/ledger/packages.el ;;; lang/ledger/packages.el
(package! ledger-mode :pin "32fef097970e66b6cc75ee8233a7edaeee6431df") (package! ledger-mode :pin "19b84dc7664ea069e1a9fd446daf699574c44986")
(when (featurep! :editor evil) (when (featurep! :editor evil)
(package! evil-ledger :pin "7a9f9f5d39c42fffdba8004f8982642351f2b233")) (package! evil-ledger :pin "7a9f9f5d39c42fffdba8004f8982642351f2b233"))

View file

@ -30,12 +30,14 @@ This module has no dedicated maintainers.
** Module Flags ** Module Flags
+ =+moonscript= Moonscript language support + =+moonscript= Moonscript language support
+ =+fennel= Fennel language support
+ =+lsp= Language Server Protocol support + =+lsp= Language Server Protocol support
** Plugins ** Plugins
# A list of linked plugins # A list of linked plugins
+ [[https://github.com/immerrr/lua-mode][lua-mode]] + [[https://github.com/immerrr/lua-mode][lua-mode]]
+ [[https://github.com/k2052/moonscript-mode][moonscript-mode]] (=+moonscript=) + [[https://github.com/k2052/moonscript-mode][moonscript-mode]] (=+moonscript=)
+ [[https://gitlab.com/technomancy/fennel-mode][fennel-mode]] (=+fennel=)
* Prerequisites * Prerequisites
** Language Server Protocol servers ** Language Server Protocol servers

View file

@ -1,7 +1,7 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; lang/lua/packages.el ;;; lang/lua/packages.el
(package! lua-mode :pin "2d9a468b94acd8480299d47449b53136060b7b23") (package! lua-mode :pin "2bd9077dd0405efc9276f612e24a345698c539c4")
(when (featurep! +moonscript) (when (featurep! +moonscript)
(package! moonscript :pin "56f90471e2ced2b0a177aed4d8c2f854797e9cc7") (package! moonscript :pin "56f90471e2ced2b0a177aed4d8c2f854797e9cc7")
@ -11,7 +11,7 @@
:pin "fcb99e5efcf31db05f236f02eaa575986a57172d"))) :pin "fcb99e5efcf31db05f236f02eaa575986a57172d")))
(when (featurep! +fennel) (when (featurep! +fennel)
(package! fennel-mode :pin "ba14a7ddc21f8bc2b9bc58abd1655abbe12118d7")) (package! fennel-mode :pin "a908db8696d29f0bf07e5212bb82084cb1e9c0f3"))
(when (featurep! :completion company) (when (featurep! :completion company)
(package! company-lua :pin "29f6819de4d691e5fd0b62893a9f4fbc1c6fcb52")) (package! company-lua :pin "29f6819de4d691e5fd0b62893a9f4fbc1c6fcb52"))

View file

@ -26,6 +26,10 @@ capture, the end position, and the output buffer.")
markdown-gfm-additional-languages '("sh") markdown-gfm-additional-languages '("sh")
markdown-make-gfm-checkboxes-buttons t markdown-make-gfm-checkboxes-buttons t
;; HACK Due to jrblevin/markdown-mode#578, invoking `imenu' throws a
;; 'wrong-type-argument consp nil' error if you use native-comp.
markdown-nested-imenu-heading-index (not (ignore-errors (native-comp-available-p)))
;; `+markdown-compile' offers support for many transpilers (see ;; `+markdown-compile' offers support for many transpilers (see
;; `+markdown-compile-functions'), which it tries until one succeeds. ;; `+markdown-compile-functions'), which it tries until one succeeds.
markdown-command #'+markdown-compile markdown-command #'+markdown-compile

View file

@ -1,12 +1,12 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; lang/markdown/packages.el ;;; lang/markdown/packages.el
(package! markdown-mode :pin "ac9ea26b941eef512a3c206375a6404625c229ed") (package! markdown-mode :pin "359347b2bb15f8d7ef819692ac79759ccfe2c85d")
(package! markdown-toc :pin "9565eeaa1d26bc0ab83eb65bd30470888f724044") (package! markdown-toc :pin "f78cba9b5761c91058fed3a781bd3fed7f996e1f")
(package! edit-indirect :pin "bdc8f542fe8430ba55f9a24a7910639d4c434422") (package! edit-indirect :pin "bdc8f542fe8430ba55f9a24a7910639d4c434422")
(when (featurep! +grip) (when (featurep! +grip)
(package! grip-mode :pin "28552059c4643f571ef0883ad543270a48241572")) (package! grip-mode :pin "c0ca78990395245e5f742166047b04eeff63cf6a"))
(when (featurep! :editor evil +everywhere) (when (featurep! :editor evil +everywhere)
(package! evil-markdown (package! evil-markdown

View file

@ -1,7 +1,7 @@
;; -*- no-byte-compile: t; -*- ;; -*- no-byte-compile: t; -*-
;;; lang/nix/packages.el ;;; lang/nix/packages.el
(package! nix-mode :pin "0023fc5b100ec0c939ffe699d1a7d1afcf1f417a") (package! nix-mode :pin "3cca5b6527a69c4701394f424726282a1462ede3")
(package! nix-update :pin "fc6c39c2da3fcfa62f4796816c084a6389c8b6e7") (package! nix-update :pin "fc6c39c2da3fcfa62f4796816c084a6389c8b6e7")
(when (featurep! :completion company) (when (featurep! :completion company)

Some files were not shown because too many files have changed in this diff Show more