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...**
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
attributes:
options:
- label: I have searched [the FAQ](https://doomemacs.org/docs/faq.org) and [the documentation](https://doomemacs.org/docs/getting_started.org) for solutions.
required: true
- 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
+ [ ] Search [the FAQ](https://doomemacs.org/docs/faq.org) and [the documentation](https://doomemacs.org/docs/getting_started.org) for solutions.
+ [ ] Search [the issue tracker](https://github.com/hlissner/doom-emacs/issues) for similar issues (the closed issues too).
+ [ ] Search [the Discourse](https://doomemacs.org/d/docs) for any errors and solutions.
+ [ ] Ensure the issue can be reproduced on [the latest commit](https://github.com/hlissner/doom-emacs/commit) of Doom Emacs.
+ [ ] Consult "[How to Debug Issues](https://doomemacs.org/d/how2debug)" on techniques to get more information and, possibly, solve the issue yourself.
- type: textarea
attributes:
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).
-----
- type: checkboxes
attributes:
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+).
required: true
- label: The package(s) I want bumped are not in [the do-not-PR list](https://discourse.doomemacs.org/do-not-pr) list.
required: true
- 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
**Before you submit this bump request, make sure...**
+ [ ] 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+).
+ [ ] The target package(s) **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).
+ [ ] The new versions of these packages work without issue.
- type: textarea
attributes:
label: What package(s) should be bumped?

View file

@ -9,21 +9,12 @@ body:
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.
**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:
<br/>
- type: checkboxes
attributes:
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
+ [ ] Read the [contributing guidelines](https://discourse.doomemacs.org/how2contribute).
+ [ ] Search [the issue tracker](https://github.com/hlissner/doom-emacs/issues?q=label%3A%221.+request%22+) for similar requests.
+ [ ] Search [the module list](https://doomemacs.org/docs/modules.org) in case my feature was already implemented.
+ [ ] The request hasn't been fulfilled on [the latest commit of Doom](https://github.com/hlissner/doom-emacs/commit).
- type: textarea
attributes:
label: Describe your request

View file

@ -5,7 +5,7 @@
[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)
![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)
![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]
@ -99,7 +99,7 @@ Check out [the FAQ][FAQ] for answers to common questions about the project.
# Prerequisites
+ 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+
+ GNU `find`
+ *OPTIONAL:* [fd] 7.3.0+ (improves file indexing performance for some commands)

View file

@ -27,11 +27,11 @@
;;
;;; Sanity checks
(when (version< emacs-version "26.3")
(when (version< emacs-version "27.1")
(error
(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"
"to install a newer version of Emacs can be found at:\n\n "
"Doom only supports Emacs 27.1 and newer. A guide to install a newer version\n"
"of Emacs can be found at:\n\n "
(format "https://doomemacs.org/docs/getting_started.org#%s"
(cond ((eq system-type 'darwin) "on-macos")
((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."
(interactive)
(require 'core-cli)
(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"))
;; 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
(defun doom--normalize-font (font)
(let* ((font (cond ((stringp font) (aref (font-info font) 0))
((fontp font) (font-xlfd-name font))
((vectorp font) (x-compose-font-name font))))
;;;###autoload
(defun doom-normalize-font (font)
"Return FONT as a normalized font spec.
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 (font-spec :name font)))
(unless (font-get font :size)
@ -64,15 +86,15 @@ Doesn't work in terminal Emacs."
(let* ((original-font (or (symbol-value var)
(face-font face t)
(with-temp-buffer (face-font face))))
(font (doom--normalize-font original-font))
(font (doom-normalize-font original-font))
(dfont
(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
(purecopy font))
(error "Could not decompose %s font" var))))
(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))))
(cond ((<= new-size 0)
(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
;; Use `doom-big-font' in lieu of `doom-font'
(doom-adjust-font-size
(if doom-big-font-mode
(font-get (doom--normalize-font doom-big-font) :size))
(when doom-big-font-mode
(font-get (doom-normalize-font doom-big-font) :size))
t `((doom-font . ,doom-big-font)))
;; Resize the current font
(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))
(send-string-to-terminal (char-to-string out)))))
(letf! (defun message (msg &rest args)
(when msg
(print-group!
(with-current-buffer log-buffer
(insert (doom--format (apply #'format msg args)) "\n"))
(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)
(unwind-protect
,(macroexp-progn body)

View file

@ -197,6 +197,64 @@ each package."
;;
;;; 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
(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
(defun doom-project-ignored-p (project-root)
"Return non-nil if remote or temporary file, or a straight package."
(and (not (file-remote-p project-root))
"Return non-nil if temporary file or a straight package."
(unless (file-remote-p project-root)
(or (file-in-directory-p project-root temporary-file-directory)
(file-in-directory-p project-root doom-local-dir))))

View file

@ -63,18 +63,6 @@
((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
@ -140,4 +128,4 @@
(append (if debug (list "--debug-init"))
(when (boundp '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)
(null doom-theme))
(funcall #',fn))
;; TODO Append to `doom-load-theme-hook' with DEPTH instead when Emacs
;; 26.x support is dropped.
(add-hook 'doom-customize-theme-hook #',fn 'append))))
(add-hook 'doom-customize-theme-hook #',fn 100))))
;;;###autoload
(defmacro custom-set-faces! (&rest specs)

View file

@ -54,10 +54,8 @@ in."
(warn! "Emacs %s detected" emacs-version)
(explain! "Doom supports this version, but you are living on the edge! "
"Be prepared for breakages in future versions of Emacs."))
((= emacs-major-version 26)
(warn! "Emacs %s detected" emacs-version)
(explain! "Doom is dropping Emacs 26.x support in June 2021. Consider "
"upgrading to Emacs 27.1 (or better: 27.2) soon!"
((< emacs-major-version 27)
(error! "Emacs %s detected, Doom only supports 27.1 and newer"
emacs-version))))
(print! (start "Checking for Doom's prerequisites..."))
@ -86,14 +84,13 @@ in."
"typically installed. If you're seeing a vanilla Emacs splash screen, this "
"may explain why. If you use Chemacs, you may ignore this warning."))
(when EMACS27+
(print! (start "Checking for great Emacs features..."))
(unless (functionp 'json-serialize)
(warn! "Emacs was not built with native JSON support")
(explain! "Users will see a substantial performance gain by building Emacs with "
"jansson support (i.e. a native JSON library), particularly LSP users. "
"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..."))
(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
"^HOME$" "^\\(OLD\\)?PWD$" "^SHLVL$" "^PS1$" "^R?PROMPT$" "^TERM\\(CAP\\)?$"
"^USER$"
;; X server or services' variables
;; X server or services' variables that shouldn't be persisted
"^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_\\(AUTH_SOCK\\|AGENT_PID\\)$" "^\\(SSH\\|GPG\\)_TTY$"
"^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)
(let ((repo-dir (straight--repos-dir repo)))
(when (file-directory-p repo-dir)
(delete-directory repo-dir 'recursive)
(delete-file (straight--modified-file repo))
(if (file-directory-p repo-dir)
(ignore (print! (error "Failed to purge repos/%s" repo)))
(print! (success "Purged repos/%s" repo))
t)))
t))))
(defun doom--cli-packages-purge-repos (repos)
(if (not repos)

View file

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

View file

@ -110,7 +110,10 @@ all hooks after it are ignored.")
:init
;; Convenience aliases
(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

View file

@ -625,72 +625,7 @@ testing advice (when combined with `rotate-text').
;;
;;; Backports
(eval-when! (version< emacs-version "27.0.90")
;; 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))))
;; None at the moment!
(provide 'core-lib)
;;; 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
(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)
"Loads `doom-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))
(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'
(add-hook (if (daemonp)
'after-make-frame-functions
'doom-after-init-modules-hook)
#'doom-init-theme-h)
#'doom-init-theme-h
-90)
;; Apply `doom-font' et co
(add-hook 'doom-after-init-modules-hook #'doom-init-fonts-h)
(add-hook 'window-setup-hook #'doom-init-ui-h 'append)
(add-hook 'window-setup-hook #'doom-init-ui-h 100)
;;
@ -702,25 +700,11 @@ windows, switch to `doom-fallback-buffer'. Otherwise, delegate to original
(fset 'define-fringe-bitmap #'ignore))
(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
disable it to fix all that visual noise."
(unless (frame-parameter nil 'parent-frame)
(funcall orig-fn)))
(add-function :around whitespace-enable-predicate #'doom-disable-whitespace-mode-in-childframes-a))
;; 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>"))
(frame-parameter nil 'parent-frame))
(add-function :before-while whitespace-enable-predicate #'doom-is-childframes-p))
(provide 'core-ui)
;;; core-ui.el ends here

View file

@ -3,7 +3,7 @@
;;
;;; Initialize internal state
(defconst doom-version "2.0.9"
(defconst doom-version "3.0.0-alpha"
"Current version of Doom Emacs.")
(defvar doom-init-p nil
@ -21,7 +21,6 @@ envvar will enable this at startup.")
(defconst doom-interactive-p (not noninteractive)
"If non-nil, Emacs is in interactive mode.")
(defconst EMACS27+ (> emacs-major-version 26))
(defconst EMACS28+ (> emacs-major-version 27))
(defconst IS-MAC (eq system-type 'darwin))
(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).
(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
;; is an undefined state and suggest this to be just as good:
(setq-default bidi-display-reordering 'left-to-right
@ -355,7 +354,6 @@ config.el instead."
(when (boundp 'libgnutls-version)
(concat "SECURE128:+SECURE192:-VERS-ALL"
(if (and (not IS-WINDOWS)
(not (version< emacs-version "26.3"))
(>= libgnutls-version 30605))
":+VERS-TLS1.3")
":+VERS-TLS1.2"))
@ -523,7 +521,6 @@ unreadable. Returns the names of envvars that were changed."
(defun doom-run-hook (hook)
"Run HOOK (a hook function) with better error handling.
Meant to be used with `run-hook-wrapped'."
(doom-log "Running doom hook: %s" hook)
(condition-case-unless-debug e
(funcall hook)
(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
;; opened and modes are all set up).
(advice-add 'after-find-file :before fn '((depth . -101))))
((add-hook hook fn (if EMACS27+ -101))))
((add-hook hook fn -101)))
fn)))

View file

@ -17,7 +17,7 @@
:branch ,straight-repository-branch
:local-repo "straight.el"
:files ("straight*.el"))
:pin "915707ff5139cbfaf5f1aecd881ce0abaaddcecc")
:pin "b45dd00408ff8e922f2d7f75441fd5603e5222fa")
;; core-modules.el
(package! use-package
@ -25,7 +25,7 @@
:pin "a7422fb8ab1baee19adb2717b5b47b9c3812a84c")
;; core-ui.el
(package! all-the-icons :pin "facbde4a7be292bf9490932cbe403b443273f45d")
(package! all-the-icons :pin "9d97c074b08000eacefc03ebc5dadbdc33888cc2")
(package! hide-mode-line :pin "88888825b5b27b300683e662fa3be88d954b1cea")
(package! highlight-numbers :pin "8b4744c7f46c72b1d3d599d4fb75ef8183dee307")
(package! rainbow-delimiters :pin "d576e6694ad3a3e88b2bb1363305b38fa364c149")
@ -37,8 +37,6 @@
(package! helpful :pin "7e4b1f0d5572a4e2b8ee7a9b084ef863d0315a73")
(package! pcre2el :pin "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d")
(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
;; Use my fork of ws-butler, which has a few choice improvements and
;; optimizations (the original has been abandoned).
@ -46,9 +44,9 @@
:pin "2bb49d3ee7d2cba133bc7e9cdac416cd1c5e4fe0")
;; core-projects.el
(package! projectile :pin "5e6fdabd59ec5507c1d54f3b11ee16ddc05821d3")
(package! projectile :pin "da08a9103b5ba3b38ef031a9627a19436eb318b5")
(package! project :pin "4072f35d85bf0a1c669329d66633e4819f497c1c")
;; core-keybinds.el
(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
;; in ~/.doom.d/config.el
(after! evil-snipe
(evil-snipe-mode -1))
(remove-hook 'doom-first-input-hook #'evil-snipe-mode)
#+END_SRC
** 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:
- 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+
- GNU Find
- (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
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
*** On Linux
In the unusual case that Emacs 26.x is unavailable through your package manager,
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:
Installation instructions for Emacs 27.1+ are listed below for many popular
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
Emacs 27.x is not available through Ubuntu's package manager out-of-the-box. To
get around this you'll need to install Emacs through a PPA:
Emacs 27.x is not available through Ubuntu's package manager out-of-the-box, but
is available through a PPA:
#+BEGIN_SRC bash
add-apt-repository ppa:kelleyk/emacs
@ -165,8 +160,9 @@ pacman -S fd
The above installs Emacs 27 (at the time of writing).
**** 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~:
#+BEGIN_SRC nix
environment.systemPackages = with pkgs; [
# required dependencies
@ -192,7 +188,7 @@ environment.systemPackages = [
#+END_SRC
**** 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.
For example, to install on openSUSE Leap 15.1 (requires root):
@ -203,7 +199,7 @@ zypper install emacs
#+END_SRC
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
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.
#+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:
+ With chocolatey/scoop
+ 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
most stable environment of the three, but has the most complex installation
process.
If you don't know which to choose, I highly recommend WSL; it produces the
fastest and most stable environment of the three, but has the most complex
installation process.
Before moving on to installing Emacs et co, a few steps to prepare Windows for
Emacs are necessary:
@ -446,7 +442,7 @@ bin/doom command.
#+BEGIN_SRC sh
sudo add-apt-repository ppa:kelleyk/emacs
sudo apt update
sudo apt install emacs26
sudo apt install emacs27
#+END_SRC
7. Then Doom's dependencies:
#+BEGIN_SRC sh

View file

@ -79,7 +79,7 @@ d s= (or =C-h d s=).
+ *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=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/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]]

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/json/README.org][json]] =+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
+ lean - 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
+ [[file:../modules/lang/python/README.org][python]] =+cython +lsp +pyright +pyenv +conda +poetry= - 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/rest/README.org][rest]] - 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-quit/README.org][doom-quit]] - TODO
+ [[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/hydra/README.org][hydra]] - TODO
+ indent-guides - TODO

View file

@ -11,10 +11,9 @@
;; Prevent unwanted runtime compilation for gccemacs (native-comp) users;
;; packages are compiled ahead-of-time when they are installed and site files
;; are compiled when gccemacs is installed.
;; REVIEW Remove after a couple months
(if (boundp 'comp-deferred-compilation)
(setq comp-deferred-compilation nil)
(setq native-comp-deferred-compilation nil))
;; REVIEW Remove after a month
(setq comp-deferred-compilation nil
native-comp-deferred-compilation nil)
;; 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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,6 +1,6 @@
#+TITLE: checkers/spell
#+DATE: January 9, 2020
#+SINCE: v3.0.0
#+DATE: February 20, 2017
#+SINCE: v2.0
#+STARTUP: inlineimages nofold
* 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)
(setq 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-pdict-save t))

View file

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

View file

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

View file

@ -26,10 +26,9 @@
company-backends '(company-capf)
;; 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.
company-auto-complete nil
company-auto-complete-chars nil
company-auto-commit nil
;; Only search the current buffer for `company-dabbrev' (a backend that
;; suggests text your open buffers). This prevents Company from causing
@ -90,6 +89,7 @@
;;; Packages
(after! company-files
;; Fix `company-files' completion for org file:* links
(add-to-list 'company-files--regexps "file:\\(\\(?:\\.\\{1,2\\}/\\|~/\\|/\\)[^\]\n]*\\)"))
@ -101,6 +101,8 @@
company-box-backends-colors nil
company-box-max-candidates 50
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
(cons #'+company-box-icons--elisp-fn
(delq 'company-box-icons--elisp

View file

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

View file

@ -8,10 +8,6 @@
- [[#module-flags][Module Flags]]
- [[#plugins][Plugins]]
- [[#prerequisites][Prerequisites]]
- [[#install][Install]]
- [[#macos][MacOS]]
- [[#arch-linux][Arch Linux]]
- [[#opensuse][openSUSE]]
- [[#features][Features]]
- [[#jump-to-navigation][Jump-to navigation]]
- [[#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=)
* Prerequisites
This module depends on:
+ [[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
This module has no prerequisites.
* Features
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
;; results in `company-capf' returning far to many completion candidates.
;; Instead, append those styles so that they act as a fallback.
(add-to-list 'completion-styles
(if EMACS27+
(if fuzzy 'flex 'helm)
(if fuzzy 'helm-flex 'helm)) t))
(add-to-list 'completion-styles (if fuzzy 'flex 'helm) t))
:config
(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-to-buffer)
:init
(setq projectile-completion-system 'helm)
(defvar helm-projectile-find-file-map (make-sparse-keymap))
:config
(set-keymap-parent helm-projectile-find-file-map helm-map))

View file

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

View file

@ -2,7 +2,7 @@
;;; completion/ido/packages.el
(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-vertical-mode :pin "b1659e967da0687abceca733b389ace24004fa66")
(package! crm-custom :pin "f1aaccf64306a5f99d9bf7ba815d7ea41c15518d")

View file

@ -9,10 +9,6 @@
- [[#plugins][Plugins]]
- [[#hacks][Hacks]]
- [[#prerequisites][Prerequisites]]
- [[#install][Install]]
- [[#macos][MacOS]]
- [[#arch-linux][Arch Linux]]
- [[#opensuse][openSUSE]]
- [[#features][Features]]
- [[#jump-to-navigation][Jump-to navigation]]
- [[#project-search--replace][Project search & replace]]
@ -64,25 +60,7 @@ lighter, simpler and faster in many cases.
command)
* Prerequisites
This module depends on:
+ [[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
This module has no prerequisites.
* Features
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-read-action-function #'ivy-hydra-read-action
ivy-read-action-format-function #'ivy-read-action-format-columns
projectile-completion-system 'ivy
;; don't show recent files in switch-buffer
ivy-use-virtual-buffers nil
;; ...but if that ever changes, show their full path

View file

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

View file

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

View file

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

View file

@ -34,10 +34,7 @@
(after! epa
;; With GPG 2.1+, this forces gpg-agent to use the Emacs minibuffer to prompt
;; for the key passphrase.
(set (if EMACS27+
'epg-pinentry-mode
'epa-pinentry-mode) ; DEPRECATED `epa-pinentry-mode'
'loopback)
(set 'epg-pinentry-mode 'loopback)
;; Default to the first secret key available in your keyring.
(setq-default
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:
1. Disable ~evil-snipe-mode~ by adding ~(after! evil-snipe (evil-snipe-mode
-1))~ to =$DOOMDIR/config.el=,
1. Disable ~evil-snipe-mode~ by adding ~(remove-hook 'doom-first-input-hook
#'evil-snipe-mode)~ to =$DOOMDIR/config.el=,
2. Or disable =evil-snipe= completely with ~(package! evil-snipe :disable t)~
added to =$DOOMDIR/packages.el=, but this will also disable incremental
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
debbugs
debug
devdocs
dictionary
diff-mode
dired
@ -123,6 +124,7 @@ variable for an explanation of the defaults (in comments). See
elisp-mode
elisp-refs
elisp-slime-nav
embark
emms
epa
ert
@ -209,13 +211,15 @@ variable for an explanation of the defaults (in comments). See
speedbar
tablist
tar-mode
telega
(term term ansi-term multi-term)
tetris
,@(if EMACS27+ '(thread))
thread
tide
timer-list
transmission
trashed
tuareg
typescript-mode
vc-annotate
vc-dir
@ -299,9 +303,8 @@ and complains if a module is loaded too early (during startup)."
(+evil-collection-init '(process-menu simple)))
(add-transient-hook! 'tabulated-list-mode
(+evil-collection-init 'tabulated-list))
(when EMACS27+
(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'
;; load order by loading their target plugin before applying keys. This

View file

@ -1,7 +1,7 @@
;; -*- no-byte-compile: t; -*-
;;; editor/evil/packages.el
(package! evil :pin "1b3db6349d04adfc68f707b0edd800f5ab3cb374")
(package! evil :pin "b237462feed177cc74a48f462bc9356681a60ff8")
(package! evil-args :pin "758ad5ae54ad34202064fec192c88151c08cb387")
(package! evil-easymotion :pin "f96c2ed38ddc07908db7c3c11bcd6285a3e8c2e9")
(package! evil-embrace :pin "464e8ec52ff78edf3c9060143fc375f6ce5f275f")
@ -11,14 +11,14 @@
(package! evil-exchange :pin "ac50f21b29b6e3a111e10a9e88ae61c907ac5ee8")
(package! evil-indent-plus :pin "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
(package! evil-lion :pin "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
(package! evil-nerd-commenter :pin "b8ac35fe019df5602c31912f65303a3d8ad0066c")
(package! evil-numbers
:recipe (:host github :repo "janpath/evil-numbers")
:pin "006da406d175c05fedca4431cccd569e20bef92c")
(package! evil-snipe :pin "6dcac7f2516c6137a2de532fc2c052f242559ee3")
(package! evil-surround :pin "346d4d85fcf1f9517e9c4991c1efe68b4130f93a")
(package! evil-nerd-commenter :pin "118bebd02a489ddf5eee3ab6fb55b3ef37ebe6d4")
(package! evil-numbers :pin "cd23a7b458d73dc49434a3cf90d3d0caceb5811d")
(package! evil-snipe :pin "a9b9b39a7915e66b7d5da9cecfaf002c72d08196")
(package! evil-surround :pin "3bd73794ee5a760118042584ef74e2b6fb2a1e06")
(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")
(package! evil-traces :pin "290b5323542c46af364ec485c8ec9000040acf90")
(package! evil-visualstar :pin "06c053d8f7381f91c53311b1234872ca96ced752")
@ -35,4 +35,4 @@
(package! neotree)
(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() {
${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)
:around #'format-all-buffer--from-hook
(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)
(error
(message "Warning: cannot reformat buffer because %S isn't installed"
(gethash formatter format-all--executable-table))
nil))
nil)))
(funcall format-all-buffer--with formatter mode-result)))
(apply orig-fn args)))

View file

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

View file

@ -1,6 +1,6 @@
;; -*- no-byte-compile: t; -*-
;;; editor/lispyville/packages.el
(package! lispy :pin "38a7df4cbb16cfe3d62dc8ea98b50e2d9a572e58")
(package! lispy :pin "e9731aa95581951ab2cbfaed28f0ac7d71124ac0")
(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-mc :pin "f04fb17f35f2722f2ac93c862b4450bb8e5b739a"))
((package! multiple-cursors :pin "7b13b03c995e13ad86e499d40ec49c4dc281f889")))
((package! multiple-cursors :pin "616fbdd3696f99d85660ad57ebbb0c44d6c7f426")))

View file

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

View file

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

View file

@ -1,4 +1,4 @@
;; -*- no-byte-compile: t; -*-
;;; 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
;; is considered part of the filename, so we disable icons while we're in
;; wdired-mode.
(when EMACS27+
(defvar +wdired-icons-enabled -1)
(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 _)
: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

View file

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

View file

@ -4,10 +4,10 @@
:unless (featurep! +tree)
:hook (doom-first-buffer . undo-fu-mode)
:config
;; Store more undo history to prevent loss of data
(setq undo-limit 400000
undo-strong-limit 3000000
undo-outer-limit 3000000)
;; Increase undo history limits to reduce likelihood of data loss
(setq undo-limit 400000 ; 400kb (default is 160kb)
undo-strong-limit 3000000 ; 3mb (default is 240kb)
undo-outer-limit 48000000) ; 48mb (default is 24mb)
(define-minor-mode undo-fu-mode
"Enables `undo-fu' for the current session."
@ -60,12 +60,14 @@
(setq undo-tree-visualizer-diff t
undo-tree-auto-save-history t
undo-tree-enable-undo-in-region t
;; Increase undo-limits by a factor of ten to avoid emacs prematurely
;; truncating the undo history and corrupting the tree. See
;; https://github.com/syl20bnr/spacemacs/issues/12110
undo-limit 800000
undo-strong-limit 12000000
undo-outer-limit 120000000)
;; Increase undo limits to avoid emacs prematurely truncating the undo
;; history and corrupting the tree. This is larger than the undo-fu
;; defaults because undo-tree trees consume exponentially more space,
;; and then some when `undo-tree-enable-undo-in-region' is involved. See
;; syl20bnr/spacemacs#12110
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
;; 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; -*-
(defun +vc--remote-homepage ()
(require 'browse-at-remote)
(or (let ((url (browse-at-remote--remote-ref)))
(cdr (browse-at-remote--get-url-from-remote (car url))))
(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)
"é" "w"
"É" "W"
"w" (kbd "C-w")
"W" (kbd "C-w C-w"))))
"w" (kbd "C-w"))))
;;;###autoload
(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
"é" "w"
"É" "W"
"w" (kbd "C-w")
"W" (kbd "C-w C-w"))))
"w" (kbd "C-w"))))

View file

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

View file

@ -29,22 +29,6 @@ This msut be advised *before* beancount-mode loads, because
:config
(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!))
(setq beancount-electric-currency t)

View file

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

View file

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

View file

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

View file

@ -16,6 +16,13 @@
(use-package! sly
:hook (lisp-mode-local-vars . sly-editing-mode)
: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
(set-repl-handler! 'lisp-mode #'sly-mrepl)
(set-eval-handler! 'lisp-mode #'sly-eval-region)

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -2,7 +2,7 @@
;;; lang/java/packages.el
(package! android-mode :pin "d5332e339a1f5e30559a53feffb8442ca79265d6")
(package! groovy-mode :pin "26da902d1158c0312628d57578109be54eca2415")
(package! groovy-mode :pin "99eaf70720e4a6337fbd5acb68ae45cc1779bdc4")
(when (featurep! +meghanada)
(package! meghanada :pin "6c57e8a0ae27e2929bb12572cf33059cd4ecbc04"))
@ -14,4 +14,4 @@
(when (featurep! +lsp)
(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
;; Major modes
(package! coffee-mode :pin "35a41c7d8233eac0b267d9593e67fb8b6235e134")
(package! js2-mode :pin "29979e5f3301796ba606759e39ee0b1b6a2a24f3")
(package! rjsx-mode :pin "b697fe4d92cc84fa99a7bcb476f815935ea0d919")
(package! typescript-mode :pin "1043025d42602d560949955410d3afa2562130ee")
@ -17,6 +15,6 @@
(package! skewer-mode :pin "e5bed351939c92a1f788f78398583c2f83f1bb3c")
;; Programming environment
(package! tide :pin "ad6fa78911d5d7e85c0851c0c1afc01f3cbde7c1")
(package! tide :pin "ccff099e94beda9f5378ffc2b412cb4257111e8d")
(when (featurep! :tools lookup)
(package! xref-js2 :pin "fd6b723e7f1f9793d189a815e1904364dc026b03"))

View file

@ -1,4 +1,5 @@
;;; lang/json/doctor.el -*- lexical-binding: t; -*-
(unless (executable-find "jq")
(when (and (featurep! :completion ivy)
(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-snatcher :pin "b28d1c0670636da6db508d03872d96ffddbc10f2")
(when (featurep! :completion ivy)
(package! counsel-jq :pin "153d70b576df1d572c56d84039cb40749310cfe7"))
(package! counsel-jq :pin "8cadd2e96470402ede4881b4e955872976443689"))

View file

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

View file

@ -4,4 +4,4 @@
(package! kotlin-mode :pin "0e4bafb31d1fc2a0a420a521c2723d5526646c0b")
(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
(defun +latex-fold-snippet-contents-h ()
(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
(defun +latex-fold-set-variable-pitch-h ()

View file

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

View file

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

View file

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

View file

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

View file

@ -1,7 +1,7 @@
;; -*- no-byte-compile: t; -*-
;;; lang/lua/packages.el
(package! lua-mode :pin "2d9a468b94acd8480299d47449b53136060b7b23")
(package! lua-mode :pin "2bd9077dd0405efc9276f612e24a345698c539c4")
(when (featurep! +moonscript)
(package! moonscript :pin "56f90471e2ced2b0a177aed4d8c2f854797e9cc7")
@ -11,7 +11,7 @@
:pin "fcb99e5efcf31db05f236f02eaa575986a57172d")))
(when (featurep! +fennel)
(package! fennel-mode :pin "ba14a7ddc21f8bc2b9bc58abd1655abbe12118d7"))
(package! fennel-mode :pin "a908db8696d29f0bf07e5212bb82084cb1e9c0f3"))
(when (featurep! :completion company)
(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-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-functions'), which it tries until one succeeds.
markdown-command #'+markdown-compile

View file

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

View file

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

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