merge conflict

This commit is contained in:
Sam Precious 2021-02-21 20:36:28 +00:00
commit 645fde6b42
76 changed files with 477 additions and 211 deletions

21
.github/workflows/needs-reply.yml vendored Normal file
View file

@ -0,0 +1,21 @@
name: Remove needs-reply label
on:
issue_comment:
types:
- created
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Remove needs-reply label
uses: octokit/request-action@v2.x
continue-on-error: true
with:
route: DELETE /repos/:repository/issues/:issue/labels/:label
repository: ${{ github.repository }}
issue: ${{ github.event.issue.number }}
label: "status:needs-reply"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

12
.gitignore vendored
View file

@ -1,6 +1,8 @@
/.*
!.gitignore
!.github
*~
*.*~
\#*
.\#*
.local/
*.cache*
*.log
/modules/private
@ -8,11 +10,15 @@ test/.local*/
test/result
# emacs tempfiles that shouldn't be there
.dap-breakpoints
.org-id-locations
.tern-port
.yas-compiled-snippets.el
auto-save-list/
cask/
ede-projects.el
elpa/
eln-cache/
network-security.data
semanticdb
server/

View file

@ -7,12 +7,14 @@
:; exit $__DOOMCODE
;; The garbage collector isn't as important during CLI ops. A higher threshold
;; makes it 15-30% faster, but set it too high and we risk spiralling memory
;; usage in longer sessions.
;; makes it 15-30% faster, but set it too high and we risk runaway memory usage
;; in longer sessions.
(setq gc-cons-threshold 134217728) ; 128mb
;; Prioritize non-byte-compiled source files in non-interactive sessions to
;; prevent loading stale byte-code.
(setq load-prefer-newer t)
;; Ensure Doom runs out of this file's parent directory, where Doom is
;; presumably installed. Use the EMACSDIR envvar to change this.
(setq user-emacs-directory

View file

@ -111,52 +111,77 @@ ready to be pasted in a bug report on github."
(require 'core-packages)
(let ((default-directory doom-emacs-dir))
(letf! ((defun sh (&rest args) (cdr (apply #'doom-call-process args)))
(defun cat (file &optional limit)
(with-temp-buffer
(insert-file-contents file nil 0 limit)
(buffer-string)))
(defun abbrev-path (path)
(replace-regexp-in-string
(concat "\\<" (regexp-quote (user-login-name)) "\\>") "$USER"
(abbreviate-file-name path))))
(regexp-opt (list (user-login-name)) 'words) "$USER"
(abbreviate-file-name path)))
(defun symlink-path (file)
(format "%s%s" (abbrev-path file)
(if (file-symlink-p file)
(concat " -> " (file-truename file))
""))))
`((system
(type . ,system-type)
(config . ,system-configuration)
(info . ,(cons
(cond
(IS-WINDOWS "Windows")
(IS-MAC (format "MacOS "(sh "sw_vers" "-productVersion")))
((executable-find "lsb_release")
(sh "lsb_release" "-s" "-d"))
((executable-find "nixos-version")
(format "NixOS %s" (sh "nixos-version")))
((file-exists-p "/etc/os-release")
(let ((release (cat "/etc/os-release")))
(when (string-match "^PRETTY_NAME=\"\\([^\"]+\\)\"" release)
(match-string 1 release))))
((file-exists-p "/etc/debian_version")
(format "Debian %s" (car "/etc/debian_version")))
((when-let (files (doom-glob "/etc/*-release"))
(truncate-string-to-width
(replace-regexp-in-string "\n" " " (cat (car files) 73) nil t)
64 nil nil "...")))
((concat "Unknown " (sh "uname" "-v"))))
(sh "uname" "-msr")))
(shell . ,(abbrev-path shell-file-name))
(uname . ,(if IS-WINDOWS "n/a" (sh "uname" "-msrv")))
(path . ,(mapcar #'abbrev-path exec-path)))
(emacs
(dir . ,(abbrev-path (file-truename doom-emacs-dir)))
(version . ,emacs-version)
(build . ,(format-time-string "%b %d, %Y" emacs-build-time))
(dir . ,(symlink-path doom-emacs-dir))
(version . ,(delq nil (list emacs-version emacs-repository-version (format-time-string "%b %d, %Y" emacs-build-time))))
(buildopts . ,system-configuration-options)
(features . ,system-configuration-features)
(traits . ,(delq
nil (list (cond ((not doom-interactive-p) 'batch)
((display-graphic-p) 'gui)
('tty))
(if (daemonp) 'daemon)
(if (and (require 'server)
(server-running-p))
'server-running)
(if (boundp 'chemacs-profiles-path)
'chemacs)
(if (file-exists-p doom-env-file)
'envvar-file)
(if (featurep 'exec-path-from-shell)
'exec-path-from-shell)
(if (file-symlink-p user-emacs-directory)
'symlinked-emacsdir)
(if (file-symlink-p doom-private-dir)
'symlinked-doomdir)))))
(traits
. ,(delq
nil (list (cond ((not doom-interactive-p) 'batch)
((display-graphic-p) 'gui)
('tty))
(if (daemonp) 'daemon)
(if (and (require 'server)
(server-running-p))
'server-running)
(if (boundp 'chemacs-profiles-path)
'chemacs)
(if (file-exists-p doom-env-file)
'envvar-file)
(if (featurep 'exec-path-from-shell)
'exec-path-from-shell)
(if (file-symlink-p user-emacs-directory)
'symlinked-emacsdir)
(if (file-symlink-p doom-private-dir)
'symlinked-doomdir)
(if (doom-files-in `(,@doom-modules-dirs
,doom-core-dir
,doom-private-dir)
:type 'files :match "\\.elc$")
'byte-compiled-config)))))
(doom
(dir . ,(abbrev-path (file-truename doom-private-dir)))
(version . ,doom-version)
(dir . ,(symlink-path doom-private-dir))
(version . ,(list doom-version (sh "git" "log" "-1" "--format=%D %h %ci")))
,@(when doom-interactive-p
`((font . ,(bound-and-true-p doom-font))
(theme . ,(bound-and-true-p doom-theme))))
(build . ,(sh "git" "log" "-1" "--format=%D %h %ci"))
(elc-files
. ,(length (doom-files-in `(,@doom-modules-dirs
,doom-core-dir
,doom-private-dir)
:type 'files :match "\\.elc$")))
(modules
,@(or (cl-loop with cat = nil
for key being the hash-keys of doom-modules

View file

@ -7,6 +7,10 @@ These packages have silly or destructive autoload files that try to load
everyone in the universe and their dog, causing errors that make babies cry. No
one wants that.")
(defvar doom-autoloads-excluded-files
'("/bufler/bufler-workspaces-tabs\\.el$")
"List of regexps whose matching files won't be indexed for autoloads.")
(defvar doom-autoloads-cached-vars
'(doom-modules
doom-disabled-packages
@ -49,11 +53,13 @@ one wants that.")
(list doom-private-dir))
if (doom-glob dir "autoload.el") collect it
if (doom-glob dir "autoload/*.el") append it)
(mapcan #'doom-glob doom-autoloads-files)))
(mapcan #'doom-glob doom-autoloads-files))
nil)
(doom-autoloads--scan
(mapcar #'straight--autoloads-file
(seq-difference (hash-table-keys straight--build-cache)
doom-autoloads-excluded-packages))
doom-autoloads-excluded-files
'literal))
(print! (start "Byte-compiling autoloads file..."))
(doom-autoloads--compile-file file)
@ -189,35 +195,39 @@ one wants that.")
(doom-autoloads--scan-autodefs
file target-buffer module module-enabled-p))))
(defun doom-autoloads--scan (files &optional literal)
(defun doom-autoloads--scan (files &optional exclude literal)
(require 'autoload)
(let (autoloads)
(dolist (file
(seq-filter #'file-readable-p files)
(nreverse (delq nil autoloads)))
(with-temp-buffer
(print! (debug "- Scanning %s") (relpath file doom-emacs-dir))
(if literal
(insert-file-contents file)
(doom-autoloads--scan-file file))
(save-excursion
(let ((filestr (prin1-to-string file)))
(while (re-search-forward "\\_<load-file-name\\_>" nil t)
;; `load-file-name' is meaningless in a concatenated
;; mega-autoloads file, so we replace references to it with the
;; file they came from.
(let ((ppss (save-excursion (syntax-ppss))))
(or (nth 3 ppss)
(nth 4 ppss)
(replace-match filestr t t))))))
(let ((load-file-name file)
(load-path
(append (list doom-private-dir)
doom-modules-dirs
load-path)))
(condition-case _
(while t
(push (doom-autoloads--cleanup-form (read (current-buffer))
(not literal))
autoloads))
(end-of-file)))))))
(let (case-fold-search ; case-sensitive regexp from here on
autoloads)
(dolist (file files (nreverse (delq nil autoloads)))
(when (and (or (null exclude)
(seq-remove (doom-rpartial #'string-match-p file)
exclude))
(file-readable-p file))
(doom-log "Scanning %s" file)
(setq file (file-truename file))
(with-temp-buffer
(if literal
(insert-file-contents file)
(doom-autoloads--scan-file file))
(save-excursion
(let ((filestr (prin1-to-string file)))
(while (re-search-forward "\\_<load-file-name\\_>" nil t)
;; `load-file-name' is meaningless in a concatenated
;; mega-autoloads file, so we replace references to it with the
;; file they came from.
(let ((ppss (save-excursion (syntax-ppss))))
(or (nth 3 ppss)
(nth 4 ppss)
(replace-match filestr t t))))))
(let ((load-file-name file)
(load-path
(append (list doom-private-dir)
doom-modules-dirs
load-path)))
(condition-case _
(while t
(push (doom-autoloads--cleanup-form (read (current-buffer))
(not literal))
autoloads))
(end-of-file))))))))

View file

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

View file

@ -494,8 +494,17 @@ Environment variables:
(run-hooks 'doom-cli-pre-hook)
(when (apply #'doom-cli-execute command args)
(run-hooks 'doom-cli-post-hook)
(print! (success "Finished in %.4fs")
(float-time (time-subtract (current-time) start-time))))))))
(print! (success "Finished in %s")
(let* ((duration (float-time (time-subtract (current-time) before-init-time)))
(hours (/ (truncate duration) 60 60))
(minutes (- (/ (truncate duration) 60) (* hours 60)))
(seconds (- duration (* hours 60 60) (* minutes 60))))
(string-join
(delq
nil (list (unless (zerop hours) (format "%dh" hours))
(unless (zerop minutes) (format "%dm" minutes))
(format (if (> duration 60) "%ds" "%.4fs")
seconds)))))))))))
;; TODO Not implemented yet
(doom-cli-command-not-found-error
(print! (error "Command 'doom %s' not recognized") (string-join (cdr e) " "))

View file

@ -72,6 +72,19 @@ possible."
;; warning as it will redirect you to the existing buffer anyway.
(setq find-file-suppress-same-file-warnings t)
;; Create missing directories when we open a file that doesn't exist under a
;; directory tree that may not exist.
(add-hook! 'find-file-not-found-functions
(defun doom-create-missing-directories-h ()
"Automatically create missing directories when creating new files."
(unless (file-remote-p buffer-file-name)
(let ((parent-directory (file-name-directory buffer-file-name)))
(and (not (file-directory-p parent-directory))
(y-or-n-p (format "Directory `%s' does not exist! Create it?"
parent-directory))
(progn (make-directory parent-directory 'parents)
t))))))
;; Don't generate backups or lockfiles. While auto-save maintains a copy so long
;; as a buffer is unsaved, backups create copies once, when the file is first
;; written, and never again until it is killed and reopened. This is better
@ -284,15 +297,29 @@ or file path may exist now."
savehist-autosave-interval nil ; save on kill only
savehist-additional-variables
'(kill-ring ; persist clipboard
register-alist ; persist macros
mark-ring global-mark-ring ; persist marks
search-ring regexp-search-ring)) ; persist searches
(add-hook! 'savehist-save-hook
(defun doom-unpropertize-kill-ring-h ()
(defun doom-savehist-unpropertize-variables-h ()
"Remove text properties from `kill-ring' for a smaller savehist file."
(setq kill-ring (cl-loop for item in kill-ring
if (stringp item)
collect (substring-no-properties item)
else if item collect it)))))
(setq kill-ring
(mapcar #'substring-no-properties
(cl-remove-if-not #'stringp kill-ring))
register-alist
(cl-loop for (reg . item) in register-alist
if (stringp item)
collect (cons reg (substring-no-properties item))
else collect (cons reg item))))
(defun doom-savehist-remove-unprintable-registers-h ()
"Remove unwriteable registers (e.g. containing window configurations).
Otherwise, `savehist' would discard `register-alist' entirely if we don't omit
the unwritable tidbits."
;; Save new value in the temp buffer savehist is running
;; `savehist-save-hook' in. We don't want to actually remove the
;; unserializable registers in the current session!
(setq-local register-alist
(cl-remove-if-not #'savehist-printable register-alist)))))
(use-package! saveplace
@ -387,6 +414,8 @@ files, so we replace calls to `pp' with the much faster `prin1'."
(use-package! dtrt-indent
;; Automatic detection of indent settings
:when doom-interactive-p
;; I'm not using `global-dtrt-indent-mode' because it has hard-coded and rigid
;; major mode checks, so I implement it in `doom-detect-indentation-h'.
:hook ((change-major-mode-after-body read-only-mode) . doom-detect-indentation-h)
:config
(defun doom-detect-indentation-h ()
@ -406,23 +435,7 @@ files, so we replace calls to `pp' with the much faster `prin1'."
(setq dtrt-indent-max-lines 2000)
;; always keep tab-width up-to-date
(push '(t tab-width) dtrt-indent-hook-generic-mapping-list)
(defvar dtrt-indent-run-after-smie)
(defadvice! doom--fix-broken-smie-modes-a (orig-fn arg)
"Some smie modes throw errors when trying to guess their indentation, like
`nim-mode'. This prevents them from leaving Emacs in a broken state."
:around #'dtrt-indent-mode
(let ((dtrt-indent-run-after-smie dtrt-indent-run-after-smie))
(letf! ((defun symbol-config--guess (beg end)
(funcall symbol-config--guess beg (min end 10000)))
(defun smie-config-guess ()
(condition-case e (funcall smie-config-guess)
(error (setq dtrt-indent-run-after-smie t)
(message "[WARNING] Indent detection: %s"
(error-message-string e))
(message ""))))) ; warn silently
(funcall orig-fn arg)))))
(push '(t tab-width) dtrt-indent-hook-generic-mapping-list))
(use-package! helpful

View file

@ -260,9 +260,18 @@ See `general-key-dispatch' for what other arguments it accepts in BRANCHES."
(when (cl-oddp (length branches))
(setq fallback (car (last branches))
branches (butlast branches)))
`(general-predicate-dispatch ,fallback
:docstring ,docstring
,@branches)))
(let ((defs (cl-loop for (key value) on branches by 'cddr
unless (keywordp key)
collect (list key value))))
`'(menu-item
,(or docstring "") nil
:filter (lambda (&optional _)
(let (it)
(cond ,@(mapcar (lambda (pred-def)
`((setq it ,(car pred-def))
,(cadr pred-def)))
defs)
(t ,fallback))))))))
(defalias 'kbd! 'general-simulate-key)

View file

@ -302,10 +302,11 @@ those directories. The first returned path is always `doom-private-dir'."
mplist)
(push (car key) mplist))
(throw 'doom-modules t))))
(push (funcall fn category module
:flags (if (listp m) (cdr m))
:path (doom-module-locate-path category module))
results))))))
(let ((path (doom-module-locate-path category module)))
(push (funcall fn category module
:flags (if (listp m) (cdr m))
:path (if (stringp path) (file-truename path)))
results)))))))
(unless doom-interactive-p
(setq doom-inhibit-module-warnings t))
(nreverse results)))

View file

@ -77,7 +77,7 @@ uses a straight or package.el command directly).")
;;
;;; Straight
(setq straight-base-dir doom-local-dir
(setq straight-base-dir (file-truename doom-local-dir)
straight-repository-branch "develop"
;; Since byte-code is rarely compatible across different versions of
;; Emacs, it's best we build them in separate directories, per emacs

View file

@ -599,7 +599,7 @@ behavior). Do not set this directly, this is let-bound in `doom-init-theme-h'.")
(when doom-variable-pitch-font
(set-face-attribute 'variable-pitch nil :font doom-variable-pitch-font))
(when (fboundp 'set-fontset-font)
(dolist (font (cons doom-unicode-font doom-unicode-extra-fonts))
(dolist (font (remq nil (cons doom-unicode-font doom-unicode-extra-fonts)))
(set-fontset-font t 'unicode font nil 'prepend)))
(run-hooks 'after-setting-font-hook))
((debug error)

View file

@ -33,14 +33,14 @@ envvar will enable this at startup.")
(setenv "HOME" (getenv "USERPROFILE"))
(setq abbreviated-home-dir nil))
;; Contrary to what many Emacs users have in their configs, you really don't
;; need more than this to make UTF-8 the default coding system:
;; Contrary to what many Emacs users have in their configs, you don't need more
;; than this to make UTF-8 the default coding system:
(when (fboundp 'set-charset-priority)
(set-charset-priority 'unicode)) ; pretty
(prefer-coding-system 'utf-8) ; pretty
(setq locale-coding-system 'utf-8) ; please
;; The clipboard's on Windows could be in a wider (or thinner) encoding than
;; utf-8 (likely UTF-16), so let Emacs/the OS decide what encoding to use there.
;; The clipboard's on Windows could be in a wider encoding than utf-8 (likely
;; utf-16), so let Emacs/the OS decide what encoding to use there.
(unless IS-WINDOWS
(setq selection-coding-system 'utf-8)) ; with sugar on top
@ -156,7 +156,7 @@ users).")
(with-eval-after-load 'comp
;; HACK Disable native-compilation for some troublesome packages
(mapc (doom-partial #'add-to-list 'comp-deferred-compilation-deny-list)
(mapc (apply-partially #'add-to-list 'comp-deferred-compilation-deny-list)
(let ((local-dir-re (concat "\\`" (regexp-quote doom-local-dir))))
(list (concat "\\`" (regexp-quote doom-autoloads-file) "\\'")
(concat local-dir-re ".*/evil-collection-vterm\\.el\\'")
@ -165,11 +165,11 @@ users).")
(concat local-dir-re ".*/jupyter-channel\\.el\\'"))))
;; Default to using all cores, rather than half of them, since we compile
;; things ahead-of-time in a non-interactive session.
(defadvice! doom--comp-use-all-cores-a ()
:override #'comp-effective-async-max-jobs
(defun doom--comp-use-all-cores-a ()
(if (zerop comp-async-jobs-number)
(setq comp-num-cpus (doom-num-cpus))
comp-async-jobs-number)))
comp-async-jobs-number))
(advice-add #'comp-effective-async-max-jobs :override #'doom--comp-use-all-cores-a))
;;

View file

@ -17,15 +17,15 @@
:branch ,straight-repository-branch
:local-repo "straight.el"
:files ("straight*.el"))
:pin "f2cb888f088a790bac8731b95eeec3df068cac5f")
:pin "0f9b828d8a41cf3d312678e82573066aebf2ab6e")
;; core-modules.el
(package! use-package
:type 'core
:pin "317137b07687f16ea97a2493b0a6768c9df381a0")
:pin "a7422fb8ab1baee19adb2717b5b47b9c3812a84c")
;; core-ui.el
(package! all-the-icons :pin "5fa728399bd6233a82bbfd4f7cb203a1d7ede708")
(package! all-the-icons :pin "2f5ea7259ed104a0ef8727f640ee2525108038d5")
(package! hide-mode-line :pin "88888825b5b27b300683e662fa3be88d954b1cea")
(package! highlight-numbers :pin "8b4744c7f46c72b1d3d599d4fb75ef8183dee307")
(package! rainbow-delimiters :pin "f43d48a24602be3ec899345a3326ed0247b960c6")
@ -33,7 +33,7 @@
;; core-editor.el
(package! better-jumper :pin "411ecdf6e7a3e1b4ced7605070d2309e5fc46556")
(package! dtrt-indent :pin "854b9a1ce93d9926018a0eb18e6e552769c5407d")
(package! dtrt-indent :pin "4a30d8edac7fbc5936fc07050e3ebfb94f97c1e7")
(package! helpful :pin "584ecc887bb92133119f93a6716cdf7af0b51dca")
(package! pcre2el :pin "0b5b2a2c173aab3fd14aac6cf5e90ad3bf58fa7d")
(package! smartparens :pin "63695c64233d215a92bf08e762f643cdb595bdd9")

