mirror of
https://gitlab.com/dwt1/dotfiles.git
synced 2026-04-23 11:30:23 +10:00
Updating dotfiles.
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
(package! ansible :recipe (:nonrecursive t) :pin "b5ef59406604bc5027f4d816d90e633feef0149c")
|
||||
(package! ansible-doc :pin "86083a7bb2ed0468ca64e52076b06441a2f8e9e0")
|
||||
(package! jinja2-mode :pin "ecd19a40b7832bb00f0a2244e3b0713d0bf3850d")
|
||||
(package! yaml-mode :pin "34648f2502f52f4744d62758fa381fa35db1da49")
|
||||
(package! yaml-mode :pin "68fecb5f0dec712a10c8655df6881392a4613617")
|
||||
|
||||
(when (featurep! :completion company)
|
||||
(package! company-ansible :pin "79dd421b161efa49fbdffad57fa40edb41f484a3"))
|
||||
|
||||
@@ -120,8 +120,31 @@
|
||||
|
||||
(dap-mode 1)
|
||||
|
||||
(define-minor-mode +dap-running-session-mode
|
||||
"A mode for adding keybindings to running sessions"
|
||||
nil nil (make-sparse-keymap)
|
||||
(when (bound-and-true-p evil-mode)
|
||||
(evil-normalize-keymaps)) ; if you use evil, this is necessary to update the keymaps
|
||||
;; The following code adds to the dap-terminated-hook so that this minor
|
||||
;; mode will be deactivated when the debugger finishes
|
||||
(when +dap-running-session-mode
|
||||
(let ((session-at-creation (dap--cur-active-session-or-die)))
|
||||
(add-hook 'dap-terminated-hook
|
||||
(lambda (session)
|
||||
(when (eq session session-at-creation)
|
||||
(+dap-running-session-mode -1)))))))
|
||||
|
||||
;; Activate this minor mode when dap is initialized
|
||||
(add-hook 'dap-session-created-hook #'+dap-running-session-mode)
|
||||
;; Activate this minor mode when hitting a breakpoint in another file
|
||||
(add-hook 'dap-stopped-hook #'+dap-running-session-mode)
|
||||
;; Activate this minor mode when stepping into code in another file
|
||||
(add-hook 'dap-stack-frame-changed-hook (lambda (session)
|
||||
(when (dap--session-running session)
|
||||
(+dap-running-session-mode 1))))
|
||||
|
||||
(map! :localleader
|
||||
:map dap-mode-map
|
||||
:map +dap-running-session-mode-map
|
||||
"d" #'dap-hydra))
|
||||
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
;; -*- no-byte-compile: t; -*-
|
||||
;;; tools/debugger/packages.el
|
||||
|
||||
(when (package! realgud :pin "5b0ed08364b1f5e2df2f3f7d5a6e7a2fedb5189a")
|
||||
(when (package! realgud :pin "332d13673074bee252ae7819b0898ee7c7895d2e")
|
||||
(when (featurep! :lang javascript)
|
||||
(package! realgud-trepan-ni :pin "6e38cf838c7b47b5f1353d00901b939ffa36d707")))
|
||||
|
||||
(when (featurep! +lsp)
|
||||
(package! dap-mode :pin "85a61630499bb836bdb378fb62ea4ddd4f61a2dd")
|
||||
(package! posframe :pin "6d604a71deb45295f7b6ff3f98e06aeece9888be"))
|
||||
(package! dap-mode :pin "4b185431b2b0cdec86ecfbc679f45d21fbf9fe59")
|
||||
(package! posframe :pin "7b92a54e588889a74d36d51167e067676db7be8a"))
|
||||
|
||||
@@ -34,7 +34,7 @@ direnv and then made available to the current shell.
|
||||
This module provides no flags.
|
||||
|
||||
** Plugins
|
||||
+ [[https://github.com/wbolster/emacs-direnv][direnv]]
|
||||
+ [[https://github.com/purcell/envrc][envrc]]
|
||||
|
||||
** Hacks
|
||||
+ Normally, the direnv environment is updated on ~post-command-hook~. We've
|
||||
|
||||
@@ -5,30 +5,61 @@
|
||||
"join_args" "expand_path" "dotenv" "user_rel_path" "find_up" "source_env"
|
||||
"watch_file" "source_up" "direnv_load" "MANPATH_add" "load_prefix" "layout"
|
||||
"use" "rvm" "use_nix" "use_guix")
|
||||
"TODO")
|
||||
"A list of direnv keywords, which are fontified when in `+direnv-rc-mode'.")
|
||||
|
||||
|
||||
;;
|
||||
;;; Packages
|
||||
|
||||
(use-package! direnv
|
||||
:hook (before-hack-local-variables . direnv--maybe-update-environment)
|
||||
:hook (flycheck-before-syntax-check . direnv--maybe-update-environment)
|
||||
:hook (direnv-envrc-mode . +direnv-envrc-fontify-keywords-h)
|
||||
(use-package! envrc
|
||||
:when (executable-find "direnv")
|
||||
:after-call doom-first-file-hook
|
||||
:mode ("\\.envrc\\'" . +direnv-rc-mode)
|
||||
:config
|
||||
(add-to-list 'direnv-non-file-modes 'vterm-mode)
|
||||
(add-to-list 'doom-debug-variables 'envrc-debug)
|
||||
|
||||
(defun +direnv-envrc-fontify-keywords-h ()
|
||||
"Fontify special .envrc keywords; it's a good indication of whether or not
|
||||
we've typed them correctly."
|
||||
;; I'm avoiding `global-envrc-mode' intentionally, because it has the
|
||||
;; potential to run too late in the mode startup process (and after, say,
|
||||
;; server hooks that may rely on that local direnv environment).
|
||||
(add-hook! 'change-major-mode-after-body-hook
|
||||
(defun +direnv-init-h ()
|
||||
(unless (or envrc-mode
|
||||
(minibufferp)
|
||||
(file-remote-p default-directory))
|
||||
(envrc-mode 1))))
|
||||
|
||||
(define-derived-mode +direnv-rc-mode sh-mode "envrc"
|
||||
"Major mode for .envrc files."
|
||||
;; Fontify .envrc keywords; it's a good indication of whether or not we've
|
||||
;; typed them correctly, and that we're in the correct major mode.
|
||||
(font-lock-add-keywords
|
||||
nil `((,(regexp-opt +direnv-keywords 'symbols)
|
||||
(0 font-lock-keyword-face)))))
|
||||
|
||||
(defadvice! +direnv--fail-gracefully-a (&rest _)
|
||||
"Don't try to use direnv if the executable isn't present."
|
||||
:before-while #'direnv-update-directory-environment
|
||||
:before-while #'envrc-mode
|
||||
(or (executable-find "direnv")
|
||||
(ignore (doom-log "Couldn't find direnv executable"))))
|
||||
|
||||
(direnv-mode +1))
|
||||
;; HACK envrc-mode only affects the current buffer's environment, which is
|
||||
;; generally what we want, except when we're running babel blocks in
|
||||
;; org-mode, because there may be state or envvars those blocks need to
|
||||
;; read. In order to perpetuate the org buffer's environment into the
|
||||
;; execution of the babel block we need to temporarily change the global
|
||||
;; environment. Let's hope it runs quickly enough that its effects aren't
|
||||
;; felt in other buffers in the meantime!
|
||||
(defvar +direnv--old-environment nil)
|
||||
(defadvice! +direnv-persist-environment-a (orig-fn &rest args)
|
||||
:around #'org-babel-execute-src-block
|
||||
(if +direnv--old-environment
|
||||
(apply orig-fn args)
|
||||
(setq-default +direnv--old-environment
|
||||
(cons (default-value 'process-environment)
|
||||
(default-value 'exec-path))
|
||||
exec-path exec-path
|
||||
process-environment process-environment)
|
||||
(unwind-protect (apply orig-fn args)
|
||||
(setq-default process-environment (car +direnv--old-environment)
|
||||
exec-path (cdr +direnv--old-environment)
|
||||
+direnv--old-environment nil)))))
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
;; -*- no-byte-compile: t; -*-
|
||||
;;; tools/direnv/packages.el
|
||||
|
||||
(package! direnv :pin "f5484b0fc33d4e5116612626294efb362ff9ecd4")
|
||||
(package! envrc :pin "1dc5aad14d2c27211c7c288d2d9dffeb2e27cb2d")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
;; -*- no-byte-compile: t; -*-
|
||||
;;; tools/docker/packages.el
|
||||
|
||||
(package! docker :pin "d6233bdb9ccaee4da7cdc0ef162bfe4727227142")
|
||||
(package! docker :pin "3773112eea3fc99704b5ca50c1e9a3db2cb8e4f3")
|
||||
(package! docker-tramp :pin "8e2b671eff7a81af43b76d9dfcf94ddaa8333a23")
|
||||
(package! dockerfile-mode :pin "d31f7685ebc5832d957e25070a930aa42984327d")
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
|
||||
(package! editorconfig
|
||||
:recipe (:nonrecursive t)
|
||||
:pin "9a73ff743b9fe820301ea9b5c5c7804bfc967324")
|
||||
:pin "9bc1343ce8bd2cc84bf04b58a053b7ec700244c0")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
;; -*- no-byte-compile: t; -*-
|
||||
;;; tools/ein/packages.el
|
||||
|
||||
(package! ein :pin "ccbed30c991623d56a310d02c76f03d571e90e82")
|
||||
(package! ein :pin "99a4718f50538a439a2a3f2011d1aa97246e259b")
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
(package! helm))
|
||||
|
||||
;;
|
||||
(package! dumb-jump :pin "b81573184c97fbc6181d0a4fe408caa23c0d621b")
|
||||
(package! dumb-jump :pin "0d74b2f2aa834b602e91d99e9cb23197a389f042")
|
||||
(when (featurep! :completion ivy)
|
||||
(package! ivy-xref :pin "3d4c35fe2b243d948d8fe02a1f0d76a249d63de9"))
|
||||
(when (featurep! :completion helm)
|
||||
|
||||
@@ -11,8 +11,11 @@
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#features][Features]]
|
||||
- [[#lsp-powered-project-search][LSP-powered project search]]
|
||||
- [[#differences-between-eglot-and-lsp-mode][Differences between eglot and lsp-mode]]
|
||||
- [[#configuration][Configuration]]
|
||||
- [[#troubleshooting][Troubleshooting]]
|
||||
- [[#my-language-server-is-not-found][My language server is not found]]
|
||||
- [[#lspeglot-is-not-started-automatically-in-my-buffer][LSP/Eglot is not started automatically in my buffer]]
|
||||
|
||||
* Description
|
||||
This module integrates [[https://langserver.org/][language servers]] into Doom Emacs. They provide features
|
||||
@@ -93,6 +96,7 @@ active, LSP is used to search a symbol indexed by the LSP server :
|
||||
|-----------+-------------------------------------|
|
||||
| =SPC c j= | Jump to symbol in current workspace |
|
||||
| =SPC c J= | Jump to symbol in any workspace |
|
||||
|
||||
** Differences between eglot and lsp-mode
|
||||
Entering the debate about which one to use would be useless. Doom provides an
|
||||
easy way to switch out lsp client implementations so you can test for yourself
|
||||
@@ -108,6 +112,7 @@ closer integration with "more basic" emacs packages (=eldoc=, =xref=, ...).
|
||||
** My language server is not found
|
||||
Check the entry in the [[../../../docs/faq.org][FAQ]] about "Doom can't find my executables/doesn't inherit
|
||||
the correct ~PATH~"
|
||||
|
||||
** LSP/Eglot is not started automatically in my buffer
|
||||
Make sure that you added the =+lsp= flag to the language you're using too in
|
||||
your init.el :
|
||||
|
||||
@@ -5,7 +5,26 @@
|
||||
workspace buffer is closed.
|
||||
|
||||
This delay prevents premature server shutdown when a user still intends on
|
||||
working on that project after closing the last buffer.")
|
||||
working on that project after closing the last buffer, or when programmatically
|
||||
killing and opening many LSP/eglot-powered buffers.")
|
||||
|
||||
|
||||
;;
|
||||
;;; Common
|
||||
|
||||
(defun +lsp-init-optimizations-h ()
|
||||
"Deploys universal optimizations for `lsp-mode' and `eglot'."
|
||||
(when (or (bound-and-true-p eglot--managed-mode)
|
||||
(bound-and-true-p lsp-mode))
|
||||
;; `read-process-output-max' is only available on recent development
|
||||
;; builds of Emacs 27 and above.
|
||||
(setq-local read-process-output-max (* 1024 1024))
|
||||
;; REVIEW LSP causes a lot of allocations, with or without Emacs 27+'s
|
||||
;; native JSON library, so we up the GC threshold to stave off
|
||||
;; GC-induced slowdowns/freezes. Doom uses `gcmh' to enforce its GC
|
||||
;; strategy, so we modify its variables rather than
|
||||
;; `gc-cons-threshold' directly.
|
||||
(setq-local gcmh-high-cons-threshold (* 2 (default-value 'gcmh-high-cons-threshold)))))
|
||||
|
||||
|
||||
;;
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
|
||||
(if (featurep! +eglot)
|
||||
(progn
|
||||
(package! eglot :pin "fb6b17e86eddc22b9ec81f52718fad6bcbb53668")
|
||||
(package! eglot :pin "5f873d288e1c5434c1640bef03555ed056cb0d35")
|
||||
(package! project :pin "da0333a697b18f0a863c1b1523d2fc7991b31174"))
|
||||
(package! lsp-mode :pin "edb81194f0974643861a24d1bbc386dd53554748")
|
||||
(package! lsp-ui :pin "1f3e9700395f4fae024ca45ca64c8d70e99b39d2")
|
||||
(package! lsp-mode :pin "4145a70ce1d4bfb2463606ba34c5965080b080d9")
|
||||
(package! lsp-ui :pin "c39ae3713f95a2d86e11fd1f77e89a671d08d18a")
|
||||
(when (featurep! :completion ivy)
|
||||
(package! lsp-ivy :pin "4cdb739fc2bc47f7d4dcad824f9240c70c4cb37d"))
|
||||
(when (featurep! :completion helm)
|
||||
(package! helm-lsp :pin "5c960e7800dc8f4432f3a1466a637d484b87dc35")))
|
||||
(package! helm-lsp :pin "4263c967267b0579956b3b12ef32878a9ea80d97")))
|
||||
|
||||
@@ -1,54 +0,0 @@
|
||||
;;; tools/macos/autoload.el -*- lexical-binding: t; -*-
|
||||
|
||||
;;;###autoload
|
||||
(setq locate-command "mdfind")
|
||||
|
||||
;;;###autoload
|
||||
(defun +macos-open-with (&optional app-name path)
|
||||
"Send PATH to APP-NAME on OSX."
|
||||
(interactive)
|
||||
(let* ((path (expand-file-name
|
||||
(replace-regexp-in-string
|
||||
"'" "\\'"
|
||||
(or path (if (derived-mode-p 'dired-mode)
|
||||
(dired-get-file-for-visit)
|
||||
(buffer-file-name)))
|
||||
nil t)))
|
||||
(command (format "open %s"
|
||||
(if app-name
|
||||
(format "-a %s '%s'" (shell-quote-argument app-name) path)
|
||||
(format "'%s'" path)))))
|
||||
(message "Running: %s" command)
|
||||
(shell-command command)))
|
||||
|
||||
;;;###autoload
|
||||
(defmacro +macos--open-with (id &optional app dir)
|
||||
`(defun ,(intern (format "+macos/%s" id)) ()
|
||||
(interactive)
|
||||
(+macos-open-with ,app ,dir)))
|
||||
|
||||
;;;###autoload (autoload '+macos/open-in-default-program "tools/macos/autoload" nil t)
|
||||
(+macos--open-with open-in-default-program)
|
||||
|
||||
;;;###autoload (autoload '+macos/reveal-in-finder "tools/macos/autoload" nil t)
|
||||
(+macos--open-with reveal-in-finder "Finder" default-directory)
|
||||
|
||||
;;;###autoload (autoload '+macos/reveal-project-in-finder "tools/macos/autoload" nil t)
|
||||
(+macos--open-with reveal-project-in-finder "Finder"
|
||||
(or (doom-project-root) default-directory))
|
||||
|
||||
;;;###autoload (autoload '+macos/send-to-transmit "tools/macos/autoload" nil t)
|
||||
(+macos--open-with send-to-transmit "Transmit")
|
||||
|
||||
;;;###autoload (autoload '+macos/send-cwd-to-transmit "tools/macos/autoload" nil t)
|
||||
(+macos--open-with send-cwd-to-transmit "Transmit" default-directory)
|
||||
|
||||
;;;###autoload (autoload '+macos/send-to-launchbar "tools/macos/autoload" nil t)
|
||||
(+macos--open-with send-to-launchbar "LaunchBar")
|
||||
|
||||
;;;###autoload (autoload '+macos/send-project-to-launchbar "tools/macos/autoload" nil t)
|
||||
(+macos--open-with send-project-to-launchbar "LaunchBar"
|
||||
(or (doom-project-root) default-directory))
|
||||
|
||||
;;;###autoload (autoload '+macos/open-in-iterm "tools/macos/autoload" nil t)
|
||||
(+macos--open-with open-in-iterm "iTerm" default-directory)
|
||||
@@ -6,7 +6,7 @@
|
||||
;; support symlinks as unix knows them, so `magit-version' can't resolve
|
||||
;; its own repo's path.
|
||||
;;;###autoload
|
||||
(when! IS-WINDOWS
|
||||
(eval-when! IS-WINDOWS
|
||||
(defadvice! +magit--ignore-version-a (&optional print-dest)
|
||||
:override #'magit-version
|
||||
(when print-dest
|
||||
@@ -63,18 +63,26 @@
|
||||
This differs from `display-buffer-in-direction' in one way: it will try to use a
|
||||
window that already exists in that direction. It will split otherwise."
|
||||
(let ((direction (or (alist-get 'direction alist)
|
||||
+magit-open-windows-in-direction)))
|
||||
+magit-open-windows-in-direction))
|
||||
(origin-window (selected-window)))
|
||||
(if-let (window (window-in-direction direction))
|
||||
(select-window window)
|
||||
(if-let (window (window-in-direction
|
||||
(pcase direction
|
||||
(`right 'left)
|
||||
(`left 'right)
|
||||
((or `up `above) 'down)
|
||||
((or `down `below) 'up))))
|
||||
(if-let (window (and (not (one-window-p))
|
||||
(window-in-direction
|
||||
(pcase direction
|
||||
(`right 'left)
|
||||
(`left 'right)
|
||||
((or `up `above) 'down)
|
||||
((or `down `below) 'up)))))
|
||||
(select-window window)
|
||||
(split-window-horizontally)))
|
||||
(switch-to-buffer buffer)
|
||||
(let ((window (split-window nil nil direction)))
|
||||
(when (memq direction '(right down below))
|
||||
(select-window window))
|
||||
(display-buffer-record-window 'reuse window buffer)
|
||||
(set-window-buffer window buffer)
|
||||
(set-window-parameter window 'quit-restore (list 'window 'window origin-window buffer))
|
||||
(set-window-prev-buffers window nil))))
|
||||
(switch-to-buffer buffer t t)
|
||||
(selected-window)))
|
||||
|
||||
|
||||
|
||||
@@ -18,12 +18,17 @@ For example, diffs and log buffers. Accepts `left', `right', `up', and `down'.")
|
||||
transient-values-file (concat doom-etc-dir "transient/values")
|
||||
transient-history-file (concat doom-etc-dir "transient/history"))
|
||||
:config
|
||||
(add-to-list 'doom-debug-variables 'magit-refresh-verbose)
|
||||
|
||||
(setq transient-default-level 5
|
||||
magit-diff-refine-hunk t ; show granular diffs in selected hunk
|
||||
;; Don't autosave repo buffers. This is too magical, and saving can
|
||||
;; trigger a bunch of unwanted side-effects, like save hooks and
|
||||
;; formatters. Trust us to know what we're doing.
|
||||
magit-save-repository-buffers nil)
|
||||
;; formatters. Trust the user to know what they're doing.
|
||||
magit-save-repository-buffers nil
|
||||
;; Don't display parent/related refs in commit buffers; they are rarely
|
||||
;; helpful and only add to runtime costs.
|
||||
magit-revision-insert-related-refs nil)
|
||||
(add-hook 'magit-process-mode-hook #'goto-address-mode)
|
||||
|
||||
(defadvice! +magit-revert-repo-buffers-deferred-a (&rest _)
|
||||
@@ -75,7 +80,8 @@ For example, diffs and log buffers. Accepts `left', `right', `up', and `down'.")
|
||||
;; 2. The status screen isn't buried when viewing diffs or logs from the
|
||||
;; status screen.
|
||||
(setq transient-display-buffer-action '(display-buffer-below-selected)
|
||||
magit-display-buffer-function #'+magit-display-buffer-fn)
|
||||
magit-display-buffer-function #'+magit-display-buffer-fn
|
||||
magit-bury-buffer-function #'magit-mode-quit-window)
|
||||
(set-popup-rule! "^\\(?:\\*magit\\|magit:\\| \\*transient\\*\\)" :ignore t)
|
||||
(add-hook 'magit-popup-mode-hook #'hide-mode-line-mode)
|
||||
|
||||
@@ -97,7 +103,17 @@ For example, diffs and log buffers. Accepts `left', `right', `up', and `down'.")
|
||||
(define-key magit-status-mode-map [remap magit-mode-bury-buffer] #'+magit/quit)
|
||||
|
||||
;; Close transient with ESC
|
||||
(define-key transient-map [escape] #'transient-quit-one))
|
||||
(define-key transient-map [escape] #'transient-quit-one)
|
||||
|
||||
;; An optimization that particularly affects macOS and Windows users: by
|
||||
;; resolving `magit-git-executable' Emacs does less work to find the
|
||||
;; executable in your PATH, which is great because it is called so frequently.
|
||||
;; However, absolute paths will break magit in TRAMP/remote projects if the
|
||||
;; git executable isn't in the exact same location.
|
||||
(add-hook! 'magit-status-mode-hook
|
||||
(defun +magit-optimize-process-calls-h ()
|
||||
(when-let (path (executable-find magit-git-executable))
|
||||
(setq-local magit-git-executable path)))))
|
||||
|
||||
|
||||
(use-package! forge
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
;; -*- no-byte-compile: t; -*-
|
||||
;;; tools/magit/packages.el
|
||||
|
||||
(when (package! magit :pin "798aff56457aef4d1896db8129ab56d08ae12066")
|
||||
(when (package! magit :pin "321214c3a2dd10fdf672ba96bd00703a51094bbe")
|
||||
(when (featurep! +forge)
|
||||
(package! forge :pin "2c487465d0b78ffe34252b47fcc06e27039330c4"))
|
||||
(package! forge :pin "feee7e2fce3f87f7aa113c5edcb1896127ee9d12"))
|
||||
(package! magit-gitflow :pin "cc41b561ec6eea947fe9a176349fb4f771ed865b")
|
||||
(package! magit-todos :pin "a0e5d1f3c7dfcb4f18c1b0d57f1746a4872df5c6")
|
||||
(package! github-review :pin "fab440aeae4fbf6a8192fd11795052e9eb5d27d1")
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
;;; tools/pass/packages.el
|
||||
|
||||
(package! pass :pin "919d8e3826d556433ab67d4ee21a509d209d1baa")
|
||||
(package! password-store :pin "07b169ec32ad6961ed8625a0b932a663abcb01d2")
|
||||
(package! password-store :pin "06f499994071bb6131244218b25d637103afe1d5")
|
||||
(package! password-store-otp :pin "04998c8578a060ab4a4e8f46f2ee0aafad4ab4d5")
|
||||
|
||||
;; an older version of `auto-source-pass' is built into Emacs 26+, so we must
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
;; -*- no-byte-compile: t; -*-
|
||||
;;; tools/pdf/packages.el
|
||||
|
||||
(package! pdf-tools :pin "c510442ab89c8a9e9881230eeb364f4663f59e76")
|
||||
(package! pdf-tools
|
||||
;; REVIEW waiting on politza/pdf-tools#588
|
||||
:recipe (:host github
|
||||
:repo "flatwhatson/pdf-tools"
|
||||
:branch "fix-macros")
|
||||
:pin "eb6d40663069f2b7e6b52e907eeaa4e37375feb6")
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
;; -*- no-byte-compile: t; -*-
|
||||
;;; tools/rgb/packages.el
|
||||
|
||||
(package! rainbow-mode :pin "f780ddb18c2a73a666d093f606df92058e5601ea")
|
||||
(package! rainbow-mode :pin "fdff98b12e62df7a6dbb009321430c90a47bb89b")
|
||||
(package! kurecolor :pin "3fc84840cbbd75e646cafa2fd3a00004b55e37ec")
|
||||
|
||||
Reference in New Issue
Block a user