dev: merging from main
This commit is contained in:
commit
9c0e95af1c
20 changed files with 237 additions and 140 deletions
|
@ -26,14 +26,14 @@
|
|||
"^WSL_INTEROP$"
|
||||
;; XDG variables that are best not persisted.
|
||||
"^XDG_CURRENT_DESKTOP$" "^XDG_RUNTIME_DIR$"
|
||||
"^XDG_\\(VTNR\\|SEAT\\|SESSION_\\(TYPE\\|CLASS\\)\\)"
|
||||
"^XDG_\\(VTNR$\\|SEAT$\\|BACKEND$\\|SESSION_\\)"
|
||||
;; Socket envvars, like I3SOCK, GREETD_SOCK, SEATD_SOCK, SWAYSOCK, etc.
|
||||
"SOCK$"
|
||||
;; ssh and gpg variables that could quickly become stale if persisted.
|
||||
"^SSH_\\(AUTH_SOCK\\|AGENT_PID\\)$" "^\\(SSH\\|GPG\\)_TTY$"
|
||||
"^GPG_AGENT_INFO$"
|
||||
;; Internal Doom envvars
|
||||
"^DEBUG$" "^INSECURE$" "^\\(EMACS\\|DOOM\\)DIR$"
|
||||
"^DEBUG$" "^INSECURE$" "^\\(EMACS\\|DOOM\\(LOCAL\\)?\\)DIR$"
|
||||
"^DOOM\\(PATH\\|PROFILE\\)$" "^__")
|
||||
"Environment variables to omit from envvar files.
|
||||
|
||||
|
|
|
@ -23,11 +23,12 @@
|
|||
doom-cache-dir
|
||||
doom-state-dir))
|
||||
|
||||
;; HACK: bin/doom invokes Emacs with --no-site-lisp solely to allow us to load
|
||||
;; site-start manually, here, to suppress any output it produces, and they
|
||||
;; almost always produce some. This causes premature redraws of the Emacs
|
||||
;; frame during startup (to display those messages in the minibuffer), which
|
||||
;; -- as I mention in the comments of doom.el -- really hurts startup time.
|
||||
;; HACK: bin/doom invokes Emacs with --no-site-lisp so that site files can be
|
||||
;; loaded manually, here, where I can suppress any output it produces, and
|
||||
;; they almost always produce some. This output pollutes the output of doom
|
||||
;; scripts with potentially confusing -- but always unimportant --
|
||||
;; information to the user, like deprecation notices, file-loaded messages,
|
||||
;; and linter warnings. With this, that output is suppressed.
|
||||
(quiet!
|
||||
(require 'cl nil t)
|
||||
(unless site-run-file
|
||||
|
|
13
lisp/doom.el
13
lisp/doom.el
|
@ -487,12 +487,13 @@ users).")
|
|||
;; later (see `startup--load-user-init-file@undo-hacks').
|
||||
(advice-add #'tool-bar-setup :override #'ignore)
|
||||
|
||||
;; PERF,UX: site-lisp files are often obnoxiously noisy (emitting load
|
||||
;; messages or other output to *Messages* or stdout). These queue
|
||||
;; unnecessary redraws at startup which impact startup time depending on
|
||||
;; window system. It also pollutes the logs. By suppressing it now, I can
|
||||
;; load it myself, later, in a more controlled way (see
|
||||
;; `startup--load-user-init-file@undo-hacks').
|
||||
;; PERF,UX: site-lisp files are often obnoxiously noisy (emitting output
|
||||
;; that isn't useful to end-users, like load messages, deprecation
|
||||
;; notices, and linter warnings. Displaying these in the minibuffer causes
|
||||
;; unnecessary redraws at startup which can impact startup time
|
||||
;; drastically and cause flashes of white. It also pollutes the logs. By
|
||||
;; suppressing it here, I load it myself, later, in a more controlled way
|
||||
;; (see `startup--load-user-init-file@undo-hacks').
|
||||
(put 'site-run-file 'initial-value site-run-file)
|
||||
(setq site-run-file nil)
|
||||
|
||||
|
|
|
@ -155,9 +155,14 @@ If DIR is not a project, it will be indexed (but not cached)."
|
|||
((and (bound-and-true-p helm-mode)
|
||||
(fboundp 'helm-find-files))
|
||||
(call-interactively #'helm-find-files))
|
||||
((when-let ((project-current-directory-override t)
|
||||
(pr (project-current t dir)))
|
||||
(project-find-file-in nil nil pr)))
|
||||
((when-let* ((project-current-directory-override t)
|
||||
(pr (project-current t dir)))
|
||||
(condition-case _
|
||||
(project-find-file-in nil nil pr)
|
||||
;; FIX: project.el throws errors if DIR is an empty directory,
|
||||
;; which is poor UX.
|
||||
(wrong-type-argument
|
||||
(call-interactively #'find-file)))))
|
||||
((call-interactively #'find-file)))))
|
||||
|
||||
;;;###autoload
|
||||
|
|
|
@ -135,6 +135,19 @@ Uses `evil-visual-end' if available."
|
|||
(marker-position evil-visual-end))
|
||||
(region-end)))
|
||||
|
||||
;;;###autoload
|
||||
(defun doom-region (&optional as-list)
|
||||
"Return the bounds of the current seelction.
|
||||
|
||||
If AS-LIST is non-nil, returns (BEG END). Otherwise returns a cons cell (BEG .
|
||||
END)."
|
||||
(let* ((active (doom-region-active-p))
|
||||
(beg (if active (doom-region-beginning)))
|
||||
(end (if active (doom-region-end))))
|
||||
(if as-list
|
||||
(list beg end)
|
||||
(cons beg end))))
|
||||
|
||||
;;;###autoload
|
||||
(defun doom-thing-at-point-or-region (&optional thing prompt)
|
||||
"Grab the current selection, THING at point, or xref identifier at point.
|
||||
|
|
|
@ -74,7 +74,7 @@
|
|||
(if (modulep! +icons)
|
||||
(setq flycheck-posframe-warning-prefix "⚠ "
|
||||
flycheck-posframe-info-prefix "ⓘ "
|
||||
flycheck-posframe-error-prefix "⚠ ")
|
||||
flycheck-posframe-error-prefix "⮾ ")
|
||||
(setq flycheck-posframe-warning-prefix "[?] "
|
||||
flycheck-posframe-info-prefix "[i] "
|
||||
flycheck-posframe-error-prefix "[!] "))
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; checkers/syntax/packages.el
|
||||
|
||||
(unless (modulep! +flymake)
|
||||
(package! flycheck :pin "02148c6ce7edb0fd0986460db327cc9463939747")
|
||||
(package! flycheck :pin "e8d1472aeab6ac4e19c8339e6be93e91e878f819")
|
||||
(package! flycheck-popup-tip :pin "ef86aad907f27ca076859d8d9416f4f7727619c6")
|
||||
(when (modulep! +childframe)
|
||||
(package! flycheck-posframe :pin "19896b922c76a0f460bf3fe8d8ebc2f9ac9028d8")))
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
;;; completion/corfu/autoload.el -*- lexical-binding: t; -*-
|
||||
|
||||
;;;###autoload
|
||||
(defun +corfu-move-to-minibuffer ()
|
||||
(defun +corfu/move-to-minibuffer ()
|
||||
"Move the current list of candidates to your choice of minibuffer completion UI."
|
||||
(interactive)
|
||||
(pcase completion-in-region--data
|
||||
|
@ -27,7 +27,7 @@
|
|||
(t (error "No minibuffer completion UI available for moving to!")))))))
|
||||
|
||||
;;;###autoload
|
||||
(defun +corfu-smart-sep-toggle-escape ()
|
||||
(defun +corfu/smart-sep-toggle-escape ()
|
||||
"Insert `corfu-separator' or toggle escape if it's already there."
|
||||
(interactive)
|
||||
(cond ((and (char-equal (char-before) corfu-separator)
|
||||
|
@ -37,3 +37,13 @@
|
|||
(save-excursion (backward-char 1)
|
||||
(insert-char ?\\)))
|
||||
(t (call-interactively #'corfu-insert-separator))))
|
||||
|
||||
;;;###autoload
|
||||
(defun +corfu/dabbrev-this-buffer ()
|
||||
"Like `cape-dabbrev', but only scans current buffer."
|
||||
(interactive)
|
||||
(require 'cape)
|
||||
(let ((cape-dabbrev-check-other-buffers nil))
|
||||
(cape-dabbrev t)))
|
||||
|
||||
;;; end of autoload.el
|
||||
|
|
|
@ -74,8 +74,8 @@ TAB/S-TAB.")
|
|||
tab-always-indent 'complete)
|
||||
(add-to-list 'completion-category-overrides `(lsp-capf (styles ,@completion-styles)))
|
||||
(add-to-list 'corfu-auto-commands #'lispy-colon)
|
||||
(add-to-list 'corfu-continue-commands #'+corfu-move-to-minibuffer)
|
||||
(add-to-list 'corfu-continue-commands #'+corfu-smart-sep-toggle-escape)
|
||||
(add-to-list 'corfu-continue-commands #'+corfu/move-to-minibuffer)
|
||||
(add-to-list 'corfu-continue-commands #'+corfu/smart-sep-toggle-escape)
|
||||
(add-hook 'evil-insert-state-exit-hook #'corfu-quit)
|
||||
|
||||
;; HACK: If you want to update the visual hints after completing minibuffer
|
||||
|
|
|
@ -461,8 +461,8 @@ Continues comments if executed from a commented line. Consults
|
|||
(map! :when (modulep! :completion corfu)
|
||||
:after corfu
|
||||
(:map corfu-map
|
||||
[remap corfu-insert-separator] #'+corfu-smart-sep-toggle-escape
|
||||
"C-S-s" #'+corfu-move-to-minibuffer
|
||||
[remap corfu-insert-separator] #'+corfu/smart-sep-toggle-escape
|
||||
"C-S-s" #'+corfu/move-to-minibuffer
|
||||
"C-p" #'corfu-previous
|
||||
"C-n" #'corfu-next))
|
||||
(let ((cmds-del
|
||||
|
|
|
@ -576,15 +576,25 @@ directives. By default, this only recognizes C directives.")
|
|||
:v "gl" #'evil-lion-left
|
||||
:v "gL" #'evil-lion-right
|
||||
|
||||
;; Omni-completion
|
||||
(:when (modulep! :completion company)
|
||||
(:prefix "C-x"
|
||||
:i "C-l" #'+company/whole-lines
|
||||
:i "C-k" #'+company/dict-or-keywords
|
||||
:i "C-f" #'company-files
|
||||
:i "C-]" #'company-etags
|
||||
:i "s" #'company-ispell
|
||||
:i "C-s" #'company-yasnippet
|
||||
:i "C-o" #'company-capf
|
||||
:i "C-n" #'+company/dabbrev
|
||||
:i "C-p" #'+company/dabbrev-code-previous)))
|
||||
;; Emulation of Vim's omni-completion keybinds
|
||||
(:prefix "C-x"
|
||||
(:when (modulep! :completion company)
|
||||
:i "C-l" #'+company/whole-lines
|
||||
:i "C-k" #'+company/dict-or-keywords
|
||||
:i "C-f" #'company-files
|
||||
:i "C-]" #'company-etags
|
||||
:i "s" #'company-ispell
|
||||
:i "C-s" #'company-yasnippet
|
||||
:i "C-o" #'company-capf
|
||||
:i "C-n" #'+company/dabbrev
|
||||
:i "C-p" #'+company/dabbrev-code-previous)
|
||||
(:when (modulep! :completion corfu)
|
||||
:i "C-l" #'cape-line
|
||||
:i "C-k" #'cape-keyword
|
||||
:i "C-f" #'cape-file
|
||||
:i "C-]" #'complete-tag
|
||||
:i "s" #'cape-dict
|
||||
:i "C-s" #'yasnippet-capf
|
||||
:i "C-o" #'completion-at-point
|
||||
:i "C-n" #'cape-dabbrev
|
||||
:i "C-p" #'+corfu/dabbrev-this-buffer)))
|
||||
|
|
|
@ -18,44 +18,47 @@
|
|||
(cur-buffer (current-buffer))
|
||||
(formatted-buffer (get-buffer-create " *apheleia-formatted*"))
|
||||
(indent 0))
|
||||
(with-current-buffer formatted-buffer
|
||||
(erase-buffer)
|
||||
(unless (featurep :system 'windows)
|
||||
(setq-local coding-system-for-read 'utf-8)
|
||||
(setq-local coding-system-for-write 'utf-8))
|
||||
;; Ensure this temp buffer seems as much like the origin buffer as
|
||||
;; possible, in case the formatter is an elisp function, like `gofmt'.
|
||||
(cl-loop for (var . val)
|
||||
in (cl-remove-if-not #'listp (buffer-local-variables cur-buffer))
|
||||
;; `enable-multibyte-characters' can change how Emacs reads the
|
||||
;; buffer's contents (or writes them to the formatters), which
|
||||
;; can cause errors.
|
||||
unless (eq var 'enable-multibyte-characters)
|
||||
do (set (make-local-variable var) val))
|
||||
;;
|
||||
(insert-buffer-substring-no-properties cur-buffer start end)
|
||||
;; Since we're piping a region of text to the formatter, remove any
|
||||
;; leading indentation to make it look like a file.
|
||||
(setq indent (+format--current-indentation))
|
||||
(when (> indent 0)
|
||||
(indent-rigidly (point-min) (point-max) (- indent)))
|
||||
;;
|
||||
(apheleia-format-buffer
|
||||
command
|
||||
(lambda ()
|
||||
(with-current-buffer formatted-buffer
|
||||
(when (> indent 0)
|
||||
;; restore indentation without affecting new indentation
|
||||
(indent-rigidly (point-min) (point-max)
|
||||
(max 0 (- indent (+format--current-indentation)))))
|
||||
(set-buffer-modified-p nil))
|
||||
(with-current-buffer cur-buffer
|
||||
(delete-region start end)
|
||||
(goto-char start)
|
||||
(save-excursion
|
||||
(insert-buffer-substring-no-properties formatted-buffer)
|
||||
(when callback (funcall callback)))
|
||||
(kill-buffer formatted-buffer)))))))
|
||||
(unwind-protect
|
||||
(with-current-buffer formatted-buffer
|
||||
(erase-buffer)
|
||||
(unless (featurep :system 'windows)
|
||||
(setq-local coding-system-for-read 'utf-8)
|
||||
(setq-local coding-system-for-write 'utf-8))
|
||||
;; Ensure this temp buffer seems as much like the origin buffer as
|
||||
;; possible, in case the formatter is an elisp function, like `gofmt'.
|
||||
(cl-loop for (var . val)
|
||||
in (cl-remove-if-not #'listp (buffer-local-variables cur-buffer))
|
||||
;; `enable-multibyte-characters' can change how Emacs reads the
|
||||
;; buffer's contents (or writes them to the formatters), which
|
||||
;; can cause errors.
|
||||
unless (eq var 'enable-multibyte-characters)
|
||||
do (set (make-local-variable var) val))
|
||||
;;
|
||||
(insert-buffer-substring-no-properties cur-buffer start end)
|
||||
;; Since we're piping a region of text to the formatter, remove any
|
||||
;; leading indentation to make it look like a file.
|
||||
(setq indent (+format--current-indentation))
|
||||
(when (> indent 0)
|
||||
(indent-rigidly (point-min) (point-max) (- indent)))
|
||||
;;
|
||||
(apheleia-format-buffer
|
||||
command
|
||||
(lambda ()
|
||||
(with-current-buffer formatted-buffer
|
||||
(when (> indent 0)
|
||||
;; restore indentation without affecting new indentation
|
||||
(indent-rigidly (point-min) (point-max)
|
||||
(max 0 (- indent (+format--current-indentation)))))
|
||||
(set-buffer-modified-p nil))
|
||||
(with-current-buffer cur-buffer
|
||||
(delete-region start end)
|
||||
(goto-char start)
|
||||
(save-excursion
|
||||
(insert-buffer-substring-no-properties formatted-buffer)
|
||||
(when callback (funcall callback)))
|
||||
(kill-buffer formatted-buffer)))))
|
||||
(when (doom-region-active-p)
|
||||
(setq deactivate-mark t)))))
|
||||
|
||||
|
||||
;;
|
||||
|
@ -83,29 +86,4 @@ may not always work. Keep your undo keybind handy!"
|
|||
#'+format/region
|
||||
#'+format/buffer)))
|
||||
|
||||
;;;###autoload
|
||||
(defun +format/org-block (&optional point)
|
||||
"Reformat the org src block at POINT with a mode approriate formatter."
|
||||
(interactive (list (point)))
|
||||
(unless (derived-mode-p 'org-mode)
|
||||
(user-error "Not an org-mode buffer!"))
|
||||
(let ((element (org-element-at-point point)))
|
||||
(unless (org-in-src-block-p nil element)
|
||||
(user-error "Not in an org src block"))
|
||||
(cl-destructuring-bind (beg end _) (org-src--contents-area element)
|
||||
(let* ((lang (org-element-property :language element))
|
||||
(mode (org-src-get-lang-mode lang)))
|
||||
(save-excursion
|
||||
(if (provided-mode-derived-p mode 'org-mode)
|
||||
(user-error "Cannot reformat an org-mode or org-derived src block")
|
||||
(let* ((major-mode mode)
|
||||
(after-change-functions
|
||||
;; HACK: Silence excessive and unhelpful warnings about
|
||||
;; 'org-element-at-point being used in non-org-mode
|
||||
;; buffers'.
|
||||
(remq 'org-indent-refresh-maybe after-change-functions))
|
||||
(apheleia-formatter
|
||||
(or (apheleia--get-formatters 'interactive)
|
||||
(apheleia--get-formatters 'prompt)
|
||||
(user-error "No formatter configured for language: %s" lang))))
|
||||
(+format-region beg end))))))))
|
||||
;;; format.el ends here
|
||||
|
|
64
modules/editor/format/autoload/org.el
Normal file
64
modules/editor/format/autoload/org.el
Normal file
|
@ -0,0 +1,64 @@
|
|||
;;; editor/format/autoload/org.el -*- lexical-binding: t; -*-
|
||||
|
||||
;;;###autoload
|
||||
(defun +format/org-block (&optional point)
|
||||
"Reformat the org src block at POINT with a mode appropriate formatter."
|
||||
(interactive (list (point)))
|
||||
(unless (derived-mode-p 'org-mode)
|
||||
(user-error "Not an org-mode buffer!"))
|
||||
(let ((element (org-element-at-point point)))
|
||||
(unless (org-in-src-block-p nil element)
|
||||
(user-error "Not in an org src block"))
|
||||
(cl-destructuring-bind (beg end _) (org-src--contents-area element)
|
||||
(let* ((lang (or (org-element-property :language element)
|
||||
(user-error "Cannot reformat src block without a valid language")))
|
||||
(mode (org-src-get-lang-mode lang)))
|
||||
(save-excursion
|
||||
(if (provided-mode-derived-p mode 'org-mode)
|
||||
(user-error "Cannot reformat an org-mode or org-derived src block")
|
||||
(let* ((major-mode mode)
|
||||
(after-change-functions
|
||||
;; HACK: Silence excessive and unhelpful warnings about
|
||||
;; 'org-element-at-point being used in non-org-mode
|
||||
;; buffers'.
|
||||
(remq 'org-indent-refresh-maybe after-change-functions))
|
||||
(apheleia-formatter
|
||||
(or (apheleia--get-formatters)
|
||||
(user-error "No formatter configured for language: %s" lang))))
|
||||
(+format-region beg end))))))))
|
||||
|
||||
;;;###autoload
|
||||
(defun +format/org-blocks-in-region (beg end)
|
||||
"Calls `+format/org-block' in each src block between BEG and END (inclusive)."
|
||||
(interactive (doom-region t))
|
||||
(unless (derived-mode-p 'org-mode)
|
||||
(user-error "Not an org-mode buffer!"))
|
||||
(unless (and beg end)
|
||||
(user-error "No active selection"))
|
||||
(let ((n 0))
|
||||
(org-block-map
|
||||
(lambda ()
|
||||
(let ((element (org-element-at-point)))
|
||||
(when (and (org-in-src-block-p nil element)
|
||||
(org-element-property :language element))
|
||||
(with-demoted-errors "+format/org-block: %s"
|
||||
(call-interactively #'+format/org-block))
|
||||
(cl-incf n))))
|
||||
(save-excursion
|
||||
(goto-char beg)
|
||||
(when (org-in-src-block-p)
|
||||
(org-previous-block 1))
|
||||
(point))
|
||||
end)
|
||||
(message "Formatted %d src block(s)" n)))
|
||||
|
||||
;;;###autoload
|
||||
(defun +format/org-blocks-at-point-or-in-region ()
|
||||
"See `+format/org-block' and `+format/org-blocks-in-region'."
|
||||
(interactive)
|
||||
(call-interactively
|
||||
(if (doom-region-active-p)
|
||||
#'+format/org-blocks-in-region
|
||||
#'+format/org-block)))
|
||||
|
||||
;;; org.ell ends here
|
|
@ -11,33 +11,44 @@
|
|||
:defer t
|
||||
:config
|
||||
(set-lookup-handlers! 'gdscript-mode
|
||||
:documentation #'gdscript-docs-browse-symbol-at-point)
|
||||
|
||||
:documentation '(gdscript-docs-browse-symbol-at-point :async t))
|
||||
(set-formatter! 'gdformat '("gdformat" "-") :modes '(gdscript-mode))
|
||||
(set-popup-rule! "^\\*godot " :ttl 0 :quit t)
|
||||
|
||||
(defadvice! +gdscript--dont-focus-output-buffer-a (fn &rest args)
|
||||
"Don't move cursor into gdscript compilation window."
|
||||
:around #'gdscript-comint--run
|
||||
(save-selected-window (apply fn args)))
|
||||
|
||||
;; eww is clumsy and slow. Best that `gdscript-docs-browse-symbol-at-point'
|
||||
;; simply use the browser.
|
||||
;; REVIEW: Maybe it's permissible if `gdscript-docs-local-path' is set?
|
||||
(setq gdscript-docs-use-eww nil)
|
||||
|
||||
;; Some systems append the version number to the executable, so ensure that
|
||||
;; the path is correct. Note that I avoid setting it to an absolute path to
|
||||
;; preserve TRAMP support.
|
||||
(setq gdscript-godot-executable
|
||||
(cond ((executable-find gdscript-godot-executable) gdscript-godot-executable)
|
||||
((executable-find "godot") "godot")
|
||||
((executable-find "godot4") "godot4")))
|
||||
|
||||
(when (modulep! +lsp)
|
||||
(add-hook 'gdscript-mode-local-vars-hook #'lsp! 'append))
|
||||
|
||||
(map! :localleader
|
||||
:map gdscript-mode-map
|
||||
|
||||
(:prefix ("r" . "run")
|
||||
: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)
|
||||
|
||||
: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 "Toggle breakpoint" "d" #'gdscript-debug-toggle-breakpoint
|
||||
:desc "Toggle breakpoint" "d" #'gdscript-debug-toggle-breakpoint
|
||||
:desc "Display breakpoint buffer" "b" #'gdscript-debug-display-breakpoint-buffer
|
||||
:desc "Continue execution" "c" #'gdscript-debug-continue
|
||||
:desc "Next" "n" #'gdscript-debug-next
|
||||
:desc "Step" "s" #'gdscript-debug-step)
|
||||
|
||||
:desc "Continue execution" "c" #'gdscript-debug-continue
|
||||
:desc "Next" "n" #'gdscript-debug-next
|
||||
:desc "Step" "s" #'gdscript-debug-step)
|
||||
(:prefix ("h" . "help")
|
||||
:desc "Browse online API" "b" #'gdscript-docs-browse-api
|
||||
:desc "Browse API at point" "f" #'gdscript-docs-browse-symbol-at-point)
|
||||
|
||||
(:prefix ("f" . "format")
|
||||
:desc "Format buffer" "b" #'gdscript-format-buffer
|
||||
:desc "Format region" "r" #'gdscript-format-region)))
|
||||
:desc "Browse online API" "b" #'gdscript-docs-browse-api
|
||||
:desc "Browse API at point" "f" #'gdscript-docs-browse-symbol-at-point)))
|
||||
|
|
|
@ -344,7 +344,19 @@ If in an org table, realign the cells with `org-table-align'.
|
|||
Otherwise, falls back to `org-fill-paragraph' to reflow paragraphs."
|
||||
(interactive)
|
||||
(let ((element (org-element-at-point)))
|
||||
(cond ((org-in-src-block-p nil element)
|
||||
(cond ((doom-region-active-p)
|
||||
;; TODO Perform additional formatting?
|
||||
;; (save-restriction
|
||||
;; (narrow-to-region beg end)
|
||||
;; (org-table-recalculate t)
|
||||
;; (org-table-map-tables #'org-table-align)
|
||||
;; (org-align-tags t)
|
||||
;; (org-update-statistics-cookies t)
|
||||
;; ...)
|
||||
(if (modulep! :editor format)
|
||||
(call-interactively #'+format/org-blocks-in-region)
|
||||
(message ":editor format is disabled, skipping reformatting of org-blocks")))
|
||||
((org-in-src-block-p nil element)
|
||||
(unless (modulep! :editor format)
|
||||
(user-error ":editor format module is disabled, ignoring reformat..."))
|
||||
(call-interactively #'+format/org-block))
|
||||
|
|
|
@ -56,13 +56,13 @@ Is relative to `org-directory', unless it is absolute. Is used in Doom's default
|
|||
"Default, centralized target for org-capture templates.")
|
||||
|
||||
(defvar +org-habit-graph-padding 2
|
||||
"The padding added to the end of the consistency graph")
|
||||
"The padding added to the end of the consistency graph.")
|
||||
|
||||
(defvar +org-habit-min-width 30
|
||||
"Hides the consistency graph if the `org-habit-graph-column' is less than this value")
|
||||
"Hide the consistency graph if `org-habit-graph-column' is less than this.")
|
||||
|
||||
(defvar +org-habit-graph-window-ratio 0.3
|
||||
"The ratio of the consistency graphs relative to the window width")
|
||||
"The ratio of the consistency graphs relative to the window width.")
|
||||
|
||||
(defvar +org-startup-with-animated-gifs nil
|
||||
"If non-nil, and the cursor is over a gif inline-image preview, animate it!")
|
||||
|
@ -846,7 +846,7 @@ between the two."
|
|||
;; Recently, a [tab] keybind in `outline-mode-cycle-map' has begun
|
||||
;; overriding org's [tab] keybind in GUI Emacs. This is needed to undo
|
||||
;; that, and should probably be PRed to org.
|
||||
[tab] #'org-cycle
|
||||
:ie [tab] #'org-cycle
|
||||
|
||||
"C-c C-S-l" #'+org/remove-link
|
||||
"C-c C-i" #'org-toggle-inline-images
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
;; -*- no-byte-compile: t; -*-
|
||||
;;; tools/magit/packages.el
|
||||
|
||||
(when (package! magit :pin "9d1f8db507e080e032943a3ed1445bd8d9aaa9fc")
|
||||
(when (package! magit :pin "b9948f9571928bb7f39f4b3a112bd76e52a072ce")
|
||||
(when (modulep! +forge)
|
||||
(package! forge :pin "0102834bb7c872c8a3f77cabf5221e8199346c43")
|
||||
(package! forge :pin "67314e2f83db358d3734183008586d8bd7cb2395")
|
||||
(package! code-review
|
||||
:recipe (:host github
|
||||
:repo "doomelpa/code-review"
|
||||
|
|
|
@ -12,6 +12,8 @@ Use `treemacs' command for old functionality."
|
|||
(require 'treemacs)
|
||||
(pcase (treemacs-current-visibility)
|
||||
(`visible (delete-window (treemacs-get-local-window)))
|
||||
(_ (if (treemacs--find-current-user-project)
|
||||
(treemacs-add-and-display-current-project-exclusively)
|
||||
(treemacs)))))
|
||||
(_ (let ((project (treemacs--find-current-user-project)))
|
||||
(if (and project (not (file-equal-p project "~")))
|
||||
(treemacs-add-and-display-current-project-exclusively)
|
||||
(message "No valid project in current buffer; opening last treemacs session")
|
||||
(treemacs))))))
|
||||
|
|
|
@ -104,16 +104,6 @@
|
|||
(add-hook 'magit-pre-refresh-hook #'diff-hl-magit-pre-refresh)
|
||||
(add-hook 'magit-post-refresh-hook #'diff-hl-magit-post-refresh))
|
||||
|
||||
;; FIX: Fixes dgutov/diff-hl#213, where `diff-hl-update-async' stops
|
||||
;; with-editor (and by extension, Magit COMMIT_EDITMSG buffers) buffers from
|
||||
;; getting properly cleaned up.
|
||||
(defadvice! +vc-gutter--inhibit-async-update-in-with-editor-a (fn &rest args)
|
||||
:around #'diff-hl-update
|
||||
(let ((diff-hl-update-async
|
||||
(unless (bound-and-true-p with-editor-mode)
|
||||
diff-hl-update-async)))
|
||||
(apply fn args)))
|
||||
|
||||
;; FIX: The revert popup consumes 50% of the frame, whether or not you're
|
||||
;; reverting 2 lines or 20. This resizes the popup to match its contents.
|
||||
(defadvice! +vc-gutter--shrink-popup-a (fn &rest args)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
;; -*- no-byte-compile: t; -*-
|
||||
;;; ui/vc-gutter/packages.el
|
||||
|
||||
(package! diff-hl :pin "11f3113e790526d5ee00f61f8e7cd0d01e323b2e")
|
||||
(package! diff-hl :pin "f66345ed1f174e844ce43d8225613b7b0fc3e253")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue