Commit graph

186 commits

Author SHA1 Message Date
Henrik Lissner
2d3f003969
fix(default): removal vestigial drag-stuff config
drag-stuff was removed for evil users in 816db4a, but I forgot to stage
the removal of its use-package! block when I moved it, leaving defunct
keybinds in its wake.

Amend: 816db4a62a
2024-09-04 15:04:31 -04:00
Henrik Lissner
816db4a62a
refactor!(default): drag-stuff: make non-evil only
BREAKING CHANGE: This makes the drag-stuff package and its keybinds only
available to non-evil users. This was done because the package doesn't
bring much value for evil users, where text-objects are more powerful.
Plus, drag-stuff doesn't interact well with visual block or line modes
in evil, rendering drag-stuff-{left,right} not useful enough to warrant
keeping.
2024-09-02 01:05:44 -04:00
Henrik Lissner
86ee153786
refactor(default): move +*-bindings.el loaders into config.el
No need for the extra indirection.
2024-09-01 23:25:51 -04:00
Henrik Lissner
10484dea87
merge: #7750
Close: #7750
2024-08-31 21:31:11 -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
StrawberryTea
0a4d22e5b7 fix(config): fix corfu smart tab behavior 2024-05-10 22:08:32 -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
45mg
dd18fa16be feat(corfu): both option for RET behavior
Adds a new value of `+corfu-want-ret-to-confirm` to cover the case where
the user wants to select the candidate as well as perform the normal
behavior of RET.

Also, the logic for RET behavior has been refactored for clarity, and
the variable's documentation has been clarified a little.
2024-03-23 19:28:26 +05:30
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
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
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
Henrik Lissner
6f8b83b884
refactor(default,python): move smartparens config
Ref: 41cbb1fe7b
2022-04-01 19:12:35 +02:00
Henrik Lissner
26d5163ba0
fix(default): no usable configuration epg-error
Introduced in dcae28c83a, because ignore-errors was being used for the
wrong epg-* function.

Why this happens: epg-make-context throws this error if you don't have a
GnuPG environment set up.

Fix: #6114
Amend: dcae28c83a
2022-02-16 02:13:35 +01:00
Henrik Lissner
dcae28c83a
fix(default): don't default to disabled/expired pgp keys
And don't use the short ID (see evil32.com).

