Commit graph

957 commits

Author SHA1 Message Date
Henrik Lissner
9cdcfdac36
feat(workspaces): add +workspace/delete
For deleting saved workspaces (saved with `+workspace/save` or
`+workspace-save`).

Also binds `SPC TAB D` (for evil users) and `C-c w K` (for non-evil
users) to it.

Fix: #4399
Close: #7869
Co-authored-by: sriramsk1999 <sriramsk1999@users.noreply.github.com>
2024-07-29 20:57:56 -04:00
Henrik Lissner
36e7aaa619
nit(default): remove refs to doom-point-in-*-functions
These variables were removed in e43d575.

Amend: e43d575caf
2024-07-18 22:38:59 -04:00
Henrik Lissner
b3ef202451
refactor(corfu): conform to naming conventions 2024-07-13 19:38:20 -04:00
Henrik Lissner
9224ac56f0
tweak(default): bind '<leader> g U' to magit-unstage-buffer-file
The former command, magit-unstable-file, would prompt the user to select
a file to unstage, but the intention of this keybind was always to
"unstage *this* file". magit-unstage-buffer-file didn't exist at the
time this keybind was created, so I settled on magit-unstage-file as a
compromise, which is no longer necessary.
2024-07-07 20:39:32 -04:00
Ellis Kenyő
d330642c2e
feat(literate): add +literate/find-heading command
A command for jumping to an Org heading in your literate org config
file.

Close: #7716
2024-07-06 20:40:08 -04:00
StrawberryTea
f44309cb63
fix(default): replace void function +yas-active-p 2024-07-05 18:57:40 -04:00
Henrik Lissner
5289861109
refactor(workspaces): +workspace/delete: rename to +workspace/kill
To be more consistent with other uses of the verb in the Emacs
ecosystem. Also done in preparation for a new +workspaces/delete command
for #7869.

Ref: #7869
2024-07-05 18:05:15 -04:00
Henrik Lissner
481753bd5e
refactor!: remove pcre2el package
BREAKING CHANGE: This removes the pcre2el package, which Doom was using
solely for one function to escape PCREs. In the interest of thinning out
Doom's core, I've hoisted a simpler version of the function into Doom's
stdlib so I can remove the dependency.
2024-07-01 18:11:34 -04:00
Henrik Lissner
52e5327221
module: remove :app twitter
This module has been deprecated for some time, because our overlord
Elon-sama axed the twitter API.
2024-06-30 21:58:09 -04:00
Henrik Lissner
3cb9f17132
merge: pull request #7739 from LemonBreezes/corfu-update-smart-tab
feat(corfu): update smart tab completion
2024-06-30 15:24:52 -04:00
Merrick Luo
c9df1c5d42 fix(evil): bind git time machine without vc-gutter
git-timemachine keybind should not be guarded by the vc-gutter module
2024-06-03 16:18:09 -04:00
StrawberryTea
0a4d22e5b7 fix(config): fix corfu smart tab behavior 2024-05-10 22:08:32 -05:00
Henrik Lissner
0349dab09a
tweak(default): ensure '<leader> g S' is silent
magit-stage-file prompts the user to select a file to stage, but the
intention for these two keys has always been to (un)stage the current
file (and without prompting). This ensures that is the case.

I've also tweaked their description to make that intention clearer.
2024-04-18 14:17:02 -04:00
Henrik Lissner
2f7b309252
tweak(default): remove +vc/gutter-hydra keybind
Not only is this keybind always overshadowed by the magit-file-dispatch
keybind on the same key, the hydra module is deprecated, so I will
simply remove it.

Fix: #5388
2024-04-18 14:17:02 -04:00
StrawberryTea
390f5920a2
Merge branch 'master' into corfu-update-smart-tab 2024-04-12 13:45:44 -05:00
StrawberryTea
cfdae2365c feat(corfu): update smart tab completion
This commit updates the smart tab functionality so that:
1. The only functionality checked is for the modules that are enabled.
2. The priority of the TAB behavior is tunable by the user.

This also updates the TAB behavior for the Corfu module to be
`indent-for-tab-command` instead of `completion-at-point` so that users
can use the TAB key to indent their code and navigating Org tables.

We also address #7372 by checking overriding-terminal-local-map, as that
is used by Embark.
2024-04-01 07:55:13 -05:00
Henrik Lissner
89e6b6849e
fix(default): restore accidentally gated keybinds (part 2)
I haven't published support for negated flags (e.g. -eglot) yet; this
snuck into 76b4522.

