Commit graph

941 commits

Author SHA1 Message Date
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
Henrik Lissner
bacb84f6c6
docs(default): add @hlissner, @UndeadKernel 2022-08-05 00:49:17 +02:00
Daanturo
08dac1400f fix(default): +default/yank-buffer-path echos the file name as nil
Emacs 29 with PGTK's kill-new doesn't return its STRING argument (with
the default settings) anymore, so we explicitly pass the file path to
prevent the confusing message "Copied path to clipboard: nil".
2022-08-03 19:26:19 +02:00
Henrik Lissner
1f8bf7accb
merge: rewrite-docs
I've omitted docs/*.org from this merge, as there is still work left to
do there, but I am pushing the module docs early so folks can benefit
from the new docs sooner.
2022-08-03 03:27:50 +02:00
Henrik Lissner
7e400abdc0
fix(docs): set mode in file-local vars
Due to emacs-straight/org-mode@e22b4eb, a replacement major mode (for
org-mode) can no longer be specified from .dir-locals.el, as it spirals
into infinite recursion. Therefore, a mode: line is needed in all Doom
docs.

Ref: emacs-straight/org-mode@e22b4eb7aa
2022-08-03 02:46:33 +02:00
Henrik Lissner
1255315bfc
refactor(docs): replace nav menus with virtual one
Now that the header is dynamically generated (when doom-docs-mode is
active), a literal header is unnecessary.
2022-08-02 19:37:07 +02:00
Henrik Lissner
e77a45bc22
docs: use lowercase keywords
As per Org's new defaults, which we're adopting elsewhere, so may as
well adopt it here.
2022-08-02 16:23:43 +02:00
Anh T Nguyen
7373e97ff6
feat(default): bind 'SPC b I' to open ibuffer for workspace 2022-07-24 00:07:41 +02:00
Daanturo
b5fd085af0 tweak(default): consult-flymake in a branch of +default-diagnostics
when available instead of plain flymake-show-diagnostics-buffer
2022-07-23 16:36:01 +02:00
Henrik Lissner
442d607ec0
fix: remove outdated uses of user-emacs-directory
Doom changes user-emacs-directory (see 46844b5 for explanation), so
doom-emacs-dir should be used to refer to your $EMACSDIR instead.

Fix: #6530
Ref: 46844b55de
2022-07-04 02:58:11 +02:00
Henrik Lissner
7ca50e0ce8
feat(default): bind 'SPC b y' to yank whole buffer
Evil may not always be available in all buffers, and in line with the
filepath yank commands on SPC f y/Y, I thought this command could be
useful. However, I omitted a "replace buffer with paste" command because
in any editing context, evil should be available, in which case it'd be
redundant with `vigp` (or yig for yanking the buffer).

Close: #5281
Co-authored-by: Alex Palaistras <deuill@users.noreply.github.com>
2022-06-21 18:46:25 +02:00
Henrik Lissner
ec2062f517
feat(macos): add 'open in new iTerm window' command
Plus keybinds on '<leader> o I'.

Close: #6318
Co-authored-by: brorbw <brorbw@users.noreply.github.com>
2022-06-21 18:46:25 +02:00
Tony
781e80d849
tweak(default): remove M-{-,=,+} and C-- keybinds
The keybindings M--, M-=, and C-- override the built-in commands
negative-argument and count-words-region. Moreover, the C-- command,
er/contract-region, is already bound transiently to
expand-region-contract-fast-key while expanding regions.
2022-06-18 17:20:49 +02:00
Itai Y. Efrat
f3f260c0c0 feat(default): on evil bind rename-buffer to <leader> b R 2022-04-12 02:33:03 +02:00
Henrik Lissner
7121e993ca
bump: :completion
PythonNut/helm-flx@6640fac5cb -> PythonNut/helm-flx@27dd9e3ce3
abo-abo/swiper@c97ea72285 -> abo-abo/swiper@764e0d35ba
company-mode/company-mode@073aef72dd -> company-mode/company-mode@1005540b1c
emacs-helm/helm@5b17313011 -> emacs-helm/helm@1003539c2e
minad/consult-flycheck@0ad7e8ff15 -> minad/consult-flycheck@9b40f136c0
minad/consult@473e6585c5 -> minad/consult@36b8bc7065
minad/marginalia@e63d27e6fb -> minad/marginalia@a514c024ac
minad/vertico@a92b1e47ff -> minad/vertico@7ec0f0c076
oantolin/embark@06d5caafd5 -> oantolin/embark@2890e535f5
oantolin/orderless@f2c78c4a60 -> oantolin/orderless@8f64537f55
2022-04-08 02:52:54 +02:00
Joao Azevedo
b42d7afd9a
fix(default): replace vertico-repeat w/ vertico-repeat-last
vertico-repeat was replaced by vertico-repeat-last.

Amend: 0e802f4653
2022-04-05 00:05:31 +02:00
Henrik Lissner
6f8b83b884
refactor(default,python): move smartparens config
Ref: 41cbb1fe7b
2022-04-01 19:12:35 +02:00