Commit Graph

583 Commits

Author SHA1 Message Date
Henrik Lissner
0f0fdbc00c
Add doom/{increase,decrease,reset}-font commands
Borrows the idea from zoom-frm (see #1389).
2019-05-12 21:56:52 -04:00
Henrik Lissner
ef4106dae8
Remove echo-keystrokes fix in isearch
It isn't necessary anymore.
2019-05-12 17:06:56 -04:00
Henrik Lissner
e088a21335
Fix theme not loading in daemon sessions #1397 2019-05-09 23:15:13 -04:00
Henrik Lissner
17e337a434
Remove reload-theme-on-new-display-device feature
The intention for this feature was to ensure the theme always looks as
expected even if you were to open a new frame on a different display
device (e.g. open a GUI frame, start the server, then open a tty frame
from it).

It turned out to be buggier than anticipated. The underlying issue is
that solaire-mode is fundamentally incompatible with tty Emacs.
Terminals uses will need to disable it, as there's no good way to
predict what kind of frames a user will open.

TL;DR Avoid opening a TTY frame from a GUI session. If you must, and you
see odd colors, disable solaire-mode.
2019-05-09 21:45:42 -04:00
Henrik Lissner
72e8178e42
show-trailing-whitespace = t
A sensible default.
2019-05-04 19:13:26 -04:00
Henrik Lissner
47f0f77d91
Fix #1384
Redundant with show-trailing-whitespace
2019-05-04 19:13:26 -04:00
Henrik Lissner
3bebf3ac9b
Extend switch-buffer hook coverage
To cover switch-to-{next,prev}-buffer commands, which are used in quite
a few places, but don't implicitly trigger switch-buffer hooks.

Also removes switch-{window,buffer,frame} logging. Adds too much noise,
which isn't very helpful.

Also fixes VC state not being refreshed when switching to stale buffers
in certain ways.
2019-05-02 23:10:09 -04:00
Henrik Lissner
4aa65aa019
Move avy, ace-link & ace-window out of core
They don't belong there, and ace-window is no longer a core dependency
anyhow.
2019-05-01 21:02:28 -04:00
Henrik Lissner
3a3017004c
Fix whitespace-style for non-default-indentation hl
And remove lines-tail. This is outside the purview of this hook.
2019-04-30 14:37:29 -04:00
Henrik Lissner
9735f034e1
General refactors & optimizations 2019-04-29 18:54:46 -04:00
Henrik Lissner
7c5fb8ed9c
Remove highlight-escape-sequences
Payoff < performance cost, and is too opinionated.
2019-04-29 18:17:23 -04:00
Henrik Lissner
77e4cc4d58
💥 Remove :feature category
:feature was a "catch-all" category. Many of its modules fit better in
other categories, so they've been moved:

- feature/debugger -> tools/debugger
- feature/evil -> editor/evil
- feature/eval -> tools/eval
- feature/lookup -> tools/lookup
- feature/snippets -> editor/snippets
- feature/file-templates -> editor/file-templates
- feature/workspaces -> ui/workspaces

More potential changes in the future:

- A new :term category for terminal emulation modules (eshell, term and
  vterm).
- A new :os category for modules dedicated to os-specific functionality.
  The :tools macos module would fit here, but so would modules for nixos
  and arch.
- A new :services category for web-service integration, like wakatime,
  twitter, elfeed, gist and pastebin services.
2019-04-24 18:16:04 -04:00
Henrik Lissner
337c16cb68
Dear byte-compiler, you drive me to drink,
About Emacs Lisp that I have to rethink.
The world could end,
And humanity transcend,
But you'd still be here raising a stink.
2019-04-05 23:52:29 -04:00
Henrik Lissner
45c9fb982d
Add docstring to switch-{buffer,window,frame} hooks 2019-04-05 22:50:09 -04:00
Henrik Lissner
259590d54e
Remove doom|protect-visible-buffer
This behavior is now isolated to kill-this-buffer.
2019-03-16 23:59:50 -04:00
Henrik Lissner
bd6233518b
Fix doom|run-switch-window-hooks
Using the wrong variable.
2019-03-13 20:15:23 -04:00
Henrik Lissner
d868f5fd10
Use new ;;;###package cookie
This will later be used for doom/describe-packages to list all locations
where a package is being configured (along with def-package! and after!
blocks).
2019-03-13 01:55:50 -04:00
Henrik Lissner
fe28c40371
Fix void-variable frame error w/ whitespace-mode
Fixes #1242
2019-03-11 19:11:10 -04:00
Henrik Lissner
4055f667fb
Defer doom|disable-whitespace-mode-in-childframes 2019-03-08 02:37:34 -05:00
Henrik Lissner
8e32f0da18
Rethink theme/font initialization order
+ Don't use set-frame-font. Causes issues for daemon users and is
  slower.
+ Revice init function docstrings
+ Load fonts a little earlier than themes

May resolve an issue where fonts in daemon Emacs are too small on
startup.

Addresses #1223
2019-03-08 02:37:33 -05:00
Henrik Lissner
a05b1877be
Rewrite switch-{buffer,window} hooks
+ Add doom-switch-frame-hook
+ Replace doom-{enter,exit}-{buffer,window}-hook with
  doom-switch-{buffer,window}-hook
+ New switch-buffer hooks run on buffer-list-update-hook rather than
  in select-window advice.
+ Blank our buffer-list-update-hook in some places to reduce how many
  times it gets triggered.
2019-03-08 02:37:33 -05:00
Henrik Lissner
8c701ef7d4
Fix void-variable error from ediff config 2019-03-08 02:34:26 -05:00
Henrik Lissner
1ec9f5b2e9
Move hl-line-range-function fix to ui/doom
Remapping the hl-line face is what causes the bug that this fix
addresses.
2019-03-05 03:01:59 -05:00
Henrik Lissner
fbcb4e6973
Minor refactor across the board 2019-03-04 20:47:26 -05:00
Henrik Lissner
f18e1c0ea1
Refactor switch {buffer,window} hooks 2019-03-04 20:47:26 -05:00
Henrik Lissner
05303c0fdb
💥 Rethink core hook order & naming
- doom-post-init-hook was renamed doom-init-modules-hook
- doom-init-hook was renamed doom-before-init-modules-hook
- doom-init-modules-hook now runs before the user's config.el is run
- Moved doom-init-ui-hook to run later (on window-setup-hook rather than
  emacs-startup-hook).

Yield a modest improvement in startup times.
2019-03-04 20:47:26 -05:00
Henrik Lissner
d46bb287ae
General refactor of Doom core
- Code reduction and refactor across the board (cull unneeded minor
  advise, hooks and hacks or update them)
- Revise outdated comments and docstrings
- Reorganize core autoload libraries
- Remove large file check (Emacs already has a built-in one, which we
  augment to be even more performant when it does kick in)
- helpful.el can now be disabled completely through package!
2019-03-02 01:34:19 -05:00
Henrik Lissner
21e01189b9
Properly keep cursor out of minibuffer prompt
The prompt in the minibuffer is read-only. You are able to move the
cursor into it before this fix.

This also more effectively silences echo-area output when deleting text
in the minibuffer. No more "Text is read-only" blocking what you're
typing.
2019-03-02 01:34:14 -05:00
Henrik Lissner
15dd5870ea
Fix uniquify+persp-mode compatibility
Uniquify would rename buffers across workspaces, causing "sticky"
buffers when switch between workspaces with buffers that have the same
base name.
2019-02-26 12:19:35 -05:00
Henrik Lissner
6f32ac371b
Highlight non-standard whitespace in file buffers
Prevents whitespace-mode from being enabled in special buffers (like
circe).
2019-02-20 01:28:19 -05:00
Henrik Lissner
c82faf7f10
General reformatting & minor refactors 2019-02-19 15:53:26 -05:00
Henrik Lissner
cee851f55b
Only activate whitespace-mode in editable buffers
Otherwise whitespace-mode will disrupt fontification in special buffers,
like helm and elfeed buffers.

Indirectly addresses #1179
2019-02-18 15:39:08 -05:00
Henrik Lissner
e0519098d9
(Almost) always highlight non-default indentation
The purpose of this is to highlight indentation characters that betray
your indent-tabs-mode setting. i.e. If you're using tab indentation,
highlight space indentation. If you're using spaces, highlight tab
characters.
2019-02-17 22:12:52 -05:00
Henrik Lissner
3dcd253f71
Remove emacs/ediff & move to core-ui 2019-02-17 21:54:26 -05:00
Henrik Lissner
81394cf733
Only prefer compiled theme on startup
...But not on doom/reload-theme or post-init load-theme calls.
2018-12-31 15:19:23 -05:00
André Silva
cf5d7e3ba8 fix highlight-non-default-indentation 2018-12-26 11:54:18 +00:00
Henrik Lissner
3dd34abe61
Remove hide-undefined-binds advice for which-key
Before general.el was introduced to Doom, commands were bound to keys
whether or not their containing modules were enabled. This was out of
laziness and readability. I intend to change this, as such it is no
longer necessary to hide unavailable keybinds from which-key.
2018-12-22 04:25:15 -05:00
Henrik Lissner
56d7f70b2f
Make all-the-icons return empty string in tty #941 2018-10-16 23:50:46 -04:00
Edwin Török
7795da4800 Fix doom-serif-font and doom-variable-pitch-font: they need to be set for current frame too
On Emacs 26.1 these two font settings had no effect on the main frame.

Signed-off-by: Edwin Török <edwin@etorok.net>
2018-10-03 23:03:11 +01:00
Henrik Lissner
6368ef9ba0
Add docstrings to fix hooks 2018-10-01 20:29:43 -04:00
Henrik Lissner
6da307d30e Refactor font initialization
+ Add doom-serif-font variable
+ Update docstrings of all doom-*font variables to mention that they all
  support font-specs, font objects, XFT strings and XLFD strings.
+ Set doom-font if the user hasn't, ensuring that other functions know
  what the current, default font is set to (fixes doom-big-font-mode not
  switching back to normal when disabled).
2018-09-28 21:13:27 -04:00
Henrik Lissner
ddaf1e5b67 Fix wrong-type-arg error on menu-bar-open
Due to malformed menu-bar-lines frame property. Same for tool-bar-lines
as well.
2018-09-28 21:13:27 -04:00
Henrik Lissner
078e3028a6 Minor, general comment revision 2018-09-28 21:02:59 -04:00
Henrik Lissner
e38b710f29 Update docstrings for theme & font variables 2018-09-20 14:31:47 -04:00
Henrik Lissner
9c4147bbbb
Merge pull request #891 from edwintorok/theme-elc
Load .elc even for themes
2018-09-20 09:15:19 -04:00
Henrik Lissner
9970fdac2c
Enable highlight-numbers-mode in conf-modes 2018-09-19 19:42:21 -04:00
Edwin Török
228204926d Load .elc even for themes
Even when an `.elc` is preset `load-theme` would attempt to load the `.el` first,
to give the opportunity to inspect the theme.
However we are loading themes automatically from (M)ELPA, and loading a
theme package is no more dangerous than loading a regular package.

So override the search order for themes and atttempt to load the `.elc`
first.
This improves startup time by ~25ms with the default theme.

Improved implementation by @hlissner.

Signed-off-by: Edwin Török <edwin@etorok.net>
2018-09-20 00:41:54 +01:00
Henrik Lissner
54e8577bf6
Simplify doom|init-fonts: add xft font support
custom-set-faces is somewhat overkill for this. It overwrites any user
customizations for the default & variable-pitch faces, and saves them to
custom-file, which may cause those settings to persist even when we
don't want them to.

This new solution is a little faster, is more respective of
customizations, and adds XFT font string support.

XFT font strings are a little more powerful. For example, the :antialias
font-spec property was unreliable, but now you can use:

  (setq doom-font "Fira Mono:pixelsize=12:antialias=off")
2018-09-18 22:48:21 -04:00
Henrik Lissner
0c39e73a1e Refactor/reformat core-ui
+ Move minibuffer fringe disabler to ui/doom
+ Disable blink-cursor-mode (too distracting, causes other issues e.g.
  #892)
2018-09-18 15:19:50 -04:00
Henrik Lissner
e71b26b1e8 core-ui: minor reformatting/refactor 2018-09-18 15:19:50 -04:00