Amend: 76b452278f
Ref: #7745
2024-03-22 10:09:45 -04:00
Henrik Lissner
76b452278f
fix(default): restore accidentally gated keybinds
These were accidentally gated as part of 6949451 (#7002).

Amend: 6949451b00
Close: #7745
Co-authored-by: raszi <raszi@users.noreply.github.com>
2024-03-22 10:08:20 -04:00
Luigi Sartor Piucco
0588b42b46
feat(corfu,vertico): use equal orderless config
This removes the old `&` separator for Vertico (does anyone use that
instead of just space?) in favor of escapable space and unifies
orderless config with Corfu. Also implements smart separator
insert/escape/reset on `C-SPC`

Co-authored-by: Liam Hupfer <liam@hpfr.net>
2024-03-19 20:41:50 -03:00
StrawberryTea
365a95de76
feat(corfu): more CAPFs and ergonomy changes
Add CAPFs from cape:
- `cape-dabbrev`;
- `cape-elisp-block`;
- `cape-file`;
Fix some CAPFs via cape:
- Make non-exclusive, purified and silent `pcomplete-completions-at-point`;
- Make non-exclusive and non-interruptable `lsp-completion-at-point`;
- Make non-exclusive `eglot-completion-at-point`;
- Make non-exclusive `comint-completion-at-point`;
Fix and improve keybindings:
- Smart `DEL`;
Add depth to CAPFs, allowing ordering to be adjustable.
2024-03-19 20:41:50 -03:00
Luigi Sartor Piucco
6949451b00
module: add :completion corfu
This commit's primary goal is allowing use of
[Corfu](https://github.com/minad/corfu) as an alternative to
[Company](https://github.com/company-mode/company-mode). It introduces a
module under `:completion` for this purpose, plus some conditionals on
other relevant modules to toggle functionality like lsp back-ends and
[Cape](https://github.com/minad/cape) capfs for certain modes.

Other optional or miscellaneous features include:

- Corfu is enabled in the minibuffer if `completion-at-point` is bound;
- Support for displaying the completion's documentation on a secondary
  popup;
- Support for terminal display if :os tty;
- Support for icons if +icons;
2024-03-19 20:41:36 -03:00
cuithon
f838c1790d
docs(default,mu4e,latex): fix repetition of the in docs 2024-03-12 20:16:29 -04:00
Henrik Lissner
198fe82b6d
feat(lib): backport find-sibling-file
I will slowly phase out projectile in favor of project.el, starting with
projectile-find-other-file, which -- as of Emacs 29 -- has a native
alternative: `find-sibling-file`.

Ref: doomemacs/community#1
2024-03-11 00:53:44 -04:00
Henrik Lissner
cce9438d9f
fix(default): +evil module flag typo 2024-02-17 07:13:39 -05:00
Henrik Lissner
615a77fafc
bump: :config
magnars/expand-region.el@b70feaa644 -> magnars/expand-region.el@e8f4e0fe9c
noctuid/link-hint.el@36ce929331 -> noctuid/link-hint.el@9153eafc77
2024-02-04 18:54:21 -05:00
Henrik Lissner
659f7bfc71
refactor!: deprecate IS-* OS constants
BREAKING CHANGE: This deprecates the IS-(MAC|WINDOWS|LINUX|BSD) family
of global constants in favor of a native `featurep` check:

  IS-MAC      ->  (featurep :system 'macos)
  IS-WINDOWS  ->  (featurep :system 'windows)
  IS-LINUX    ->  (featurep :system 'linux)
  IS-BSD      ->  (featurep :system 'bsd)

The constants will stick around until the v3 release so folks can still
use it -- and there are still some modules that use it, but I'll phase
those uses out gradually.

Fix: #7479
2024-02-04 17:54:29 -05:00
John Goff
56b6169ae7
fix(default): read correct manpath on MacOS
Versions of `man` shipped with the latest MacOS do not support the
`--path` argument, which causes `M-x woman` in Emacs to break. However
the `manpath` command gives the same information and exists on MacOS and
Linux, at least the systems that I tested. Check for its existence, and
if there is no `manpath` command then fall back to the logic that
existed before.

Fix: #7021
2024-01-24 12:31:20 -05:00
Tim Ruffing
a89d4b7df5
tweak(default): add binding for undo-tree
This also makes the check for the presence of vundo consistent with the
rest of the file by using modulep! instead of fboundp.
2023-12-01 13:15:36 -05:00
Henrik Lissner
88bb045388
docs(*): replace all-the-icons with nerd-icons
Also colorizes the leading icon in notices.
2023-09-16 20:19:11 +02:00
Henrik Lissner
af5add0e9e
merge: pull request #7389 from hpfr/misc 2023-09-06 14:28:57 +02:00
StrawberryTea
20393c7074 feat(default): add use consult-man if available
`consult-man` is a better version of `man` that computes its candidates
asynchronously and allows the user to pass arguments directly to the man
command. It's basically like `consult-grep` but for `man`.
2023-09-06 14:26:51 +02:00
Liam Hupfer
62074bfcbb tweak(emoji): add emoji-search binding for Emacs 29
The emojify command takes precedence in case users want ASCII/GitHub
string completion/insertion.

Ref: https://git.savannah.gnu.org/cgit/emacs.git/tree/etc/NEWS?h=emacs-29.1#n884
2023-09-02 12:27:37 -05:00
Liam Hupfer
d5f86f179f tweak(default): add multi-buffer imenu commands
There is no analogous counsel command.
2023-09-02 12:27:37 -05:00
Henrik Lissner
a7f3db972f
bump: :config default use-package
abo-abo/avy@955c8dedd6 -> abo-abo/avy@be612110cb
jwiegley/use-package@77945e002f -> jwiegley/use-package@a6e856418d
noctuid/link-hint.el@1f9bb60289 -> noctuid/link-hint.el@36ce929331

Close: #7345
Ref: #7196
Co-authored-by: hperrey <hperrey@users.noreply.github.com>
2023-08-18 18:50:07 +02:00
Jeetaditya Chatterjee
833be11368 fix(syntax): update flycheck binding check 2023-08-07 20:34:53 +02:00
Jonathan Ming
9245a347a4
module: add :tools collab
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>
2023-07-24 19:29:46 +02:00
LemonBreezes
b0826b9a90 tweak(config): feature-gate company keybindings
In anticipation of the Corfu module, this PR feature-gates the
company-mode keybindings for non-Evil users. This is already done for
Evil users.
2023-07-22 16:24:18 +02:00
Henrik Lissner
4e105a95af
refactor(vertico): take evil keybinds from :config default 2023-03-22 18:29:38 -04:00
Daniel Levy Moreno
9350b44dc0
feat(undo): add vundo
Close: #6263
2023-03-22 00:26:10 -04:00
Henrik Lissner
81aa98049d
bump: :config
abo-abo/avy@ba5f035be3 -> abo-abo/avy@955c8dedd6
jwiegley/use-package@e2d173b120 -> jwiegley/use-package@77945e002f
magnars/expand-region.el@7e5bbe2763 -> magnars/expand-region.el@b70feaa644
noctuid/link-hint.el@676dac6621 -> noctuid/link-hint.el@1f9bb60289
2023-02-21 19:34:59 -05:00
Henrik Lissner
45d25af436
fix(default): browse-project: stringp type error
doom-project-root can return nil if not in a project, causing a type
error (#7093). This changes +default/browse-project to fall back to the
current directory in that case.

Fix: #7093
2023-02-21 19:15:36 -05:00
mfroeh
ef9e21c90c feat(default): bind :leader "t v" to visible-mode 2022-10-29 02:48:16 +02:00
Henrik Lissner
6887998c23
feat(default): add C-h/C-l evil keybinds for helm
Close: #6853
Co-authored-by: BenediktBroich <BenediktBroich@users.noreply.github.com>
2022-10-29 01:57:43 +02:00
Bruce D'Arcus
9193ba98f7
tweak(default): bind "n b" to citar-open-notes
Also change desc to "Bibliographic notes".

Ref: #6728
2022-10-28 18:38:34 +02:00
TEC
5ac2a5258b docs: change link format 2022-10-05 01:01:19 +02:00
Henrik Lissner
58fb83c98e
fix(company): completing-read interface on C-S-s
C-S-s while company is completing shoudl bring up the results in your
completion framework of choice (ivy, helm, vertico, etc), but failed to
do so for vertico (for any completion backend besides company-capf
perhaps).
2022-10-04 02:05:02 +02:00
Henrik Lissner
ad6a3d0f33
refactor: deprecate featurep! for modulep!
featurep! will be renamed modulep! in the future, so it's been
deprecated. They have identical interfaces, and can be replaced without
issue.

featurep! was never quite the right name for this macro. It implied that
it had some connection to featurep, which it doesn't (only that it was
similar in purpose; still, Doom modules are not features). To undo such
implications and be consistent with its namespace (and since we're
heading into a storm of breaking changes with the v3 release anyway),
now was the best opportunity to begin the transition.
2022-08-14 20:43:35 +02:00
Itai Y. Efrat
0e6682612f feat(default): use consult-flycheck when applicable 2022-08-12 21:01:56 +02:00
Henrik Lissner
27a448b04b
feat(vc-gutter): add +diff-hl backend
This adds an alternative backend to the :ui vc-gutter module, enabled
with the +diff-hl flag. In the future, I intend for diff-hl to replace
git-gutter, as it is slightly faster and depends on more native
functionality (vc.el), but it's still a little buggy. It will remain
opt-in until those issues are sorted out.
2022-08-08 18:23:47 +02:00
Henrik Lissner
1abcf913aa
revert: fix(docs): set mode in file-local vars
emacs-straight/org-mode@e22b4eb7aa introduced a breaking change that
made it impossible to rely on .dir-locals.el to change org-mode buffers
in $EMACSDIR to doom-docs-org-mode (without infinite recursion), so we
used file-local variables in 7e400ab.

emacs-straight/org-mode@215de6176b reverted that change, so we can use
.dir-locals.el again, and this is my preference, since it requires less
boilerplate across our hundreds of org files.

Ref: emacs-straight/org-mode@215de6176b
Ref: emacs-straight/org-mode@e22b4eb7aa
Revert: 7e400abdc0
2022-08-07 19:08:07 +02:00