Merge branch 'hlissner:develop' into develop
This commit is contained in:
commit
a7268ce4cb
152 changed files with 608 additions and 906 deletions
20
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
20
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
|
@ -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?
|
||||
|
|
18
.github/ISSUE_TEMPLATE/bump_request.yml
vendored
18
.github/ISSUE_TEMPLATE/bump_request.yml
vendored
|
@ -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?
|
||||
|
|
19
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
19
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
|
@ -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
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
[Install](#install) • [Documentation] • [FAQ] • [Screenshots] • [Contribute](#contribute)
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||

|
||||
[][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)
|
||||
|
|
6
bin/doom
6
bin/doom
|
@ -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")
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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))))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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))))
|
||||
|
|
|
@ -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))))
|
||||
|
|
|
@ -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)")))))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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$"
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)))
|
||||
|
||||
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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]]
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
;; -*- no-byte-compile: t; -*-
|
||||
;;; app/emms/packages.el
|
||||
|
||||
(package! emms :pin "06ef243c5a7b60de92ba5503bb385191e35fe21c")
|
||||
(package! emms :pin "6e0aaaf4c5598826b24c3079b80bf8af000a77c6")
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -2,4 +2,4 @@
|
|||
;;; checkers/grammar/packages.el
|
||||
|
||||
(package! langtool :pin "8276eccc5587bc12fd205ee58a7a982f0a136e41")
|
||||
(package! writegood-mode :pin "b71757ec337e226909fb0422f0224e31acc71733")
|
||||
(package! writegood-mode :pin "ed42d918d98826ad88928b7af9f2597502afc6b0")
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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))
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
use std::io;
|
||||
|
||||
fn main() {
|
||||
${0:println!("Hello, world!");}
|
||||
}
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
;; -*- no-byte-compile: t; -*-
|
||||
;;; editor/god/packages.el
|
||||
|
||||
(package! god-mode :pin "02a402b2323e025f77e89cf56d5e678e31a2d2f6")
|
||||
(package! god-mode :pin "1d7d647bb53a49fce03486eba90e97ccf35cf85a")
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -9,4 +9,4 @@
|
|||
(package! evil-multiedit :pin "9f271e0e6048297692f80ed6c5ae8994ac523abc")
|
||||
(package! evil-mc :pin "f04fb17f35f2722f2ac93c862b4450bb8e5b739a"))
|
||||
|
||||
((package! multiple-cursors :pin "7b13b03c995e13ad86e499d40ec49c4dc281f889")))
|
||||
((package! multiple-cursors :pin "616fbdd3696f99d85660ad57ebbb0c44d6c7f426")))
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -7,4 +7,4 @@
|
|||
:recipe (:host github
|
||||
:repo "hlissner/doom-snippets"
|
||||
:files ("*.el" "*"))
|
||||
:pin "f7747da6343aadfbe8a3f9e6b35018ac19db4438")
|
||||
:pin "5c0eb5bd70f035cefb981c2ce64f4367498bdda6")
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
;; -*- no-byte-compile: t; -*-
|
||||
;;; editor/word-wrap/packages.el
|
||||
|
||||
(package! adaptive-wrap :pin "91e939b48a8129f696f45a7a3963fe09cbfa3a2d")
|
||||
(package! adaptive-wrap :pin "0d5b4a07de76d87dd64333a566a8a0a845f2b9f0")
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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")))
|
||||
|
|
|
@ -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"))))
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -4,4 +4,4 @@
|
|||
(package! beancount
|
||||
:recipe (:host github
|
||||
:repo "beancount/beancount-mode")
|
||||
:pin "3c04745fa539c25dc007683ad257239067c24cfe")
|
||||
:pin "02fe03ee4487de7f83f587db65970b91ebd2d9d7")
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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))
|
||||
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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)))))
|
||||
|
|
|
@ -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")))
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
;; -*- no-byte-compile: t; -*-
|
||||
;;; lang/factor/packages.el
|
||||
|
||||
(package! fuel :pin "5bfeab6c0e13bfefddb98b30b6e60489a1574d8e")
|
||||
(package! fuel :pin "b989a860d1d6191bb9c5911ac77ed0931424eaeb")
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
;; -*- no-byte-compile: t; -*-
|
||||
;;; lang/fsharp/packages.el
|
||||
|
||||
(package! fsharp-mode :pin "78898a1535878394d83643c383f4320e7b5fcefd")
|
||||
(package! fsharp-mode :pin "93b1fbc31d73286a18640a36fc2be87d1736e0f2")
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
;; -*- no-byte-compile: t; -*-
|
||||
;;; lang/gdscript/packages.el
|
||||
|
||||
(package! gdscript-mode :pin "16c631cd6f2f2eeb11730442c9897008e1e10f7a")
|
||||
(package! gdscript-mode :pin "b7bfa6a3b294039f5093f85e4ff809ff05333abd")
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
;; -*- no-byte-compile: t; -*-
|
||||
;;; lang/idris/packages.el
|
||||
|
||||
(package! idris-mode :pin "80aabd2566082aa67d17eccdd80e9f1fb10c9ec8")
|
||||
(package! idris-mode :pin "f52ad0b4770403561b40f1d0499ecaca70da886c")
|
||||
|
|
|
@ -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")))
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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." ))
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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")))
|
||||
|
|
|
@ -4,4 +4,4 @@
|
|||
(package! kotlin-mode :pin "0e4bafb31d1fc2a0a420a521c2723d5526646c0b")
|
||||
|
||||
(when (featurep! :checkers syntax)
|
||||
(package! flycheck-kotlin :pin "5104ee9a3fdb7f0a0a3d3bcfd8dd3c45a9929310"))
|
||||
(package! flycheck-kotlin :pin "bf1b398bdde128806a0a7479ebbe369bbaa40dae"))
|
||||
|
|
|
@ -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 ()
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
Loading…
Add table
Add a link
Reference in a new issue