Commit graph

141 commits

Author SHA1 Message Date
Henrik Lissner
c13b8df5df
Minor refactors & reformatting 2019-12-05 14:56:16 -05:00
Henrik Lissner
6bb597564b
ui/doom: swap bg for doom-tomorrow-day
Fix hlissner/emacs-doom-themes#362
2019-12-04 21:51:59 -05:00
Henrik Lissner
2326379d68
ui/doom: swap bg for doom-{snazzy,spacegrey,tomorrow-night} 2019-12-01 15:42:05 -05:00
Henrik Lissner
99cd52e70f
💥 Drop Emacs 25.x support
Emacs 26.1 is Doom's new minimum supported version

Closes #2026
2019-11-08 16:02:06 -05:00
Henrik Lissner
d297dc6934
Minor refactor & comment revision across the board 2019-10-03 23:33:59 -04:00
Akhil Wali
16007d44f3
Add doom-solarized-dark to +doom-solaire-themes 2019-10-01 10:52:46 +13:00
Henrik Lissner
e10cd8cf2e
Insult byte-compiler's mom
Yeah, that shut him up.
2019-09-20 23:10:53 -04:00
Henrik Lissner
96e2a7726d
ui/doom: remove 'append in doom-load-theme-hook 2019-08-28 00:40:50 -04:00
Henrik Lissner
a3e262c7ac
💥 Refactor add-hook! macro & change arg order
This update may potentially break your usage of add-hook! if you pass
the :local or :append properties to it. This is how they used to work:

  (add-hook! :append 'some-mode-hook #'do-something)

Thsoe properties must now follow the hooks, e.g.

  (add-hook! 'some-mode-hook :append #'do-something)

Other changes:
- Various add-hook calls have been renamed to add-hook! because I
  incorrectly assumed `defun` always returned its definition's symbol,
  when in fact, its return value is "undefined" (so sayeth the
  documentation). This should fix #1597.
- This update adds the ability to add multiple functions to hooks
  without a list:

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