View file

@ -175,6 +175,7 @@
:app
;;calendar
;;everywhere ; *leave* Emacs!? You must be joking
;;irc ; how neckbeards socialize
;;(rss +org) ; emacs as an RSS reader
;;twitter ; twitter client https://twitter.com/vnought

View file

@ -5,4 +5,4 @@
(package! calfw-org :pin "03abce97620a4a7f7ec5f911e669da9031ab9088")
(package! calfw-cal :pin "03abce97620a4a7f7ec5f911e669da9031ab9088")
(package! calfw-ical :pin "03abce97620a4a7f7ec5f911e669da9031ab9088")
(package! org-gcal :pin "2cad2d8c175975dea42903cd4e3fd8bec423c01a")
(package! org-gcal :pin "0a6f9a7385410b70853eb65c14344ad76cc6815f")

View file

@ -0,0 +1,58 @@
#+title: app/everywhere
#+date: February 7, 2021
#+since: v3.0
#+startup: inlineimages nofold
* Table of Contents :TOC_3:noexport:
- [[#description][Description]]
- [[#maintainers][Maintainers]]
- [[#module-flags][Module Flags]]
- [[#plugins][Plugins]]
- [[#prerequisites][Prerequisites]]
- [[#features][Features]]
- [[#configuration][Configuration]]
* Description
This module adds system-wide popup Emacs windows for quick edits.
** Maintainers
+ [[https://github.com/tecosaur][@tecosaur]]
** Module Flags
This module provides no flags.
** Plugins
+ [[https://github.com/tecosaur/emacs-everywhere][emacs-everywhere]]
* Prerequisites
On Linux =xclip=, =xdotool=, =xprop=, and =xwininfo= are needed.
On MacOS, Emacs must be allowed to "control your computer" under *Settings > Accessibility*.
* Features
To use this, invoke the =emacs-everywhere= executable. This can be done in two
ways:
+ ~emacsclient --eval "(emacs-everywhere)"~
+ ~doom everywhere~
It is recommended that you add a keybinding for this.
From here, you can edit away to your hearts content in the created frame, then
return to the original window and paste the content with =C-c C-c= or =SPC q f=.
To exit without pasting, use =C-c C-k=.
* Configuration
=emacs-everywhere= likes to guess if you triggered it from an application which
supports markdown. Configure ~emacs-everywhere-markdown-windows~ and
~emacs-everywhere-markdown-apps~ to improve how accurate this is on your system.
By default, when markdown is detected, ~markdown-mode~ is used. It is possible to
instead use pandoc to convert the content to Org (and export to markdown when
closing the frame) by setting ~emacs-everywhere-major-mode-function~ to
=#'org-mode=.
Most other behaviour is implemented as hooks on ~emacs-everywhere-init-hooks~.

View file

@ -0,0 +1,5 @@
;;; app/everywhere/cli.el -*- lexical-binding: t; -*-
(defcli! everywhere ()
"Spawn an emacsclient window for quick edits."
(throw 'exit (list "emacsclient" "--eval" "(emacs-everywhere)")))

View file

@ -0,0 +1,35 @@
;;; app/everywhere/config.el -*- lexical-binding: t; -*-
(use-package! emacs-everywhere
;; Entry points into this package are autoloaded; i.e. the `emacs-everywhere'
;; function, meant to be called directly via emacsclient. See this module's
;; readme for details.
:defer t
:config
(set-yas-minor-mode! 'emacs-everywhere-mode)
(after! doom-modeline
(doom-modeline-def-segment emacs-everywhere
(concat (doom-modeline-spc)
(when (emacs-everywhere-markdown-p)
(concat
(all-the-icons-octicon "markdown" :face 'all-the-icons-green :v-adjust 0.02)
(doom-modeline-spc)))
(propertize emacs-everywhere-app-name
'face 'doom-modeline-project-dir)
(doom-modeline-spc)
(propertize (truncate-string-to-width emacs-everywhere-window-title
45 nil nil "")
'face 'doom-modeline-buffer-minor-mode)))
(doom-modeline-def-modeline 'emacs-everywhere
'(bar modals emacs-everywhere buffer-position word-count parrot selection-info)
'(input-method major-mode checker))
(defun emacs-everywhere-set-modeline ()
(doom-modeline-set-modeline 'emacs-everywhere))
(add-hook 'emacs-everywhere-init-hooks #'emacs-everywhere-set-modeline))
(when (featurep! :ui workspaces)
(defun emacs-everywhere-clear-persp-info ()
(setq persp-emacsclient-init-frame-behaviour-override nil))
(add-hook 'emacs-everywhere-init-hooks #'emacs-everywhere-clear-persp-info))
(after! solaire-mode
(add-hook 'emacs-everywhere-init-hooks #'solaire-mode)))

View file

@ -0,0 +1,12 @@
;;; app/everywhere/doctor.el -*- lexical-binding: t; -*-
(when IS-WINDOWS
(error! "emacs-everywhere package does not support windows."))
(when IS-LINUX
(let (unmet-deps)
(dolist (dep '("xclip" "xdotool" "xprop" "xwininfo"))
(unless (executable-find dep)
(push dep unmet-deps)))
(when unmet-deps
(error! "Unmet dependencies: %s" (string-join unmet-deps ", ")))))

View file

@ -0,0 +1,6 @@
;; -*- no-byte-compile: t; -*-
;;; app/everywhere/packages.el
(package! emacs-everywhere
:recipe (:host github :repo "tecosaur/emacs-everywhere")
:pin "d84b397c9a82c2fea1b0c87740c395a2c7af3be8")

View file

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

View file

@ -1,5 +1,5 @@
;; -*- no-byte-compile: t; -*-
;;; app/rss/packages.el
(package! elfeed :pin "7b2b6fadaa498fef2ba212a50da4a8afa2a5d305")
(package! elfeed :pin "362bbe5b38353d033c5299f621fea39e2c75a5e0")
(package! elfeed-org :pin "77b6bbf222487809813de260447d31c4c59902c9")

View file

@ -2,4 +2,4 @@
;;; app/twitter/packages.el
(package! twittering-mode :pin "114891e8fdb4f06b1326a6cf795e49c205cf9e29")
(package! avy :pin "bbf1e7339eba06784dfe86643bb0fbddf5bb0342")
(package! avy :pin "e92cb37457b43336b765630dbfbea8ba4be601fa")

View file

@ -24,14 +24,14 @@ bottom, which is easier on the eyes on big displays."
:position (point)
:poshandler +helm-posframe-handler
:respect-header-line helm-echo-input-in-header-line
:width
:min-width
(max (cl-typecase .width
(integer .width)
(float (truncate (* (frame-width) .width)))
(function (funcall .width))
(t 0))
.min-width)
:height
:min-height
(max (cl-typecase .height
(integer .height)
(float (truncate (* (frame-height) .height)))

View file

@ -12,7 +12,7 @@ be negative.")
(defvar +helm-posframe-parameters
'((internal-border-width . 8)
(width . 0.5)
(width . 0.65)
(height . 0.35)
(min-width . 80)
(min-height . 16))

View file

@ -153,7 +153,8 @@ results buffer.")
(switch-buffer-alist (assq 'ivy-rich-candidate (plist-get plist :columns))))
(setcar switch-buffer-alist '+ivy-rich-buffer-name))
(ivy-rich-mode +1))
(ivy-rich-mode +1)
(ivy-rich-project-root-cache-mode +1))
(use-package! all-the-icons-ivy

View file

@ -403,7 +403,8 @@
:desc "Save file as..." "S" #'write-file
:desc "Sudo find file" "u" #'doom/sudo-find-file
:desc "Sudo this file" "U" #'doom/sudo-this-file
:desc "Yank filename" "y" #'+default/yank-buffer-filename)
:desc "Yank file path" "y" #'+default/yank-buffer-path
:desc "Yank file path from project" "Y" #'+default/yank-buffer-path-relative-to-project)
;;; <leader> g --- git/version control
(:prefix-map ("g" . "git")

View file

@ -32,13 +32,24 @@
((error "No kill-ring search backend available. Enable ivy or helm!")))))
;;;###autoload
(defun +default/yank-buffer-filename ()
(defun +default/yank-buffer-path (&optional root)
"Copy the current buffer's path to the kill ring."
(interactive)
(if-let (filename (or buffer-file-name (bound-and-true-p list-buffers-directory)))
(message (kill-new (abbreviate-file-name filename)))
(if-let (filename (or (buffer-file-name (buffer-base-buffer))
(bound-and-true-p list-buffers-directory)))
(message "Copied path to clipboard: %s"
(kill-new (abbreviate-file-name
(if root
(file-relative-name filename root)
filename))))
(error "Couldn't find filename in current buffer")))
;;;###autoload
(defun +default/yank-buffer-path-relative-to-project ()
"Copy the current buffer's path to the kill ring."
(interactive)
(+default/yank-buffer-path (doom-project-root)))
;;;###autoload
(defun +default/insert-file-path (arg)
"Insert the file name (absolute path if prefix ARG).
@ -55,7 +66,9 @@ If `buffer-file-name' isn't set, uses `default-directory'."
"Delete back to the previous column of whitespace, or as much whitespace as
possible, or just one char if that's not possible."
(interactive)
(let* ((context (ignore-errors (sp-get-thing)))
(let* ((context
(if (bound-and-true-p smartparens-mode)
(ignore-errors (sp-get-thing))))
(op (plist-get context :op))
(cl (plist-get context :cl))
open-len close-len)

View file

@ -1,9 +1,9 @@
;; -*- no-byte-compile: t; -*-
;;; config/default/packages.el
(package! avy :pin "bbf1e7339eba06784dfe86643bb0fbddf5bb0342")
(package! avy :pin "e92cb37457b43336b765630dbfbea8ba4be601fa")
(package! drag-stuff :pin "6d06d846cd37c052d79acd0f372c13006aa7e7c8")
(package! link-hint :pin "e897897d6a92b4ffdbff33acf69f5c661da1123a")
(package! link-hint :pin "09ba5727d8ba4a2e5d4f5ce924aaebbc7478ff13")
(unless (featurep! :editor evil)
(package! expand-region :pin "ea6b4cbb9985ddae532bd2faf9bb00570c9f2781"))

View file

@ -23,7 +23,7 @@ byte-compiled from.")
(letf! ((default-directory doom-private-dir)
(target +literate-config-file)
(cache +literate-config-cache-file)
(dest (expand-file-name (concat (file-name-base target) ".el")))
(dest (expand-file-name (concat doom-module-config-file ".el")))
;; Operate on a copy because `org-babel-tangle' has
;; side-effects we need to undo immediately as not to
;; overwrite the user's config; it's bad ettiquite.

View file

@ -54,6 +54,8 @@ variable for an explanation of the defaults (in comments). See
;; We do this ourselves, and better.
(defvar evil-collection-want-unimpaired-p nil)
;; Doom binds goto-reference on gD and goto-assignments on gA ourselves
(defvar evil-collection-want-find-usages-bindings-p nil)
;; We handle loading evil-collection ourselves
(defvar evil-collection--supported-modes nil)

View file

@ -11,7 +11,7 @@
(package! evil-exchange :pin "3030e21ee16a42dfce7f7cf86147b778b3f5d8c1")
(package! evil-indent-plus :pin "0c7501e6efed661242c3a20e0a6c79a6455c2c40")
(package! evil-lion :pin "6b03593f5dd6e7c9ca02207f9a73615cf94c93ab")
(package! evil-nerd-commenter :pin "563cdc154b1f29d181b883563dd37be7eafafdee")
(package! evil-nerd-commenter :pin "2730820b9ccedf758c8a0428ee2c994c9fc415dd")
(package! evil-numbers
:recipe (:host github :repo "janpath/evil-numbers")
:pin "006da406d175c05fedca4431cccd569e20bef92c")
@ -33,4 +33,4 @@
(package! neotree)
(autoload 'neotree-make-executor "neotree" nil nil 'macro))
(package! evil-collection :pin "e6824e2ad2f2ee7ddccf6f54db655a4cd37a13dc"))
(package! evil-collection :pin "334670e29d964c5f591f75ccbf52b7b5faf4daba"))

View file

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

View file

@ -3,6 +3,7 @@
(use-package! lispy
:hook ((lisp-mode . lispy-mode)
(emacs-lisp-mode . lispy-mode)
(ielm-mode . lispy-mode)
(scheme-mode . lispy-mode)
(racket-mode . lispy-mode)
(hy-mode . lispy-mode)

View file

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

View file

@ -62,8 +62,7 @@
(append vars sp--mc/cursor-specific-vars)))))
;; Whitelist more commands
(dolist (fn '((delete-char)
(backward-kill-word)
(dolist (fn '((backward-kill-word)
(company-complete-common . evil-mc-execute-default-complete)
(doom/backward-to-bol-or-indent . evil-mc-execute-default-call)
(doom/forward-to-last-non-comment-or-eol . evil-mc-execute-default-call)
@ -75,6 +74,9 @@
(evil-escape . evil-mc-execute-default-evil-normal-state) ; C-g
(evil-numbers/inc-at-pt-incremental)
(evil-numbers/dec-at-pt-incremental)
(evil-digit-argument-or-evil-beginning-of-visual-line
(:default . evil-mc-execute-default-call)
(visual . evil-mc-execute-visual-call))
;; :tools eval
(+eval:replace-region . +multiple-cursors-execute-default-operator-fn)
;; :lang ess
@ -82,9 +84,11 @@
;; :lang org
(evil-org-delete . evil-mc-execute-default-evil-delete)))
(setf (alist-get (car fn) evil-mc-custom-known-commands)
(list (cons :default
(or (cdr fn)
#'evil-mc-execute-default-call-with-count)))))
(if (and (cdr fn) (listp (cdr fn)))
(cdr fn)
(list (cons :default
(or (cdr fn)
#'evil-mc-execute-default-call-with-count))))))
;; HACK Allow these commands to be repeated by prefixing them with a numerical
;; argument. See gabesoft/evil-mc#110

View file

@ -7,6 +7,6 @@
;; time of writing). Revisit later.
(package! iedit :pin "77eb0a1e2e44b453e4ebf4c38409affa353f5139")
(package! evil-multiedit :pin "9f271e0e6048297692f80ed6c5ae8994ac523abc")
(package! evil-mc :pin "7dfb2ca5ac00c249cb2f55cd6fa91fb2bfb1117e"))
(package! evil-mc :pin "f04fb17f35f2722f2ac93c862b4450bb8e5b739a"))
((package! multiple-cursors :pin "83abb0533a9d9635bc86d6d52a4e7641b0eaaf63")))
((package! multiple-cursors :pin "a9d7764f80b241978f3d4e76bc981ef10bab5d70")))

View file

@ -11,4 +11,4 @@
;; separate session:
(autoload 'evil-define-key "evil-core" nil nil 'macro))
(package! parinfer :pin "91856b9c5817ead97aa034fe108c4a6e884802b2")
(package! parinfer :pin "8659c99a9475ee34af683fdf8f272728c6bebb3a")

View file

@ -246,7 +246,7 @@ If the snippet isn't in `+snippets-dir', it will be copied there (where it will
shadow the default snippet)."
(interactive
(list
(+snippet--completing-read-uuid "Select snippet to alias: "
(+snippet--completing-read-uuid "Select snippet to edit: "
current-prefix-arg)))
(if-let* ((major-mode (if (eq major-mode 'snippet-mode)
(intern (file-name-base (directory-file-name default-directory)))

View file

@ -7,4 +7,4 @@
:recipe (:host github
:repo "hlissner/doom-snippets"
:files ("*.el" "*"))
:pin "33eb93ba6a6f307ceb89e4e80554a1db328c3e26")
:pin "aa5587b8c9863fcbb34e21d518ce1947ba4aeb22")

View file

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

View file

@ -3,10 +3,10 @@
(package! diredfl :pin "cd052dfef602fe79d8dfbcf9f06e6da74412218b")
(package! dired-git-info :pin "b47f2b0c3a6cb9b7a62a4ee2605a492e512d40a9")
(package! diff-hl :pin "2281a89a3ddc6616073da6f190dda08d23b18ba6")
(package! dired-rsync :pin "bfd5c155be1cb6b71c83e5f41116c81b6532b6d5")
(package! diff-hl :pin "4c46b3b9851c85d15bff1e3ec92e5fc6043322bc")
(package! dired-rsync :pin "fb0f161ac3cce1b224f52547f5bc7e1dcd283191")
(when (featurep! +ranger)
(package! ranger :pin "caf75f0060e503af078c7e5bb50d9aaa508e6f3e"))
(package! ranger :pin "2498519cb21dcd5791d240607a72a204d1761668"))
(when (featurep! +icons)
(package! all-the-icons-dired :pin "fc2dfa1e9eb8bf1c402a675e7089638d702a27a5"))
(package! fd-dired :pin "5622041068d5fa2f299dbc8aa91fece0ba260086")
(package! fd-dired :pin "9fb966df33e7dde9360b8707f7a0197694f46abd")

View file

@ -2,6 +2,6 @@
;;; emacs/undo/packages.el
(if (featurep! +tree)
(package! undo-tree :pin "7523823ca3709e0327f3e9f38ddfec71a58084be")
(package! undo-fu :pin "c0806c1903c5a0e4c69b6615cdc3366470a9b8ca")
(package! undo-fu-session :pin "56cdd3538a058c6916bdf2d9010c2179f2505829"))
(package! undo-tree :pin "e326c6135e62f5fe8536528d3acd5e798f847407")
(package! undo-fu :pin "f4db4c9b9875134df6f5279281099361ae11c2e9")
(package! undo-fu-session :pin "a0389147365c10c974ad68b797b185affb935fe3"))

View file

@ -6,7 +6,7 @@
(package! smerge-mode :built-in t)
(package! browse-at-remote :pin "fadf99d6d8e891f3b112e36c772e0eea0b9bc7f2")
(package! git-commit :pin "acfe22ab60a56c61aae3ca6d4f2b7b826fe3b071")
(package! git-commit :pin "c3505b6934b8d5133d1bdb7e3d6ace147532ccc1")
(package! git-timemachine :pin "8d675750e921a047707fcdc36d84f8439b19a907")
(package! gitconfig-mode :pin "55468314a5f6b77d2c96be62c7005ac94545e217")
(package! gitignore-mode :pin "55468314a5f6b77d2c96be62c7005ac94545e217")
(package! gitconfig-mode :pin "14adca24eb6b0b4e311ad144c5d41972c6b044b2")
(package! gitignore-mode :pin "14adca24eb6b0b4e311ad144c5d41972c6b044b2")

View file

@ -86,6 +86,14 @@
(with-current-buffer nrepl-server-buffer
(buffer-string)))))))
;; When in cider-debug-mode, override evil keys to not interfere with debug keys
(after! evil
(add-hook! cider--debug-mode
(defun +clojure--cider-setup-debug ()
"Setup cider debug to override evil keys cleanly"
(evil-make-overriding-map cider--debug-mode-map 'normal)
(evil-normalize-keymaps))))
;; The CIDER welcome message obscures error messages that the above code is
;; supposed to be make visible.
(setq cider-repl-display-help-banner nil)
@ -98,6 +106,8 @@
"C" #'cider-connect-cljs
"m" #'cider-macroexpand-1
"M" #'cider-macroexpand-all
(:prefix ("d" . "debug")
"d" #'cider-debug-defun-at-point)
(:prefix ("e" . "eval")
"b" #'cider-eval-buffer
"d" #'cider-eval-defun-at-point

View file

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

View file

@ -98,3 +98,5 @@ or terminating simple string."
:when (featurep! +dotnet)
:bind
("C-c d" . sharper-main-transient))
(use-package! sln-mode :mode "\\.sln\\'")

View file

@ -3,6 +3,7 @@
(package! csharp-mode :pin "49168293a28aaaf84b9655fe1b2abe402c5e2ee1")
(package! csproj-mode :pin "a7f0f4610c976a28c41b9b8299892f88b5d0336c")
(package! sln-mode :pin "0f91d1b957c7d2a7bab9278ec57b54d57f1dbd9c")
(unless (featurep! +lsp)
(package! omnisharp :pin "e26ff8b8d34a247cd4a93be5d62a5f21859b7b57"))
(when (featurep! +unity)

View file

@ -137,10 +137,8 @@ usage from their documentation (e.g. =SPC h f add-hook\!=).
`(,red-bg-faces
:background "red" :weight bold)))
;; If you want to make use of the `doom-themes' package API (e.g. `doom-color',
;; `doom-lighten', `doom-darken', etc.), you must use `custom-set-faces!'
;; *after* the theme has been loaded. e.g.
(load-theme 'doom-one t)
;; You may utilise `doom-themes's theme API to fetch or tweak colors from their
;; palettes. No need to wait until the theme or package is loaded. e.g.
(custom-set-faces!
`(outline-1 :foreground ,(doom-color 'red))
`(outline-2 :background ,(doom-color 'blue)))
@ -171,10 +169,8 @@ usage from their documentation (e.g. =SPC h f add-hook\!=).
`(,red-bg-faces
:background "red" :weight bold)))
;; If you want to make use of the `doom-themes' package API (e.g. `doom-color',
;; `doom-lighten', `doom-darken', etc.), you must use `custom-set-faces!'
;; *after* the theme has been loaded. e.g.
(load-theme 'doom-one t)
;; You may utilise `doom-themes's theme API to fetch or tweak colors from their
;; palettes. No need to wait until the theme or package is loaded. e.g.
(custom-theme-set-faces! 'doom-one
`(outline-1 :foreground ,(doom-color 'red))
`(outline-2 :background ,(doom-color 'blue)))

View file

@ -20,15 +20,23 @@
:map gdscript-mode-map
(:prefix ("r" . "run")
"e" #'gdscript-godot-open-project-in-editor
"p" #'gdscript-godot-run-project
"d" #'gdscript-godot-run-project-debug
"s" #'gdscript-godot-run-current-scene)
:desc "Open project in Godot" "e" #'gdscript-godot-open-project-in-editor
:desc "Run project" "p" #'gdscript-godot-run-project
:desc "Run debug" "d" #'gdscript-godot-run-project-debug
:desc "Run current scene" "s" #'gdscript-godot-run-current-scene)
(:prefix ("d" . "debug")
:desc "Add breakpoint" "a" #'gdscript-debug-add-breakpoint
:desc "Display breakpoint buffer" "b" #'gdscript-debug-display-breakpoint-buffer
:desc "Remove breakpoint" "d" #'gdscript-debug-remove-breakpoint
:desc "Continue execution" "c" #'gdscript-debug-continue
:desc "Next" "n" #'gdscript-debug-next
:desc "Step" "s" #'gdscript-debug-step)
(:prefix ("h" . "help")
"b" #'gdscript-docs-browse-api
"f" #'gdscript-docs-browse-symbol-at-point)
:desc "Browse online API" "b" #'gdscript-docs-browse-api
:desc "Browse API at point" "f" #'gdscript-docs-browse-symbol-at-point)
(:prefix ("f" . "format")
"b" #'gdscript-format-buffer
"r" #'gdscript-format-region)))
:desc "Format buffer" "b" #'gdscript-format-buffer
:desc "Format region" "r" #'gdscript-format-region)))

View file

@ -17,7 +17,7 @@ function uses."
(when (looking-at (concat re-beg re-env "}"))
(end-of-line))
(LaTeX-find-matching-begin)
(current-column)))
(+ LaTeX-item-indent (current-column))))
(contin (pcase +latex-indent-item-continuation-offset
(`auto LaTeX-indent-level)
(`align 6)
@ -29,13 +29,18 @@ function uses."
(ignore-errors
(LaTeX-find-matching-begin)
(+ (current-column)
LaTeX-item-indent
LaTeX-indent-level
(if (looking-at (concat re-beg re-env "}"))
contin
0))))
indent))
((looking-at (concat re-end re-env "}"))
indent)
(save-excursion
(beginning-of-line)
(ignore-errors
(LaTeX-find-matching-begin)
(current-column))))
((looking-at "\\\\item")
(+ LaTeX-indent-level indent))
((+ contin LaTeX-indent-level indent))))))

View file

@ -2,7 +2,7 @@
;;; lang/latex/packages.el
(package! auctex :pin "fb062a364fbc7d791707ff574b0f0a7f4c7a7269")
(package! adaptive-wrap :pin "8f60ee70d6eadb0ddae206a0310505195e7ba0d8")
(package! adaptive-wrap :pin "91e939b48a8129f696f45a7a3963fe09cbfa3a2d")
(package! latex-preview-pane :pin "5297668a89996b50b2b62f99cba01cc544dbed2e")
(when (featurep! :editor evil +everywhere)
(package! evil-tex :pin "ac313efb22d621c093d8d30233bd7dc8b4cc54b4"))

View file

@ -67,7 +67,8 @@ Is relative to `org-directory', unless it is absolute. Is used in Doom's default
(defun +org-init-org-directory-h ()
(unless org-directory
(setq-default org-directory "~/org"))
(setq org-id-locations-file (expand-file-name ".orgids" org-directory)))
(unless org-id-locations-file
(setq org-id-locations-file (expand-file-name ".orgids" org-directory))))
(defun +org-init-agenda-h ()
@ -117,7 +118,11 @@ Is relative to `org-directory', unless it is absolute. Is used in Doom's default
(?C . success))
org-startup-indented t
org-tags-column 0
org-use-sub-superscripts '{})
org-use-sub-superscripts '{}
;; HACK Speed up regexp for priority faces by making it a little less
;; greedy than the default.
;; REVIEW May be upstreamed at some point. Keep an eye out.
org-priority-regexp "^\\*+.*\\(\\[#\\([A-Z0-9]+\\)\\] ?\\)")
(setq org-refile-targets
'((nil :maxlevel . 3)
@ -1047,6 +1052,7 @@ compelling reason, so..."
;; Set to nil so we can detect user changes to them later (and fall back on
;; defaults otherwise).
(defvar org-directory nil)
(defvar org-id-locations-file nil)
(defvar org-attach-id-dir nil)
(setq org-publish-timestamp-directory (concat doom-cache-dir "org-timestamps/")

View file

@ -144,6 +144,8 @@ You should use `set-eshell-alias!' to change this.")
[remap evil-delete-back-to-indentation] #'eshell-kill-input
[remap evil-window-split] #'+eshell/split-below
[remap evil-window-vsplit] #'+eshell/split-right
;; To emulate terminal keybinds
"C-l" #'eshell/clear
(:localleader
"b" #'eshell-insert-buffer-name
"e" #'eshell-insert-envvar

View file

@ -6,7 +6,7 @@
(package! shrink-path :pin "c14882c8599aec79a6e8ef2d06454254bb3e1e41")
(package! esh-help :pin "417673ed18a983930a66a6692dbfb288a995cb80")
(package! eshell-did-you-mean :pin "7cb6ef8e2274d0a50a9e114d412307a6543533d5")
(package! eshell-syntax-highlighting :pin "6cc32ee59d79d965e40269c764d90aa898252f0a")
(package! eshell-syntax-highlighting :pin "172c9fb80ba2bee37fbb067a69583a6428dcc0a4")
(unless IS-WINDOWS
(when (featurep! :completion company)

View file

@ -3,4 +3,4 @@
(package! vterm
:built-in 'prefer
:pin "fb12d7f49e2da121d9b17ed583d269166e0da087")
:pin "a3fadd28370aa43f03d4f7b197be8fa074f311f5")

View file

@ -1,8 +1,8 @@
;; -*- no-byte-compile: t; -*-
;;; tools/biblio/packages.el
(package! bibtex-completion :pin "1bb81d77e08296a50de7ebfe5cf5b0c715b7f3d6")
(package! bibtex-completion :pin "94807a3d3419f90b505eddc3272e244475eeb4f2")
(when (featurep! :completion ivy)
(package! ivy-bibtex :pin "1bb81d77e08296a50de7ebfe5cf5b0c715b7f3d6"))
(package! ivy-bibtex :pin "94807a3d3419f90b505eddc3272e244475eeb4f2"))
(when (featurep! :completion helm)
(package! helm-bibtex :pin "1bb81d77e08296a50de7ebfe5cf5b0c715b7f3d6"))
(package! helm-bibtex :pin "94807a3d3419f90b505eddc3272e244475eeb4f2"))

View file

@ -6,5 +6,5 @@
(package! realgud-trepan-ni :pin "6e38cf838c7b47b5f1353d00901b939ffa36d707")))
(when (featurep! +lsp)
(package! dap-mode :pin "c52c1a530dab420b24640a4b4710cf1e6a0177e0")
(package! posframe :pin "8097276022676f73fc14d5311cba94aa9b3ac444"))
(package! dap-mode :pin "5450af5c1cc7c46b1ecd47e9ba1ec2de9f62f9d9")
(package! posframe :pin "3454a4cb9d218c38f9c5b88798dfb2f7f85ad936"))

View file

@ -1,4 +1,4 @@
;; -*- no-byte-compile: t; -*-
;;; tools/direnv/packages.el
(package! envrc :pin "18caf5154f61d7f78cd4719d999e0fa6ef52345f")
(package! envrc :pin "a7c6ca84a2b0617c94594a23a0c05246f14fa4ee")

View file

@ -1,6 +1,6 @@
;; -*- no-byte-compile: t; -*-
;;; tools/docker/packages.el
(package! docker :pin "3773112eea3fc99704b5ca50c1e9a3db2cb8e4f3")
(package! docker :pin "0ca910badf86ff2e2dbfdf3f18819dd72a3198fc")
(package! docker-tramp :pin "8e2b671eff7a81af43b76d9dfcf94ddaa8333a23")
(package! dockerfile-mode :pin "6a56c1cc1713b501040b08fdbf0c4159a4fe95f9")
(package! dockerfile-mode :pin "58b7380189de21496235382900838aa0db2dcf92")

View file

@ -3,4 +3,4 @@
(package! editorconfig
:recipe (:nonrecursive t)
:pin "d73333c224de783e42acd225a20330a667fe5191")
:pin "f830b86316338fcc5b26a07eaeab6c34104b9ddc")

View file

@ -1,4 +1,4 @@
;; -*- no-byte-compile: t; -*-
;;; tools/ein/packages.el
(package! ein :pin "917f2a0b6ca76ed9e966985ca6f19d8b57690d40")
(package! ein :pin "069e54cc1270ff4957699e5e9481b56b7b4bef8b")

View file

@ -16,6 +16,9 @@
(pop-to-buffer (current-buffer))))
(map! :map gist-list-menu-mode-map
:n "RET" #'gist-fetch-current
:n "TAB" #'gist-fetch-current
:n [tab] #'gist-fetch-current-noselect
:n "go" #'gist-browse-current-url
:n "gr" #'gist-list-reload
:n "c" #'gist-add-buffer

View file

@ -4,8 +4,8 @@
(if (featurep! +eglot)
(progn
(package! eglot :pin "398b81eeec44b35b39480a38f1b1357bc8550a1c")
(package! project :pin "f743ca2e5c3343c71b85040aac6a94f1b123f832"))
(package! lsp-mode :pin "62cd1b2e569c72638ba4bd42a0290192c224c28d")
(package! project :pin "2e7afbe7d0c67c13f86c908ae13f2694308d6ab8"))
(package! lsp-mode :pin "3ca25e61b419c4419a345d43594338b8f2ff295e")
(package! lsp-ui :pin "732992aa41bb78b7341e28c980817de488b7a317")
(when (featurep! :completion ivy)
(package! lsp-ivy :pin "c70ee8b54357c56d1b972393ee53e57a2e545fbb"))

View file

@ -103,7 +103,7 @@ window that already exists in that direction. It will split otherwise."
(when (bound-and-true-p vc-mode)
(vc-refresh-state)
(force-mode-line-update))
(revert-buffer t t)))))
(revert-buffer t t t)))))
;;;###autoload
(defun +magit-mark-stale-buffers-h ()

View file

@ -1,9 +1,9 @@
;; -*- no-byte-compile: t; -*-
;;; tools/magit/packages.el
(when (package! magit :pin "21454777281247d97814ce5fb64f4afe39fab5da")
(when (package! magit :pin "62dfe5a9dde309b562871ef93fde3d8fb37a5870")
(when (featurep! +forge)
(package! forge :pin "e340c2be2aa5337c8c4c81cd6eab87961c6848b6"))
(package! forge :pin "8683b148d3ce1413aeb4b6dde1b6f55610b5aaf5"))
(package! magit-gitflow :pin "cc41b561ec6eea947fe9a176349fb4f771ed865b")
(package! magit-todos :pin "78d24cf419138b543460f40509c8c1a168b52ca0")
(package! github-review :pin "db723740e02348c0760407e532ad667ef89210ec"))
(package! github-review :pin "d0c8234cf523818513f892f30153210606abb6be"))

View file

@ -1,7 +1,7 @@
;; -*- no-byte-compile: t; -*-
;;; tools/pass/packages.el
(package! pass :pin "a095d24cf06a7b0fbc3add480c101304a91cf788")
(package! pass :pin "5651da53137db9adcb125b4897c2fe27eeb4368d")
(package! password-store :pin "f152064da9832d6d3d2b4e75f43f63bf2d50716f")
(package! password-store-otp :pin "04998c8578a060ab4a4e8f46f2ee0aafad4ab4d5")
@ -9,7 +9,7 @@
;; install the new version directly from the source and with a psuedonym.
(package! auth-source-pass
:recipe (:host github :repo "DamienCassou/auth-password-store")
:pin "aa7f17116ec3f760eb414d655ba20016b11a4a0e")
:pin "468bba286fc20d739ed7724ec884357907ac8bda")
(when (featurep! :completion ivy)
(package! ivy-pass :pin "5b523de1151f2109fdd6a8114d0af12eef83d3c5"))

View file

@ -1,4 +1,4 @@
;; -*- no-byte-compile: t; -*-
;;; tools/prodigy/packages.el
(package! prodigy :pin "6ae71f27b09b172f03fb55b9eeef001206baacd3")
(package! prodigy :pin "168f5ace1671876d8c3bd350c0853bd0196bddda")

View file

@ -118,9 +118,7 @@ PLIST can have the following properties:
+doom-dashboard-banner-dir)))
(when (equal (buffer-name) "*scratch*")
(set-window-buffer nil (doom-fallback-buffer))
(if (daemonp)
(add-hook 'after-make-frame-functions #'+doom-dashboard-reload-frame-h)
(+doom-dashboard-reload)))
(+doom-dashboard-reload))
;; Ensure the dashboard is up-to-date whenever it is switched to or resized.
(add-hook 'window-configuration-change-hook #'+doom-dashboard-resize-h)
(add-hook 'window-size-change-functions #'+doom-dashboard-resize-h)

View file

@ -1,5 +1,5 @@
;; -*- no-byte-compile: t; -*-
;;; ui/doom/packages.el
(package! doom-themes :pin "5adcc29eeccb251937fe002594bc21ce08ae5317")
(package! doom-themes :pin "73837f59d24f2e490fb6a2c83b1088967c709b97")
(package! solaire-mode :pin "c697925f7e03819a4046a233f6ab31664aca9d6a")

View file

@ -1,4 +1,4 @@
;; -*- no-byte-compile: t; -*-
;;; ui/hl-todo/packages.el
(package! hl-todo :pin "9661a462d86b22293caaa4c3d94f971a15dbf1d5")
(package! hl-todo :pin "4d18ccde596aef84ef278aa60144390ab41f0046")

View file

@ -2,7 +2,7 @@
;;; ui/modeline/packages.el
(unless (featurep! +light)
(package! doom-modeline :pin "4956606a5455a3968ca10cbdb8de3889e6bd1d85"))
(package! doom-modeline :pin "116c733fd580f729e275d3b6b3954667d5dfdd5a"))
(package! anzu :pin "bdb3da5028935a4aea55c40769bc191a81afb54e")
(when (featurep! :editor evil)
(package! evil-anzu :pin "d3f6ed4773b48767bd5f4708c7f083336a8a8a86"))

View file

@ -1,4 +1,4 @@
;; -*- no-byte-compile: t; -*-
;;; ui/tabs/packages.el
(package! centaur-tabs :pin "23eda0a0292a84c7e0a0aa2b598f9e29c7e5b54f")
(package! centaur-tabs :pin "50fd573ce9ed9f914940c79c82e411511ca5c8a8")

View file

@ -1,7 +1,7 @@
;; -*- no-byte-compile: t; -*-
;;; ui/treemacs/packages.el
(package! treemacs :pin "559fa09e32d5db7f620fdd08e03b938e67bf398b")
(package! treemacs :pin "332d4e0f1f606c472dd083c9cdd4f143ee23020a")
;; These packages have no :pin because they're in the same repo
(when (featurep! :editor evil +everywhere)
(package! treemacs-evil))

View file

@ -2,4 +2,4 @@
;;; ui/zen/packages.el
(package! writeroom-mode :pin "b648b340172ce4e44307375697e190bc723203e0")
(package! mixed-pitch :pin "beb22e85f6073a930f7338a78bd186e3090abdd7")
(package! mixed-pitch :pin "d5f64b967d831ea776f07aa2c80cc5fa88a3e869")