Ref: https://evil32.com/
2022-02-14 21:24:42 +01:00
Celso Bonutti
1b895a0564 fix(default): smartparens rules for haskell
The default haskell-mode rules would result in an extra } appended to
the closing pair (#5448).

Fix: #5448
Close: #5450
2022-01-05 04:05:08 +01:00
Ethan Leba
d720b29cd3 feat(default): set woman manpath with man if able 2021-12-15 09:55:54 -05:00
Henrik Lissner
277a376b43 fix(default): don't override S-RET/C-j in occur buffers
These keybinds were too wide-reaching. I can only consider them
reasonable defaults for evil users, not vanilla users.

Fix #3953
2021-08-16 17:16:30 -04:00
Henrik Lissner
3c66264656 fix(default): bind s-f to consult-line for macos users
Swiper is present if the ivy or helm backends are enabled, otherwise,
use consult-line.
2021-07-31 04:35:49 -04:00
Itai Y. Efrat
24eaa1317c completion/selectrum -> completion/vertico, part 2
- Rename module from `:completion selectrum` to `:completion vertico`
- Rename all files involved
- Do *not* yet rename all the functions, as that messes up git's rename
  detection.
2021-07-25 02:51:15 +03:00
Itai Y. Efrat
e65dffd790 selectrum: remove selectrum-minibuffer-map from...
`+default-minibuffer-maps`.

It's derived from `minibuffer-local-map` so this is unnecessary.
2021-07-25 02:50:42 +03:00
Itai Y. Efrat
26a310d04c selectrum: improve ivy parity
- add `completion-at-point` as analogue to `cousnel-company`
- fix emacs-bindings `counsel-company` binding to respect helm and selectrum
- add org jump commands `consult-org-heading` and `consult-org-agenda` bindings
- add `consult-history` as `counsel-minibuffer-history` analogue
- add support for `doom/help-search`
- update TODO.org
2021-07-25 02:50:31 +03:00
Itai Y. Efrat
7ec7134947 selectrum: improve ivy parity
- add `:pg` bindings
- add `selectrum-minibuffer-map` to `+default-minibuffer-maps`
- add `consult-notmuch`
- add selectrum option for `mu4e-completing-read-function`
- document more parity failings
2021-07-25 02:49:41 +03:00
Itai Y. Efrat
34fae1c01c Remove remaining Emacs27+ checks
- Remove remaining `EMACS27+` checks, since the whole codebase is
  assumed to run at version 27 or above now
- Remove `EMACS27+` definition since it's no longer needed
2021-07-10 16:03:41 +03:00
Henrik Lissner
f3748b2977 Fix #4559: wrong-type-arg error on RET in some comments
Some modes will set comment-line-break-function to an anonymous function
or advice (as octave-mode does), which will cause this fboundp check to
throw a type error when you press RET while on a commented line.
2021-04-18 13:07:18 -04:00
Henrik Lissner
1274de3d34 Minor reformatting & refactors across the board 2021-02-25 13:59:43 -05:00
Henrik Lissner
b89929f3f8
Bind {C-h, SPC h} V to doom/help-custom-variable
For looking up custom variables (i.e. variables intended to be
customized; defined with defcustom).
2021-01-05 19:21:54 -05:00
Henrik Lissner
b96b6ed64e
Fix /* and /** expansion in various languages
Also adds +web-continue-block-comments option to control:

/*
 *
 */

vs

/*

*/

Has a known issue where the indentation for the closing delimiter is off
by one when +web-continue-block-comments is disabled. Will have to look
into that later.
2020-11-09 17:19:14 -05:00
Gerry Agbobada
e164f3714f
Set helm-rg-map in the default +default-minibuffer-maps
It seems like a typo
2020-08-24 11:03:46 +02:00
Henrik Lissner
2c0cbec7c8
Fix universal {C,s}-RET keybinds in tty Emacs
And reformat all X-RET keybinds.
2020-08-05 18:26:07 -04:00
Henrik Lissner
c6766c293d
C-down-mouse-2 -> reset text-scale
Make this universal. Also removes redundant C-mouse-{4,5} mouse
bindings, they're already bound by mouse-wheel-mode.
2020-08-05 18:26:07 -04:00
Henrik Lissner
863eb82efd
S-RET -> insert literal newline
A convention on many text editors and applications is to make RET
auto-indent new lines. That has already been done. Another convention is
for S-RET to insert an unindented line; this commit adds this convention
to Doom.

Relevant to #3694
2020-08-05 18:26:06 -04:00
Henrik Lissner
8bf902d5f4
General refactors & reformatting across the board 2020-06-04 20:13:28 -04:00
Henrik Lissner
d1fcbf244b
doom/toggle-debug-mode -> doom-debug-mode 2020-05-25 20:18:36 -04:00
Henrik Lissner
c690ed600a
lang/swift: add pair rule for string interpolation 2020-05-25 03:43:40 -04:00
Henrik Lissner
ea18c83c0a
General refactors & reformatting across the board 2020-05-15 01:44:53 -04:00
Henrik Lissner
a7c2cbab90
Fix #3110: wrong-number-of-args on backspace
Due to a regression in 82ddc8633.
2020-05-12 22:40:07 -04:00
Henrik Lissner
82ddc86335
Move RET & backspace fixes out of +smartparens feature
Neither of these are tied to smartparens, and should be available to
folks that have disabled +smartparens.
2020-05-12 19:42:03 -04:00
Henrik Lissner
798b5bdaea
Add +default-want-RET-continue-comments option
For disabling comment continuation on RET.
2020-04-30 16:29:12 -04:00
Henrik Lissner
09d344541f
epa-pinentry-mode -> epg-pinentry-mode
Because epa-pinentry-mode is deprecated in 27+
2020-04-23 16:52:54 -04:00
Henrik Lissner
064603f6e6
Only bind C-s in minibuffer if ivy/helm are available 2020-03-28 20:08:53 -04:00
Henrik Lissner
8f685a3c31
Fix #2756: make C-a/C-e truly shift-select aware 2020-03-28 00:41:04 -04:00
Henrik Lissner
169f9a6121
General, minor refactor & reformatting 2020-03-27 01:25:30 -04:00
Henrik Lissner
2fcc338702
Don't disable backquote in lisp mode comments 2020-03-12 11:30:20 -04:00
Henrik Lissner
dd402b7db3
Remove references to enh-ruby-mode 2020-03-12 11:29:54 -04:00
Henrik Lissner
69f14bc3da
Apply smartparens lisp rules to sly-mrepl-mode 2020-03-06 15:26:36 -05:00
Henrik Lissner
f426623e4b
Revert 3bb384f95 & improve ocaml comment continuation
Back to the default behavior because this implementation was too buggy.
Solution needs a rework.
2020-02-25 22:35:50 -05:00