- The indentation logic has been changed so that consecutive function
  symbols at indented at the same level as the first argument, but forms
  are indent like a defun.

    (add-hook! 'some-mode-hook
               #'do-something
               #'do-something-else)

    (add-hook! 'some-mode-hook
      (message "Hello"))
2019-07-26 20:17:29 +02:00
Henrik Lissner
82ae3a73f3
def-advice!->defadvice! & conform to new advice conventions
This commit does two things:

- Renames def-advice! to defadvice!, in the spirit of naming convenience
  macros after the function/macro they enhance or replace.
- Correct the names of advice functions to indicate visibility and
  intent. A public advice function like doom-set-jump-a is meant to be
  used elsewhere. A private one like +dired--cleanup-header-line-a
  shouldn't -- it likely won't work anywhere but the function(s) it was
  made to advise.
2019-07-23 17:24:56 +02:00
Henrik Lissner
76cacb5bfe
💥 Rename def-package! -> use-package!
Calling this pivotal macro "def-package!" has frequently been a source
of confusion. It is a thin wrapper around use-package, and it should be
obvious that it is so. For this reason, and to match the naming
convention used with other convenience macros/wrappers, it is now
use-package!.

Also changes def-package-hook! -> use-package-hook!

The old macros are now marked obsolete and will be removed when straight
integration is merged.
2019-07-23 12:50:45 +02:00
Henrik Lissner
20e2aa0b18
ui/doom: only load solaire-mode for supported themes 2019-07-23 02:06:35 +02:00
Henrik Lissner
99e23adec1
ui/doom: simplify solaire init 2019-07-22 02:30:38 +02:00
Henrik Lissner
8c41093fae
ui/doom: update doom-themes config for treemacs/neotree 2019-07-22 02:30:38 +02:00
Henrik Lissner
149b2617b0
💥 revise hook/var fns naming convention (2/2)
This is second of three big naming convention changes. In this commit,
we change the naming conventions for hook functions and variable
functions:

1. Replace the bar | to indicate a hook function with a -h suffix, e.g.

     doom|init-ui -> doom-init-ui-h
     doom|run-local-var-hooks -> doom-run-local-var-hooks-h

2. And add a -fn suffix for functions meant to be set on variables,
   e.g.

     (setq magit-display-buffer-function #'+magit-display-buffer-fn)

See ccf327f8 for the reasoning behind these changes.
2019-07-22 02:30:38 +02:00
Henrik Lissner
51d3b1b424
💥 revise advice naming convention (1/2)
This is first of three big naming convention updates that have been a
long time coming. With 2.1 on the horizon, all the breaking updates will
batched together in preparation for the long haul.

In this commit, we do away with the asterix to communicate that a
function is an advice function, and we replace it with the '-a' suffix.
e.g.

  doom*shut-up -> doom-shut-up-a
  doom*recenter -> doom-recenter-a
  +evil*static-reindent -> +evil--static-reindent-a

The rationale behind this change is:

1. Elisp's own formatting/indenting tools would occasionally struggle
   with | and * (particularly pp and cl-prettyprint). They have no
   problem with / and :, fortunately.
2. External syntax highlighters (like pygmentize, discord markdown or
   github markdown) struggle with it, sometimes refusing to highlight
   code beyond these symbols.
3. * and | are less expressive than - and -- in communicating the
   intended visibility, versatility and stability of a function.
4. It complicated the regexps we must use to search for them.
5. They were arbitrary and over-complicated to begin with, decided
   on haphazardly way back when Doom was simply "my private config".

Anyhow, like how predicate functions have the -p suffix, we'll adopt the
-a suffix for advice functions, -h for hook functions and -fn for
variable functions.

Other noteable changes:
- Replaces advice-{add,remove}! macro with new def-advice!
  macro. The old pair weren't as useful. The new def-advice! saves on a
  lot of space.
- Removed "stage" assertions to make sure you were using the right
  macros in the right place. Turned out to not be necessary, we'll
  employ better checks later.
2019-07-22 02:27:45 +02:00
Henrik Lissner
9a02bd8ac8
Minor refactors across the board
- when-let* -> when-let
- Fix projectile-locate-dominating-file for connected remote files
2019-06-26 14:31:06 +02:00
Henrik Lissner
3240238a18
tools/vterm: improve UI/UX
- Don't prompt about processes when killing buffer
- Hide modeline in vterm buffers (doesn't do anything useful and would
  be consistent with settings for eshell and term modules).
- Refactor +vterm/open & +vterm/open-popup
- Add Emacs window redraw hack to force vterm to redraw, fixing
  artefacting in some edge cases.
- Fix ansi-color-names-vector when solaire-mode is present, otherwise
  you get a mismatched background in vterm (and other terms).
2019-05-17 01:58:42 -04:00
Henrik Lissner
949d5ab343
Defer added hooks until doom-themes is loaded
Fixes an issue where doom-themes-{org,neotree,treemacs}-config are
called before doom-themes is loaded (which may never happen if you
aren't using a doom-themes theme).
2019-03-17 23:19:55 -04: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
99f65cba79
Don't swap-bg for doom-molokai
The lighter background should be used for file-visiting buffers, and
darker for sidebars and such.
2019-03-04 04:57:07 -05:00
Henrik Lissner
9f1a0ee81e
ui/doom: remove mixed-pitch-mode compat hack
Made obsolete by changes upstream in solaire-mode.
2019-03-02 12:48:08 -05:00
Henrik Lissner
c033bfaca2
Fix mixed-pitch affecting all buffers
Both solaire-mode and mixed-pitch-mode use face-remap to do their thang.
We ensure the order by ensuring activation order.
2019-02-12 00:37:00 -05:00
Henrik Lissner
6992e27884
ui/doom: use solaire-global-mode #1070 2018-12-26 17:36:52 -05:00
Henrik Lissner
4e81605463 ui/doom: set load-theme hooks sooner
Allows users to remove them without after! blocks.
2018-10-16 02:49: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
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
Henrik Lissner
0cf9d1f2f2
Minor refactor & revision across the board 2018-08-31 02:53:50 +02:00
Henrik Lissner
e003c2aa6a
Remove :load-path
Accidentally snuck into a commit!
2018-08-22 22:44:22 +02:00
Henrik Lissner
417736ecf6
Move hideshow config from ui/doom->emacs/hideshow 2018-08-03 18:20:27 +02:00
Henrik Lissner
50a82e72f6
ui/doom: enable solaire-mode in doom-tomorrow-night 2018-08-03 16:35:42 +02:00
Henrik Lissner
35b76ee49b
Enable minimalistic icon theme for treemacs
Still experimental.
2018-07-10 23:05:01 +02:00
Henrik Lissner
f39d49c954
Conditionally enable custom neotree icon theme
If :ui neotree is disabled, disable the icon theme.
2018-07-03 12:29:27 +02:00
Henrik Lissner
9756a0a18c
Remove doom-themes-common reloading
No longer necessary with upcoming doom-themes update.
2018-07-03 03:41:08 +02:00
Henrik Lissner
60779c9aed
feature/version-control => ui/vc-gutter, emacs/vc
Reorganize vcs functionality. Moves the custom fringe bitmaps into :ui
vc-gutter.
2018-06-22 01:49:20 +02:00
Henrik Lissner
03022d09f9
Remove doom//x naming convention
This naming convention was meant to be for batch commands, but it grew
to include "commands that were helpful with managing Doom", but many of
these commands shouldn't be interactive in the first place!
2018-06-17 21:35:58 +02:00
Julien Wintz
d0e4e0801f
Setup solaie mode for doom themes. 2018-06-17 14:22:29 +02:00
Henrik Lissner
643ff13053
ui/doom: make solaire-mode a little pickier
Instead of only activating in buffers that a real (which is more
selective), simply activate in buffers that are file-visiting (this
means that real buffers that aren't highlighted can exist, particularly
term/eshell buffers).
2018-05-25 00:55:06 +02:00
Henrik Lissner
09cb4f6716
Major refactor & optimization of how modules load their packages
Now that we are loading package autoloads files (as part of the
generated doom-package-autoload-file when running make autoloads), many
:commands properties are redundant. In fact, many def-package! blocks
are redundant.

In some cases, we can do without a config.el file entirely, and can move
into the autoloads file or rely entirely on package autoloads.

Also, many settings have been moved in their module's autoloads files,
which makes them available ASAP; their use no longer depends on module
load order.

This gained me a modest ~10% boost in startup speed.
2018-05-25 00:46:16 +02:00
Henrik Lissner
0b8f884d18
ui/doom: simplify +doom-folded-face (now set in doom-themes) 2018-05-14 13:05:03 +02:00
Henrik Lissner
52cdb0bd83
Remove doom-fringe-size; set default fringe in :ui doom
There was no way to customize doom-fringe-size. Better to customize
fringes by using fringe-mode, {left,right}-fringe-width or
set-window-fringes directly.
2018-05-11 10:00:23 +02:00
Henrik Lissner
0afae2eacf
Remove fringe-helper package 2018-05-08 19:42:28 +02:00
Henrik Lissner
87aa05ffee
ui/doom: solaire-mode support for doom-nord-light 2018-05-03 18:03:13 +02:00
Henrik Lissner
f38cd94f33
ui/doom: improve solaire-mode theme integration
Now +doom-solaire-themes is an alist that informs Doom if the current
theme should be loaded with solaire-mode, and whether
solaire-mode-swap-bg should be used.
2018-03-28 06:49:54 -04:00
Henrik Lissner
174e0518a1
ui/doom: fix void-symbol error caused by misnamed advice function 2018-03-28 03:32:52 -04:00
Henrik Lissner
895b9d5484
ui/doom: +doom|reload-theme => +doom*reload 2018-03-22 23:27:31 -04:00
Henrik Lissner
0e5e586826
ui/doom: improve theme+solaire-mode init process
Solaire-mode will now auto-enable itself and swap the bg for themes
defined in `+doom-solaire-themes`.

Also, use doom-load-theme-hook now.
2018-03-22 19:28:53 -04:00
Henrik Lissner
b9da309d6b
ui/doom: fix solaire not resetting post-load-theme 2018-03-22 19:27:25 -04:00
Henrik Lissner
3f85c76a2c
ui/doom: use ':weight light' in +doom-folded-face 2018-03-18 03:36:36 -04:00
Henrik Lissner
f4a0311834
ui/doom: add solaire-mode-reset to focus-in-hook
Addresses an edge case where the fringes would forget their color.
2018-02-18 03:14:52 -05:00