dev: merging from pr7739

This commit is contained in:
Matt Nish-Lapidus 2024-05-13 14:54:56 -04:00
commit 4a5461a23e
3 changed files with 36 additions and 9 deletions

View file

@ -258,6 +258,8 @@ all CAPFs are interactive to be called this way, in which case you can use
* Troubleshooting
[[doom-report:][Report an issue?]]
** Troubleshooting ~cape-dabbrev~
If you have performance issues with ~cape-dabbrev~, the first thing I recommend
doing is to look at the list of buffers Dabbrev is scanning:
@ -285,6 +287,34 @@ debug the issue:
(search-in-dabbrev-buffers "\342\200\231")
#+end_src
** Fixing TAB Keybindings
If you encounter an issue where your ~TAB~ keybindings are not responding in Doom
Emacs while the ~:editor evil~ module is active, it's likely caused by a conflict
where ~<tab>~ keybindings and insert state bindings are overriding your ~TAB~ key
assignments.
In Evil mode, keybinding priorities are set such that:
1. ~<tab>~ keybindings supersede ~TAB~ keybindings and only work in GUI Emacs.
2. Bindings in insert state take precedence whenever the insert state is active.
To resolve this conflict and to assign your desired command to the ~TAB~ key, you
must redefine the keybindings with insert state set explicitly. You can do this
by configuring your ~evil~ keybindings for the insert state as follows:
#+begin_src emacs-lisp
(map! :gi "TAB" #'your-command
:gi "<tab>" #'your-command)
#+end_src
Place this code in your Doom Emacs configuration file to set the function ~your-command~ as the response to pressing ~TAB~ during insert mode.
Remember to replace ~#'your-command~ with the actual command you wish to invoke
with the ~TAB~ key.
If ever in a situation like this, use ~describe-key~ with ~C-h k~ and look at what
command is being called as well as what keymaps the command is defined in.
* Frequently asked questions
/This module has no FAQs yet./ [[doom-suggest-faq:][Ask one?]]

View file

@ -1,7 +0,0 @@
;;; config/default/autoload/filters.el -*- lexical-binding: t; -*-
;;;###autoload
(defun +yas-active-p ()
"Return t if we are in a YASnippet field."
(memq (bound-and-true-p yas--active-field-overlay)
(overlays-in (1- (point)) (1+ (point)))))

View file

@ -496,13 +496,15 @@ Continues comments if executed from a commented line. Consults
(cond
,@(when (modulep! :editor snippets)
'(((and +corfu-want-tab-prefer-navigating-snippets
(+yas-active-p))
(memq (bound-and-true-p yas--active-field-overlay)
(overlays-in (1- (point)) (1+ (point)))))
#'yas-next-field-or-maybe-expand)
((and +corfu-want-tab-prefer-expand-snippets
(yas-maybe-expand-abbrev-key-filter 'yas-expand))
#'yas-expand)))
,@(when (modulep! :lang org)
'(((and +corfu-want-tab-prefer-navigating-org-tables
(featurep 'org)
(org-at-table-p))
#'org-table-next-field)))
(t cmd)))) )
@ -513,10 +515,12 @@ Continues comments if executed from a commented line. Consults
(cond
,@(when (modulep! :editor snippets)
'(((and +corfu-want-tab-prefer-navigating-snippets
(+yas-active-p))
(memq (bound-and-true-p yas--active-field-overlay)
(overlays-in (1- (point)) (1+ (point)))))
#'yas-prev-field)))
,@(when (modulep! :lang org)
'(((and +corfu-want-tab-prefer-navigating-org-tables
(featurep 'org)
(org-at-table-p))
#'org-table-previous-field)))
(t cmd))))))