Commit graph

195 commits

Author SHA1 Message Date
Henrik Lissner
037b018cdd
feat: add .doommodule files
These optional dotfiles indicate the root of a module or module
group (:lang), and will later contain module metadata. They will also
serve as an alternative to packages.el and doctor.el, and will aide the
parts of the v3.0 module API concerned with resolving the current module
from a path (`doom-module-from-path`), which currently rely too heavily
on parsing path strings.

For now, however, they're simply placeholders.
2024-09-14 20:47:39 -04:00
Stefan Lendl
9fe9f89333 tweak(vterm): vterm-send-next-key mapped to C-q 2024-08-25 17:45:28 -04:00
Henrik Lissner
dbcd30820b
fix(eshell): eshell-did-you-mean: sequencep 771 error
Also removes obsolete hack for eshell-did-you-mean (see
xuchunyang/eshell-did-you-mean#2).

Ref: xuchunyang/eshell-did-you-mean#2
2024-08-21 14:53:23 -04:00
Henrik Lissner
a0dadda266
bump: :term
LemonBreezes/emacs-fish-completion@006c613ff7 -> LemonBreezes/emacs-fish-completion@1256f137a2
akermu/emacs-libvterm@94e2b0b2b4 -> akermu/emacs-libvterm@df057b1af2
akreisher/eshell-syntax-highlighting@1d25386bf7 -> akreisher/eshell-syntax-highlighting@b960d036c2
2024-06-29 15:32:19 -04:00
Henrik Lissner
2a2565f059
bump: :term eshell
LemonBreezes/emacs-fish-completion@d34d0b96fd -> LemonBreezes/emacs-fish-completion@006c613ff7
akreisher/eshell-syntax-highlighting@4ac27eec65 -> akreisher/eshell-syntax-highlighting@1d25386bf7
peterwvj/eshell-up@ff84e6069b -> peterwvj/eshell-up@1999afaa50

Fix: #7789
2024-04-03 17:48:38 -04: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
StrawberryTea
d1d0a7e258
fix(eshell): remove fish executable advice
Ref: LemonBreezes/emacs-fish-completion@99f0672c20
2024-02-01 18:47:20 -05:00
Vitaly Slobodin
68d59f726d
bump: :term eshell
ambrevar/emacs-fish-completion@df42e15308 -> LemonBreezes/emacs-fish-completion@d34d0b96fd

The emacs-fish-completion package has changed owners and moved to
https://github.com/Ambrevar/emacs-fish-completion.
2024-01-24 12:25:30 -05:00
StrawberryTea
dc16fe10e3 feat(eshell): add imenu support 2023-11-24 10:31:35 -05:00
Henrik Lissner
e4b1ed5a6a
refactor(eshell): eshell-prompt-regexp
This new default makes eshell-prompt-regexp's consumers a little less
susceptible to false positives in garbage/process output and a little
more resistant to user changes to eshell-prompt-function. It's also
closer to its default value (KISS).
2023-11-24 10:29:29 -05:00
LemonBreezes
a180579d6f
bump: :term eshell
Ambrevar/emacs-fish-completion@1038488181 -> Ambrevar/emacs-fish-completion@df42e15308
akreisher/eshell-syntax-highlighting@8bf0494ca7 -> akreisher/eshell-syntax-highlighting@4ac27eec6595# Please enter the commit message for your changes. Lines starting

- (#7529) Fix elisp code-completion in Eshell.

Close: #7529
2023-11-23 17:29:37 -05:00
Henrik Lissner
fba8dda5c8
bump: :term
akermu/emacs-libvterm@3e5a9b754b -> akermu/emacs-libvterm@94e2b0b2b4
akreisher/eshell-syntax-highlighting@1ba39a9ffb -> akreisher/eshell-syntax-highlighting@8bf0494ca7
szermatt/emacs-bash-completion@25611eed1e -> szermatt/emacs-bash-completion@f1daac0386
2023-09-20 20:23:59 +02:00
Henrik Lissner
0f663d007b
docs(evil,latex,vterm,treemacs): correct notices
Use the correct symbol for warnings.

Amend: 88bb045388
2023-09-17 03:27:49 +02: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
8340141e69
fix(eshell): pcomplete after quotes in emacs <=28
Fixes an upstream issue in pcomplete where completion after quotes fails
with the following message:

  Completion function pcomplete-completions-at-point uses a deprecated
  calling convention

This issue is fixed in 29+, but I backport this fix for 27-28
users (credit for the fix goes minad/cape, which is where I adapted this
fix from).

Fix: #3817
Co-authored-by: minad <minad@users.noreply.github.com>
2023-09-16 16:17:02 +02:00
Liam Hupfer
034da90693 refactor(eshell): remove wait for esh-module 2023-09-02 11:46:07 -05:00
Henrik Lissner
72dba8b583
bump: :term
akermu/emacs-libvterm@a940dd2ee8 -> akermu/emacs-libvterm@3e5a9b754b
akreisher/eshell-syntax-highlighting@8e3a685fc6 -> akreisher/eshell-syntax-highlighting@1ba39a9ffb
szermatt/emacs-bash-completion@c5eaeed156 -> szermatt/emacs-bash-completion@25611eed1e
2023-02-20 22:50:07 -05:00
TEC
5ac2a5258b docs: change link format 2022-10-05 01:01:19 +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
a5c80fcb4b
refactor: deprecate doom-private-dir for doom-user-dir
- Deprecates the doom-private-dir variable in favor of doom-user-dir.
- Renames the pseudo category for the user's module: :private -> :user.
- Renames the doom-private-error error type to doom-user-error.

Emacs uses the term "user" to refer to the "things" in user space (e.g.
user-init-file, user-emacs-directory, user-mail-address, xdg-user-dirs,
package-user-dir, etc), and I'd like to be consistent with that. It also
has the nice side-effect of being slightly shorter. I also hope
'doom-user-error' will be less obtuse to beginners than
'doom-private-error'.
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
0407621aff
refactor: deprecate EMACS2[89]+, NATIVECOMP, MODULES
To reduce redundancy, remove the maintenance hassle that version
constants would impose later on, and rely on built-in
facilities (featurep) more over global variables or doomisms, these
global constants have been deprecated in favor of Emacs "features":

- EMACS28+   -- replace with (> emacs-major-version 27)
- EMACS29+   -- replace with (> emacs-major-version 28)
- NATIVECOMP -- replace with (featurep 'native-compile)
- MODULES    -- replace with (featurep 'dynamic-modules)

(These constants will be formally removed when v3 is released. The IS-*
constants are likely next, but I haven't decided on their substitutes
yet)

I also decided to follow native-compile's example and provide features
for Emacs' system features (since system-configuration-features' docs
outs itself as a poor method to detect features):

- dynamic-modules
- jansson
- native-compile -- this one already exists, but will instead be removed
  if it's non-functional; i.e. (native-comp-available-p) returns nil.

These are now detectable using featurep, which is fast and built-in.
2022-08-14 20:43:35 +02:00
Henrik Lissner
3239ab8b2e
nit(mu4e): neutralize comments
Some of our comments/docs can come off as disparaging or snide. They're
glimpses of unfiltered frustration or snarky rubber ducking gone too
far, something I can totally sympathize with, as a scatterbrained
tinkerer, unwittingly made responsible for a lot of work that isn't mine
because of Doom's position as a middleman. But now that Doom has a
veritable userbase, I'd like to hold it to a higher standard.

Light-hearted banter and aired grievances in our source code,
documentation, or community are fine if focused on the problem or the
personal/shared experiences of the community (things that offer value or
amusement to others), but it is never acceptable to attack people or
their efforts. Especially not the very people on whose shoulders Doom
stands.

I sincerely apologize if these have offended you.

Amend: b07614037f
2022-08-14 20:36:42 +02:00
Henrik Lissner
a0a4aa81c1
fix(vterm): +vterm/toggle creating duplicates
If vterm-buffer-name-string is set to non-nil, then vterm will rename
the buffer after it is initialized. Since +vterm/toggle looks up buffers
by name, it will lose track of them, causing it to create a new one on
each invocation. With this, it will no longer lose track of them.

Fix: #6651
2022-08-09 17:18: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
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
Henrik Lissner
9d1df5f298
nit: minor refactors & comment/docstring revisions 2022-06-21 14:40:15 +02:00
Henrik Lissner
6185767c41
refactor(eshell,term): move hscroll-margin settings
...out of core and into their respective modules. A tiny step toward
thinning out core.
2022-03-31 14:05:45 +02: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
Shay Bergmann
81ab356d6e
refactor(vterm): remove +vterm--change-directory-if-remote
This is no longer necessary as vterm handles this natively. moreover, it
creates a redundant nested ssh session whenever `SPC o t` is used to
re-open an existing vterm popup.
2022-01-30 02:41:02 +01:00
Tony
61cee32d04 docs(eshell): fix +eshell/here docstring 2022-01-27 03:32:10 +01:00
Sage Raflik
58192633aa docs(vterm): update nixos install instructions
Some time late 2019 emacsPackagesNgGen was removed from NixOS. This
commit updates the instructions in the vterm readme to use the modern
alternative: emacsPackagesFor.
2022-01-27 03:28:22 +01:00
Colin Woodbury
024df7ad8b bump: :term vterm
akermu/emacs-libvterm@ed6e867cfa -> akermu/emacs-libvterm@a940dd2ee8
2022-01-03 18:06:43 +01:00
Henrik Lissner
1a6a1eb399 bump: :term
akermu/emacs-libvterm@2681120b77 -> akermu/emacs-libvterm@ed6e867cfa
xuchunyang/eshell-did-you-mean@7cb6ef8e22 -> xuchunyang/eshell-did-you-mean@80cd8c4b18
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
a226655486 docs(:term): update READMEs to new format 2021-11-21 20:04:28 +01:00
Henrik Lissner
df62fcba26 docs: add category readmes 2021-11-21 20:04:28 +01:00
Benjamin Levy
012b97fafb
tweak(eshell): bind C-l to clear-scrollback
Make C-l have the same behavior as the clear alias by clearing the
scrollback.
2021-11-21 19:05:18 +01:00
jwillhite
e0e031ad08
feat(eshell): add vertico completion for eshell history (#5614) 2021-10-18 01:35:44 +02:00
Henrik Lissner
46ba5826cd fix(eshell,shell): display buffer post-init
By displaying them pre-init:

a) eshell will not have loaded, ensuring any user-popup rules in
   an (after! eshell ...) block don't load in time for the first eshell
   popup,
b) Popup predicate functions don't have access to the full state of the
   buffer, if needed.
2021-10-10 21:16:52 +02:00
Itai Y. Efrat
7933e54542 refactor!(:term): toggle commands now always hide
BREAKING CHANGE: previously, <leader> o t commands would only hide the
terminal popup if it was focused. If not, they would move the focus to
the terminal window. This is unintuitive to the "toggle" description,
and arguably less useful, since refocusing to the terminal can be easily
done with regular window refocus commands. Therefore, <leader> o t now
just hides the terminal popup.

Fix #3374
2021-09-23 11:39:36 +02:00
Henrik Lissner
2bc67d8387 bump: :app :checkers :config :emacs :term :tools :ui
Alexander-Miller/treemacs@a6f9e9f1ce -> Alexander-Miller/treemacs@63e2bc207a
Silex/docker.el@9bcefbe54d -> Silex/docker.el@4fc69969b1
akermu/emacs-libvterm@2b1392cb2b -> akermu/emacs-libvterm@2681120b77
bdarcus/bibtex-actions@6e3a194c3a -> bdarcus/bibtex-actions@08c6ca0e5b
dash-docs-el/dash-docs@dafc8fc9f1 -> dash-docs-el/dash-docs@29848b6b34
dgutov/diff-hl@992559f98a -> dgutov/diff-hl@40c89a7b0d
dimitri/switch-window@2801d9b3a9 -> dimitri/switch-window@8d9fe251d8
editorconfig/editorconfig-emacs@e10fa22b13 -> editorconfig/editorconfig-emacs@2ab86dc9a8
ema2159/centaur-tabs@9c7c936e4e -> ema2159/centaur-tabs@8b4249c405
emacs-circe/circe@d6f1fa1864 -> emacs-circe/circe@77e16de3b9
emacs-lsp/lsp-treemacs@905cc74726 -> emacs-lsp/lsp-treemacs@d82df44d63
emacsorphanage/osx-trash@0f1dc052d0 -> emacsorphanage/osx-trash@af74a2055a
emacsorphanage/quickrun@35e91f4b6c -> emacsorphanage/quickrun@78317951cd
flycheck/flycheck@21d52264aa -> flycheck/flycheck@784f184cdd
hlissner/emacs-doom-themes@9e2680b918 -> hlissner/emacs-doom-themes@65fb964f36
https://git.savannah.gnu.org/git/emms.git@6e0aaaf4c559 -> https://git.savannah.gnu.org/git/emms.git@c42fab572846
ideasman42/emacs-spell-fu@1abcb5594e -> ideasman42/emacs-spell-fu@10823ae58f
ideasman42/emacs-undo-fu@e0ad06b5ef -> ideasman42/emacs-undo-fu@34b27c01da
joostkremers/writeroom-mode@b648b34017 -> joostkremers/writeroom-mode@7f4ec92404
kidd/org-gcal.el@4c2616a4f8 -> kidd/org-gcal.el@80e6f9501f
magnars/expand-region.el@4b8322774d -> magnars/expand-region.el@95a773bd8f
millejoh/emacs-ipython-notebook@09af85821e -> millejoh/emacs-ipython-notebook@0600c286bd
mohkale/consult-eglot@a6aeb6fa07 -> mohkale/consult-eglot@28a09cc839
noctuid/link-hint.el@09ba5727d8 -> noctuid/link-hint.el@d3c5bacc9c
rolandwalker/nav-flash@55786c9582 -> rolandwalker/nav-flash@2e31f32085
skeeto/elfeed@243add9e74 -> skeeto/elfeed@162d7d545e
szermatt/emacs-bash-completion@65e54c6f9c -> szermatt/emacs-bash-completion@c5eaeed156
tarsius/hl-todo@5ac0076cfe -> tarsius/hl-todo@42f744ffb5
tecosaur/emacs-everywhere@64ba2e3f30 -> tecosaur/emacs-everywhere@da88fa2d04
tkf/emacs-request@f3a5b4352e -> tkf/emacs-request@2b68b3ca54
tmalsburg/helm-bibtex@a0d32ab167 -> tmalsburg/helm-bibtex@b85662081d
yoshiki/yaml-mode@3a57058468 -> yoshiki/yaml-mode@63b637f846
yqrashawn/fd-dired@c223aee30a -> yqrashawn/fd-dired@458464771b
2021-09-15 17:47:17 +02:00
Henrik Lissner
4fbb9487ad
Merge pull request #5159 from Zetagon/develop
Remove dependence on company for fish and bash completion in eshell
2021-07-08 18:09:54 -04:00
Henrik Lissner
2d2246d7ca term/eshell: alias ff = find-file-other-window
The old alias was redundant with "f"
2021-07-06 02:32:38 -04:00
Leo Okawa Ericson
db83e94bad Remove dependence on company for fish and bash completion
Bash and fish completion work without company, e.g. when the user uses
the minibuffer for completion.
2021-06-09 10:27:01 +02:00
Henrik Lissner
3d19fab59c Don't build vterm-module in noninteractive sessions
Fixes 'doom compile' when :term vterm is enabled.

Mentioned in #5086
2021-05-24 13:54:13 -04:00
Henrik Lissner
8841011a95 Return buffer on +vterm/{here,toggle} commands 2021-05-24 13:53:51 -04:00