Commit Graph

597 Commits

Author SHA1 Message Date
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
56d7f70b2f Make all-the-icons return empty string in tty #941 2018-10-16 23:50:46 -04:00
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
6368ef9ba0 Add docstrings to fix hooks 2018-10-01 20:29:43 -04:00
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
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
078e3028a6 Minor, general comment revision 2018-09-28 21:02:59 -04:00
e38b710f29 Update docstrings for theme & font variables 2018-09-20 14:31:47 -04:00
9c4147bbbb Merge pull request #891 from edwintorok/theme-elc
Load .elc even for themes
2018-09-20 09:15:19 -04:00
9970fdac2c Enable highlight-numbers-mode in conf-modes 2018-09-19 19:42:21 -04:00
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
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
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
e71b26b1e8 core-ui: minor reformatting/refactor 2018-09-18 15:19:50 -04:00
4067c8937e Remove doom-major-mode-names & doom|set-mode-name
And replace it with buffer-local mode-name setters. This is more
explicit and less magical, which is easier for users to discover and
change, if they'd like.
2018-09-18 15:19:50 -04:00
57579b883b Refactor doom core files 2018-09-09 09:58:20 -04:00
49e6e68a07 Use EMACS26+ to detect native line numbers
Checking for the 'display-line-numbers symbol property is clumsy and
checking for boundp is pointless now that we have a Emacs 25 polyfill
for display-line-numbers-mode.
2018-09-09 09:58:19 -04:00
7d3ffdff06 Remove third line in section headers
This is truly important stuff. We've saved many lives with this update.
2018-09-09 09:58:19 -04:00
a0250e60e3 Add rainbow-delimiters in lang/common-lisp instead
Gives users one place to look to determine what cosmetic hooks are
applied in lisp-mode.
2018-09-09 09:58:19 -04:00
8b7404bf75 Refactor hl-line eob fix in Emacs 26+ 2018-09-09 09:58:18 -04:00
475e2f9982 Fix unicode regression 2018-09-04 10:13:48 +02:00
939dd93e79 Impose fallback behaviour 2018-09-03 13:14:59 +02:00
3a23ff56cd General formatting & minor refactors 2018-09-02 17:20:19 +02:00
a581b7fc3f Remove jit-lock-* options
Only jit-lock-stealth-nice is different from the default, and slows down
some scrolling operations without helping much. It may be better to
conditionally enable this in larger buffer.
2018-09-02 15:56:45 +02:00
b3fb3ef55f Fix highlight-numbers in elixir-mode
The new highlight-numbers regexp depends on a mode to have a well
defined syntax table. elixir-mode does not appear to be one of those
modes.
2018-09-02 15:15:58 +02:00
32de22b1d2 Remove :load-path
Gah, it snuck in again! Sneaky punk...
2018-09-02 13:01:06 +02:00
83a843bfe6 Fix void-function doom|fix-whitespace-mode-in-childframes
Function was renamed.
2018-09-01 16:30:17 +02:00
44e536e8e8 Refactor core-ui
+ Remove doom/switch-theme (replaced with an advice for load-theme)
+ Reorganize core-ui
+ Fix Emacs 26+ hl-line hack being applied for Emacs 25 users
+ Rename doom|show-whitespace-maybe to doom|highlight-non-default-indentation
+ Disable tool-bar, menu-bar and vertical-scroll-bars via
  default-frame-alist; this is a little faster than using the minor
  modes.
2018-08-31 23:44:08 +02:00
2b560a6a0e General & minor refactoring 2018-08-28 13:36:44 +02:00
d8fa5f39ad Omit undefined/disable keybinds in which-key
This is for commands in disabled modules. This does not disable their
keybinds, but it stops them from showing up in which-key.
2018-08-26 16:38:35 +02:00
62977247c9 Revert da7f9019 & refactor doom init hooks 2018-08-21 04:27:14 +02:00
9a4cce8d9a Refactor detection of native display-line-numbers 2018-08-21 04:10:18 +02:00
a7da9a4738 💥 Rewrite line numbers system for Emacs 25
This removes the various doom-line-number* variables and replaces it
with the Emacs 26 display-line-numbers API, which I've ported to Emacs
25.x (however, it uses nlinum under the hood, and not all of
display-line-numbers options are supported).
2018-08-21 03:34:39 +02:00
4618b7afad Refactor & reformat core-ui 2018-08-21 02:56:54 +02:00
6b7f97f4fc Autoload doom-quit-p & revise its docstring 2018-08-20 23:56:56 +02:00
1d3a1ee82f highlight-numbers-mode -> highlight-numbers #813
Correct package name
2018-08-17 13:03:59 +02:00
4a4b012b5d Move custom hooks to core/core.el
Also ensures that the custom hooks aren't fired until as late as
possible, which prevents a few packages from prematurely loading at
startup. Faster startup! Yay!
2018-08-17 01:57:09 +02:00
6df179bb29 Use def-package! for highlight-numbers-mode
Easier for users to disable
2018-08-16 19:34:03 +02:00
ce9f03f310 Use personal fork of highlight-escape-sequences
Improves elisp support, adds support for more modes and fixes some minor
issues.
2018-08-16 15:17:07 +02:00
4c18fc81af Ensure switch hooks don't reference dead buffers 2018-08-13 21:47:56 +02:00
43e0314e86 Add doom/switch-theme; a more sensible load-theme
load-theme doesn't disable previously enabled themes before switching.
doom/switch-theme does.

This remaps any keys bound to load-theme to doom/switch-theme.
2018-08-11 01:59:37 +02:00
e05f3ec739 Add python & enh-ruby support to hes-mode 2018-08-06 00:31:23 +02:00
4dc5ef3879 Add highlight-escape-sequences 2018-08-06 00:31:23 +02:00
c2d5b64790 Fix broken frame creation/deletion (+ emacsclient)
Caused by a void-function error due to an incorrectly named function.
2018-07-30 13:53:36 +02:00
cb7e471c90 General reformatting & comment revision/cleanup 2018-07-29 19:31:33 +02:00
088480047c Polish & move new modeline into :ui modeline
Removes modeline library out of core-ui and contains them in :ui
doom-modeline and :ui modeline.

:ui modeline will eventually replace :ui doom-modeline, but is still
considered experimental. This update provides makes it much more stable
and closer to being feature complete.
2018-07-29 19:31:32 +02:00
a2ffbe4ede Add new emacs/hideshow module
Brings better default code folding support to various languages, like
yaml, ruby, matlab, haml and vimrc. Hideshow is still quite
unsophisticated and will need the help of another package for complete
code folding functionality. Perhaps origami or vimish fold.

The code-folding functional in the feature/evil module will soon be
replaced by that.
2018-07-29 17:41:59 +02:00
44bf6861a6 Fix overeager theme reloading when creating frames 2018-07-29 17:41:59 +02:00
c75b2a36ab Don't reload theme at startup if already enabled 2018-07-29 17:41:58 +02:00
593666933d Convert old def-modeline! from macro to function
This makes it easier to use dynamically, and ensures that
doom--prepare-modeline-segemnts isn't run prematurely (at macro
expansion time).
2018-07-29 17:41:58 +02:00