When there are extra yasnippet modes loaded in the current buffer,
prompt user to select one for the new snippet.
If a prefix arg is supplied when calling `+snippets/new`, prompt user to
select any mode.
When adding a snippet/alias to a mode for the first time, setting
`default-directory` before calling `+snippet--ensure-dir` would cause an
error due to the directory not existing. As a fix, return the dir from
`+snippet--ensure-dir` and bind `default-directory` to that.
Additionally, not having a file associated with the buffer caused issues
with loading the snippet after using snippet-mode's C-c C-c binding,
especially when other directories were added to yasnippet's load paths.
As a solution for this, prompt the user for a snippet key and set the
buffer's file name to it within the snippet dir. If an existing file
would be overwritten, ask user for confirmation. As an additional
convenience, set the snippet's key field to the entered value.
Finally, replace %alias with doom-snippets-expand in the generated alias
snippets. Not aware of any history here, but %alias did not work for me.
Rather than attempting to read the uuid from a text property on the
selected completion -- which gets stripped by vertico (and possibly
helm) -- grab it from a lookup alist of completion-candidat->uuid.
Essentially the same as the proposed implementation by @jgrey4296
on #4127Fix: #4127
For evil compatibility (switching to emacs state during multiple
cursors), when evil is enabled locally by evil-local-mode but not
globally by evil-mode, using the former to check is more accurate.
Also make the state variables local since MC maybe used for multiple
buffers: activate current buffer and while not deactivating here, go to
another buffer and activate there.
Emacs can unpredictably prompt the user to "Select coding
system (default utf-8):" in some cases. The exact cause is a little
different for every user, but it can be suppressed by explicitly setting
a default language environment. This is not desirable in interactive
sessions, however.
Ref: #3042Close: #7330
Co-authored-by: bennyip <bennyip@users.noreply.github.com>
Add a collaborative editing module, powered by crdt.el.
Ref: https://code.librehq.com/qhong/crdt.el
Co-authored-by: Arte Ebrahimi <arteebrahimi@gmail.com>
Previously, +popup/other would do nothing if a window with the
no-other-window property that was not a popup was focused. Now
+popup/other will always select different window if there is another
popup or window with the no-other-window property.
Fix: #7119
Previously, only gitlab.com and gitlab.gnome.org were recognized as
gitlab hosts. This tweaks browse-at-remote to recognize any subdomain
named gitlab.* as a gitlab host (as a fallback, if no other regexp
matches).
doom-package:* links exist to make linking to packages a little smarter.
In Emacs, it'll open that package's describe-package page, with some
extra information embedded. In other media (exported to html/pdf), it
will link to the package's project home, which will be ascertained from
the local package's metadata, falling back to
DoomELPA (https://github.com/doomelpa) or one of the ELPA archives.
Close: #7237