Commit graph

111 commits

Author SHA1 Message Date
Henrik Lissner
db48f767b0
fix(bidi): fail gracefully if font is missing
The module will now emit a warning instead of throwing an uncaught
error (and thus stopping Emacs' startup process).

Fix: #7202
2024-08-23 17:48:33 -04:00
Henrik Lissner
a2814629a0
feat(bidi): add +bidi-*-font-scale vars
Close: #7687
2024-08-23 17:48:33 -04:00
Henrik Lissner
95b7fb1b75
bump: :os tty :input chinese
emacs-straight/xclip@2dfa5fa175 -> emacs-straight/xclip@e132bbff55
merrickluo/liberime@cc9eb9812f -> merrickluo/liberime@c5839f5417
tumashu/posframe@017deece88 -> tumashu/posframe@f4e9e509ba
tumashu/pyim@64067b20ce -> tumashu/pyim@f22c20f2e6
2024-06-29 13:48:24 -04:00
Henrik Lissner
b405225b90
refactor!(vc-gutter): drop git-gutter for diff-hl
BREAKING CHANGE: This removes git-gutter as an implementation for the
`:ui vc-gutter` module, leaving only the diff-hl implementation. There
are no longer any +git-gutter or +diff-hl flags for this module. Users
don't have to do anything to keep the vc gutter, unless they prefer
git-gutter for any reason (in which case they'll need to install and set
it up themselves).

This has been planned for some time, because of a roadmap goal for Doom
to lean into native/built-in functionality where it's equal or better
than the third party alternatives. diff-hl relies on the built-in vc.el
library instead of talking to git directly (thus expanding support to
whatever VCS's vc.el supports, and not git alone), which also means it
can take advantage of its caching and other user configuration for
vc.el. Overall, it is faster and lighter.

What I've also been waiting for was a stage-hunk command, similar to
git-gutter:stage-hunk, which arrived in dgutov/diff-hl@a0560551cd and
dgutov/diff-hl@133538973b, and have evolved since.

Ref: dgutov/diff-hl@a0560551cd
Ref: dgutov/diff-hl@133538973b
Ref: https://github.com/orgs/doomemacs/projects/5/views/1?pane=issue&itemId=58747789
2024-06-22 18:14:04 -04:00
Henrik Lissner
6edd4a3348
perf(chinese): lazy load liberime
Close: #7856
Co-authored-by: merrickluo <merrickluo@users.noreply.github.com>
2024-06-03 16:22:09 -04:00
Henrik Lissner
83f5c4f818
bump: :input
cute-jumper/fcitx.el@12dc2638dd -> cute-jumper/fcitx.el@b399482ed8
emacs-jp/migemo@f756cba3d5 -> emacs-jp/migemo@7d78901773
laishulu/evil-pinyin@3e9e501ded -> laishulu/evil-pinyin@0fae5ad876
merrickluo/liberime@8291e22cd0 -> merrickluo/liberime@cc9eb9812f
skk-dev/ddskk@c24a624884 -> skk-dev/ddskk@8c47f46e38
tumashu/posframe@0d23bc5f7c -> tumashu/posframe@017deece88
tumashu/pyim@de7eff2a58 -> tumashu/pyim@64067b20ce
2024-02-05 17:21:21 -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
0f0fade3c0
fix(layout): bepo: void-variable org-capture-mode-map error
Caused if org is loaded without/before org-capture.

Ref: #7408
2023-09-12 21:30:56 +02:00
liuzhishan
43467ba4b9
fix(chinese): void-function pyim-cregexp-ivy error 2023-09-07 20:19:44 +02:00
GuangTao Zhang
778f849450
fix(chinese): update pyim-cregexp-build func
Pyim has replaced `pyim-cregexp-build-regexp-string` with `pyim-cregexp-build`.

Ref: tumashu/pyim#468
2023-02-23 22:51:28 -05:00
Henrik Lissner
016d7b8fe3
fix(chinese): evil-pinyin: autoloads error
Some unknown difference between `loaddefs-generate` (Emacs 29+) and
`make-directory-autoloads` (<=28) causes evil-pinyin's autoloads file to
throw an error in 29+ when loaded, complaining about missing macros
defined by its dependencies (mainly `define-namespace` and
`evil-define-*`). Specifically, void-function errors.

Since the package is loaded almost immediately on startup, evil-pinyin's
autoloads file isn't needed in the first place, so by disabling it, the
error is resolved. This'll do until I can find a better solution or, at
least, the right party to report it to.

Ref: #6482
2023-02-23 18:41:58 -05:00
Henrik Lissner
5d69d48943
feat(chinese): add +childframe for pyim candidates
Close: #6482
Co-authored-by: merrickluo <merrickluo@users.noreply.github.com>
2023-02-23 02:34:11 -05:00
Henrik Lissner
4594aaa7cd
fix(chinese): evil-escape interfering w/ input method
Close: #6482
Co-authored-by: merrickluo <merrickluo@users.noreply.github.com>
2023-02-23 02:33:37 -05:00
Henrik Lissner
8658145447
feat(chinese): add evil-pinyin
Ref: #6356
Close: #6482
Co-authored-by: merrickluo <merrickluo@users.noreply.github.com>
2023-02-23 02:33:32 -05:00
Henrik Lissner
051c31109f
feat(chinese): search anything with pinyin
- Advise orderless to use pyim-cregexp-build when using vertico
- Add it to ivy-re-builders-alist when using ivy

Close: #6482
Co-authored-by: merrickluo <merrickluo@users.noreply.github.com>
2023-02-23 02:28:38 -05:00
Henrik Lissner
b2cdacf457
feat(chinese): add +rime
Allows pyim users to select rime as a backend.

Close: #6482
Co-authored-by: merrickluo <merrickluo@users.noreply.github.com>
2023-02-23 02:25:01 -05:00
Henrik Lissner
f35ac88284
bump: :input
coldnew/pangu-spacing@f92898949b -> coldnew/pangu-spacing@2303013e5c
skk-dev/ddskk@251df5b02c -> skk-dev/ddskk@c24a624884
tumashu/pyim@02c50045cb -> tumashu/pyim@de7eff2a58
2023-02-20 22:50:41 -05:00
TEC
5ac2a5258b docs: change link format 2022-10-05 01:01:19 +02:00
Gerry Agbobada
559229c250 fix(layout): Bépo rotation happening before magit
Fixes an issue where binding rotations in Bépo were happening too soon,
resulting in some remaps not being visible to the user when interacting
with magit, :editor evil +everywhere, and :input layout +bepo

Ref: https://discourse.doomemacs.org/t/layout-bepo-does-not-properly-remap-k-in-magit/3063
2022-09-16 13:15:46 +02:00
Henrik Lissner
7a2be67efa
refactor!: redesign module init/config hooks
BREAKING CHANGE: For consistency and correctness, I've renamed the
module init/config hooks, and added new ones:

- Adds doom-before-modules-config-hook
- Adds doom-after-modules-config-hook (replaced doom-before-init-modules-hook)
- Adds doom-before-modules-init-hook
- Adds doom-after-modules-init-hook (replaced doom-init-modules-hook)
- Removed doom-after-init-modules-hook (replaced w/ after-init-hook)

The old naming (and timing) was counterintuitive. Now, it's named after
the loaded file group (init.el vs config.el), and I added before/after
variants. Altogether, this should make them less ambiguous.

I've also moved some functions in various modules to more correct hooks.

Load order before this change:
- $EMACSDIR/early-init.el
- $EMACSDIR/lisp/doom.el
- $EMACSDIR/lisp/doom-start.el
- $DOOMDIR/init.el
- {$DOOMDIR,~/.emacs.d}/modules/*/*/init.el
- `doom-before-init-modules-hook'
- {$DOOMDIR,~/.emacs.d}/modules/*/*/config.el
- `doom-init-modules-hook'
- $DOOMDIR/config.el
- `doom-after-init-modules-hook'
- `after-init-hook'
- `emacs-startup-hook'
- `window-setup-hook'

Load order after this change:
- $EMACSDIR/early-init.el
- $EMACSDIR/lisp/doom.el
- $EMACSDIR/lisp/doom-start.el
- $DOOMDIR/init.el
- `doom-before-modules-init-hook'
- {$DOOMDIR,~/.emacs.d}/modules/*/*/init.el
- `doom-after-modules-init-hook'
- `doom-before-modules-config-hook'
- {$DOOMDIR,~/.emacs.d}/modules/*/*/config.el
- `doom-after-modules-config-hook'
- $DOOMDIR/config.el
- `after-init-hook'
- `emacs-startup-hook'
- `window-setup-hook'
2022-09-16 01:14:22 +02:00
Henrik Lissner
aa54383b5d
refactor: deprecate doom-etc-dir for doom-data-dir
doom-etc-dir will be renamed to doom-data-dir, to better reflect its
purpose, and align it with XDG_DATA_HOME (where it will be moved to in
v3, where Doom will begin to obey XDG directory conventions more
closely).
2022-08-14 20:43:35 +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
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
3eb6f663fe
docs(bidi): update READMEs to new format
Also preforms minor spelling, grammar, and formatting corrections.
2022-08-04 01:16:13 +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
Itai Y. Efrat
7640631300 docs(bidi): fix #+DATE field in readme 2022-04-22 16:01:42 +02:00
iyefrat
d41cff489f
module: add :input bidi
* module: add :input bidi

Co-authored-by: Yoav Marco <yoavm448@gmail.com>

* docs(bidi): flesh out README.org

Co-authored-by: Itai Y. Efrat <itai3397@gmail.com>

* feat(bidi): add +bidi-global-mode

* docs(bidi): improve font setting instructions

* feat(bidi): add +bidi-(hebrew|arabic)-font

Since the Hebrew and Arabic unicode blocks cover the vast majority of
RTL languages used today, we provide these fonts so end users don't have
to bother with setting up the hooks themselves.

* feat(bidi): add smart fontify

Adds support for using the bidi fonts on surrounding whitespace and
punctuation through. On by default, customizable through
+bidi-want-smart-fontify and +bidi-smart-fontify-keywords.

Also adds face versions of the bidi fonts.

* docs(bidi): recommend known good nastaliq fonts

* fix(bidi): re-set bidi faces after changing fonts

* feat(bidi): add +bidi-paragraph-direction

This allows users to choose what bidi-paragraph-direction is set to when
+bidi-mode is on, so they can choose if they want per paragraph
alignment (the default) or to force everything to be aligned RTL

* docs(bidi): conform to verbatim/code conventions

* docs(bidi): add font overview to Features

* docs(bidi): warn on rtl forced alignment footgun

+bidi-paragraph-direction is a nice variable to have if you primarily
use +bidi-mode for rtl text buffers, but it shouldn't be used in
conjunction with +bidi-global-mode since it messes up English buffers.

Co-authored-by: Yoav Marco <yoavm448@gmail.com>
2022-04-22 00:21:32 +02:00
Gerry Agbobada
4cabedf94c tweak!(layout): bepo -> vanilla i_ctrl-* keys
BREAKING CHANGE: Ctrl-* keys are back to default meaning in insert mode

Changing the signification of Ctrl-* keys in insert mode seems
unnecessary and ends up confusing because it is not necessarily the same
bindings as in normal mode.
2022-02-09 20:36:42 +01:00
Henrik Lissner
7246db457c docs: replace doom-source with doom-repo links
I will later use "source" to refer to module sources, so better we avoid
the terminology for now.
2022-02-01 18:55:27 +01:00
Henrik Lissner
948459ad88 bump: :input
cute-jumper/ace-pinyin@8b2e9335b0 -> cute-jumper/ace-pinyin@47662c0b05
skk-dev/ddskk@7a7e1ecaf7 -> skk-dev/ddskk@251df5b02c
tumashu/pyim@f48c3edee7 -> tumashu/pyim@02c50045cb
2021-12-14 01:21:33 +01:00
Henrik Lissner
88844e9cec docs: simplify internal docs links
Fewer links means less confusion.

- Merge doom-issue and doom-commit links into doom-ref (for auto-linking
  Issue/PR/commit references).
- Merge doom-module-source and doom-docs-source links into doom-source.
- Rename doom-report-issue to doom-report.
- Use '!' as the icon for module issues link.
- Remove doom-repo (replaced with "doom:*" in :lang org module).
- Add doomdir and emacsdir links to :lang org module.
2021-11-21 20:04:28 +01:00
Henrik Lissner
1decc38237 docs: fix module readme CREATED & SINCE attrs
Some were missing PR references, others had incorrect values for SINCE
and CREATED attributes. Also corrects the capitalization in some
SUBTITLEs.
2021-11-21 20:04:28 +01:00
Henrik Lissner
ca7579a1e9 docs(:input): update READMEs to new format 2021-11-21 20:04:28 +01:00
Gerry Agbobada
a096e9493b fix(layout): prevent magit from stealing t in bépo
Just as magit took control of 's' after "key rotation", magit (at least
when unpinned) takes control of 't' and we need to manually unmap the
key so that 't' goes down one line when the cursor is on a magit section
header
2021-09-15 16:48:09 +02: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
f9e1c99b2b completion/selectrum -> completion/vertico, part 1
- Use `vertico` as default completion engine
- Drop `selectrum` and `selectrum-prescient` support
2021-07-25 02:50:42 +03:00
Gerry Agbobada
cbfd2fadc0
[:input layout bepo] Remove "W" convenience remap
`W` was used to emulate `C-w C-w`, which is useful to quickly change windows
most of the time. But this currently conflicts with edebug evil-collection bindings.
(gives `Key sequence W W starts with non-prefix key W`).

Better to leave the key alone, avoid error messages altogether, and let users redefine
the binding if they want to.
2021-06-13 13:33:20 +02:00
Henrik Lissner
bba8196d94
Merge pull request #4933 from pickfire/fcitx5
Add note for fcitx5 usage
2021-05-24 13:47:39 -04:00
Henrik Lissner
abbbc9eafe
Merge pull request #4866 from JordanAnthonyKing/ddskk-fix
Bump ddskk
2021-05-20 23:21:23 -04:00
Gerry Agbobada
cbbbf0de5c
fix(input layout bepo): remap visual-line-mode-map (#5019)
* fix(input layout bepo): remap visual-line-mode-map

Fixes #5002

* TO SQUASH: map visual-line-mode-map

See comment for rationale. This is the only way to make the remapping work correctly.

`j` and `k` aren't remapped because `t` and `s` had no meaning at all on
`visual-line-mode-map` in `motion` state.

* TO SQUASH: sharpquote and align
2021-05-10 04:57:06 -04:00
Gerry Agbobada
804504025c
fix(:input layout bepo): Ensure eshell rotation goes after evil-collection maps
Fixes #4847
2021-05-09 12:30:45 +02:00
Gerry Agbobada
dbd49922b8
:input layout: fix calls of +layout-bepo-rotate-keymaps pt.2 (#4973)
* :input layout: fix calls of +layout-bepo-rotate-keymaps pt.2
2021-05-03 14:24:54 -04:00
Jordan King
d05d1e7e93 Bump ddskk
skk-dev/ddskk@cec9936 -> skk-dev/ddskk@7a7e1ec

Bump ddskk to include fix for skk-dev/ddskk#190
2021-05-01 11:10:16 +01:00
Gerry Agbobada
ab127b9766
:input layout: fix calls of +layout-bepo-rotate-keymaps
After the refactor, the main function to call to fix small inconsistencies went from a raw evil-collection-setup-hook
 function to a proper helper function with a more logical signature. 

This fixes the calls to the new function, so that the custom fixes are properly applied
2021-05-01 11:44:47 +02:00
Henrik Lissner
09be988c74 Add :input (layout +azerty) to docs 2021-05-01 02:28:44 -04:00
Mathieu Merino
4c53ccac5b input/layout: initial azerty commit 2021-05-01 08:20:34 +02:00
Henrik Lissner
59a8856ecf input/layout: remove redundancies
Some forms snuck into the last commit.
2021-05-01 01:28:20 -04:00