Commit graph

127 commits

Author SHA1 Message Date
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
Henrik Lissner
7707aec28a
Remove doom group
Not really useful, and Doom doesn't encourage using the Emacs Customize
interface.
2018-02-18 03:04:58 -05:00
Henrik Lissner
bd6fb35007
ui/doom: turn-on-solaire-mode on org-capture-mode-hook 2018-02-07 01:36:16 -05:00
Henrik Lissner
91357a3e5d
💥 Replace core-popup with new feature/popup module
This is a breaking change! Update your :popup settings. Old ones will
throw errors!

Doom's new popup management system casts off its shackles (hur hur) and
replaces them with the monster that is `display-buffer-alist`, and
window parameters.

However, this is highly experimental! Expect edge cases.  Particularly
with org-mode and magit (or anything that does its own window
management).

Relevant to #261, #263, #325
2018-01-06 02:17:43 -05:00
Henrik Lissner
93f3f0ef38
ui/doom: update hooks, refactor & simplify
+ doom-init-ui-hook => doom-init-theme-hook
+ Remove specific mode hooks for solaire-mode (need to revisit this)
+ Preemptive removal of doom-popup-mode hook
+ Use function for hs-set-up-overlay instead of lambda
2018-01-04 16:14:59 -05:00
Henrik Lissner
0ff5966379
Refactor solaire-mode init (fix startup errors in #285) 2017-12-09 16:52:23 -05:00
Henrik Lissner
f8e8dbad8f
General minor refactor 2017-12-08 23:14:12 -05:00
Henrik Lissner
5a09d539ba
Breaking change: remove font and theme settings
I am removing settings for core configuration to reduce "magic" in Doom.
set! is meant for cross-configuring modules that may or may not be
enabled. There should be no such concern for configuring Doom core.

From now on, change your fonts with:

  (setq doom-font (font-spec :family "Fira Mono" :size 12)
        doom-variable-pitch-font (font-spec :family "Fira Sans")
        doom-unicode-font (font-spec :family "DejaVu Sans Mono")
        doom-big-font (font-spec :family "Fira Mono" :size 19))
2017-12-08 23:14:12 -05:00
Henrik Lissner
9d81bc5a8b
Major refactor: use-package-always-defer = nil & use :hook
Possibly breaking change: packages are no longer deferred by default.

Addresses #286
2017-12-08 23:14:11 -05:00
Henrik Lissner
323953db29
Remove default font (leave it to the user)
Addresses #164, #165, #205, #244
2017-11-05 19:54:44 +01:00
Henrik Lissner
42fec8494d
Rename doom/reload => doom/reload-load-path 2017-09-19 15:07:57 +02:00
Henrik Lissner
90048fc019
Temporarily disable doom-themes-visual-bell-config
It currently conflicts with swapping backgrounds with solaire-mode.
2017-09-03 21:59:13 +02:00
Henrik Lissner
ab5c87bae9
Add solaire-mode-swap-bg 2017-08-09 21:22:00 +02:00
Henrik Lissner
749553993d
Remove org-mode custom fontification
This has been merged into doom-themes.
2017-08-03 21:24:08 +02:00
Henrik Lissner
e6658b7d8e
General minor refactor 2017-07-19 00:25:05 +02:00