Commit graph

1034 commits

Author SHA1 Message Date
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
Henrik Lissner
962c643bad
fix(literate,mu4e): revert recent, unintended changes
Reverts changes that snuck into 5ac2a52.

Amend: 5ac2a5258b
Ref: #6873
2022-10-07 17:33:35 +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
TEC
c82e7455bb fix(literate): use same org install when using CLI 2022-09-30 22:52:42 +02:00
Henrik Lissner
1c4217aa27
refactor: minor refactors & commentary revision
* lisp/doom-cli.el:
  - reference backport source commit.
  - doom-cli--restart: a type check is all we need here. This is a
    programmer error, not a user error.
* lisp/doom-editor.el (recentf): mention recentf-show-abbreviated (added in
  emacs-mirror/emacs@32906819ad)
* lisp/doom-keybinds.el (doom-init-leader-keys-h): move to
  doom-after-init-hook, in case the user customizes leader variables in
  a previous hook (like emacs-startup-hook or after-init-hook).
* lisp/doom-start.el: use eval-when! to compile out the section on
  non-macOS systems (when Doom gets around to compiling its core files,
  later).
* modules/config/literate/autoload.el (+literate-config-file): use
  file-name-concat instead of string concat. This relaxes the
  requirement that doom-user-dir end in a /; a requirement I intend to
  fully phase out.
* modules/lang/emacs-lisp/autoload.el (+emacs-lisp-non-package): remove
  empty map! macro in flycheck-emacs-lisp-check-form. The macro already
  no-ops at compile-time/in noninteractive sessions since b480ed51a3.
* modules/ui/hl-todo/config.el (hl-todo-keyword-faces): revise
  commentary for default hl-todo keywords.

Ref: emacs-mirror/emacs@32906819ad
Ref: b480ed51a3
2022-09-24 20:31:34 +02:00
Henrik Lissner
6c76b98dbb
refactor: use doom-module-*-file variables; add two
- Adds doom-module-packages-file and doom-module-metadata-file.
- Uses them and the other doom-module-*-file variables where they were
  previously hardcoded.
- Add .el extension to doom-module-{init,config}-file; it is now the
  consumer's responsibility to strip/change/keep the extension as they
  see fit.
2022-09-24 20:31:34 +02:00
Henrik Lissner
dda848e089
module: add :config use-package
I intend to phase out the internal usage of use-package in Doom's core
and modules. The macro is too complex and magical for our needs.

That said, until we've fully removed it, this :config use-package is
hardcoded to be enabled-by-default, until use-package has been
refactored out of core and modules. It'd be wise not to add it to your
doom! blocks yet.
2022-09-24 18:46:21 +02:00
TEC
e2608cbdd5 tweak(literate): clear the tangle output buffer
While this is a hidden buffer, it's raised when an error occurs. In such
situations, it can be a little confusing to see the result of every
tangle to date instead of just the last tangle. It's easy enough to
simple clear the buffer at the start of the tangle process.
2022-09-21 00:53:30 +02:00
TEC
18b661873e fix(literate): tangle with the same Org as Doom 2022-09-16 01:23:43 +02:00