Commit graph

928 commits

Author SHA1 Message Date
Henrik Lissner
31ccd9be78
Replace vestigial references to def-package!
def-package! is deprecated and is replaced with use-package! to reduce
confusion about its purpose and connection to use-package.
2019-09-13 22:00:34 -04:00
Henrik Lissner
1c05773c39
General, minor refactors & comment revision 2019-09-11 23:41:08 -04:00
Henrik Lissner
d866ee3738
ui/popup: conform function to naming conventions 2019-09-10 15:01:00 -04:00
Henrik Lissner
6f6e30c428
ui/popup: refactor org hacks
This removes a few popup advice functions that are no longer necessary
and changes how we handle org agenda windows (they're now displayed in
the current window, rather than a popup -- see org-agenda-window-setup
to change this).

Other issues addressed:

+ Fixes 'Attempt to delete main window of frame' errors when using
  org-todo from popups (particularly in daemon Emacs).
+ Removed the custom 'popup-window options for org-agenda-window-setup
  and org-src-window-setup, and change them to 'current-window and
  'other-window, respectively.
2019-09-10 14:54:13 -04:00
Henrik Lissner
43d80dcec6
Fix #1692 & stop org-todo from monopolizing frame
How org-todo manipulates the window config has changed upstream.
2019-09-09 14:25:23 -04:00
Henrik Lissner
7e36c5c2b3
ui/tabs: fix recursive load errors & update
An autoload was causing an autoload before their respective packages
could declare they had been loaded, leading to cyclical loading errors.
2019-09-05 13:43:49 -04:00
Henrik Lissner
059ede53b6
Update all unit tests
To meet changes introduced from the straight branch merge.
2019-09-03 00:59:46 -04:00
Henrik Lissner
713258ee31
ui/neotree: fix reference to renamed function 2019-09-02 19:17:15 -04:00
Uros Perisic
9589f6e372 Load hydra examples without using example hydras.
`+hydra/window-nav` uses functions from `hydra-examples.el` but the file
is never loaded. Adding this does not actually define any hydras (this
would require `hydra-examples-verbatim` to be `t`), it just load the
utility functions to make the hydras defined in doom work.
2019-08-30 13:58:08 +08:00
Henrik Lissner
9e122c6847
ui/workspaces: fix session restoration
Caused by an inverted buffer filter when saving the current session.
2019-08-28 12:41:00 -04:00
Henrik Lissner
96e2a7726d
ui/doom: remove 'append in doom-load-theme-hook 2019-08-28 00:40:50 -04:00
Henrik Lissner
8766499b0d
Fix some file permissions errors
Occurs when deferred packages are loaded while in an unreadable or
non-existent directory.
2019-08-27 00:05:12 -04:00
Henrik Lissner
6c734ab039
ui/doom-dashboard: use fancy-splash-image variable 2019-08-23 01:56:44 -04:00
Henrik Lissner
243d69bb6d
ui/workspaces: don't register filtered buffers
May indirectly address #1525
2019-08-22 14:45:40 -04:00
Henrik Lissner
9b1c49149c
New fix for #1525: 'selecting deleted buffer' error 2019-08-21 00:29:02 -04:00
Henrik Lissner
58fb9faf3a
ui/workspaces: use add-hook! for inline hook 2019-08-17 16:04:41 -04:00
Henrik Lissner
0cf669ab92
Fix fix for #1525
Original fix complained about void function setf persp-buffers.
2019-08-15 21:30:59 -04:00
Henrik Lissner
e32fd0c7e1
Fix #1525: selecting deleted buffer errors
...when killing Emacs or switching perspectives.
2019-08-15 21:14:21 -04:00
Henrik Lissner
85b36c4aec
ui/tabs: fix vestigial function references
And rename window paramater to tab-buffers
2019-08-15 15:53:47 -04:00
Henrik Lissner
702369e888
Move :ui tabbar to :ui tabs
And update its README.org
2019-08-11 02:05:09 -04:00
Gerry Agbobada
a15b8e314a Add Hasklig pretty-code configuration
Took the list of symbols from
https://github.com/minad/hasklig-mode/blob/master/hasklig-mode.el ,
only rudimentary testings has been done on this
2019-08-09 20:25:13 +02:00
Henrik Lissner
db1c1995fd
ui/workspaces: fix evil-window-delete remapping
Relevant to #1641
2019-08-08 23:58:41 -04:00
Henrik Lissner
2c481befc4
ui/tabbar: persist tabs across workspaces 2019-07-30 12:07:16 +02:00
Henrik Lissner
71d3eccec5
Fix missing dir separator in +doom-dashboard-banner-dir 2019-07-29 03:18:39 +02:00
Gerry Agbobada
6587d67caf
Use +pretty-code-iosevka-font-name on complete set
The ligatures are defined for the fontset `#Xe100 -> #Xe1cc` but the hook function did not use that complete space for the ligatures
2019-07-28 18:25:50 +02:00
Henrik Lissner
19ecf8e46a
Correct last inline hook defuns
See a3e262c7 for rationale
2019-07-28 16:10:53 +02:00
Henrik Lissner
04166d6562
ui/popup: larger WoMan popups, by default 2019-07-27 19:40:31 +02:00
Henrik Lissner
3313212f90
ui/workspaces: correct inline defun hooks
And add-to-list -> add-hook, because its a tiny bit faster (and fewer
characters).
2019-07-27 17:08:56 +02: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
b1b2eba984
ui/tabbar: set variables sooner
Giving the using a chance to customize them before centaur-tabs-mode is
activated.
2019-07-25 01:49:15 +02:00
Henrik Lissner
650e9049f0
Autoload hl-fill-column-mode
Because the package doesn't, for some reason.
2019-07-24 15:25:24 +02:00
Henrik Lissner
629249aa43
Enable git-gutter on find-file-hook and org-mode
And disable it in pdf-view-mode. Perhaps this is too comprehensive?
2019-07-23 20:43:35 +02:00
Henrik Lissner
fec53f7b1d
Fix git-gutter not updating when whole file is staged
But we don't want it triggering on git-gutter:*-hunk, because they do
their own refreshing work.
2019-07-23 18:18:43 +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
d7ed52f3c7
Add ui/hydra module
And conforms all existing hydras to the naming convention for
interactive commands, e.g.

  +vc-gutter-hydra -> +vc/gutter-hydra
2019-07-22 23:51:12 +02:00
Henrik Lissner
88813ff196
Minor reformatting across the board
Gotta

Look

Nice
2019-07-22 22:34:08 +02:00
Henrik Lissner
9d1e2c5bd9
Fix delq! use causing wrong-type-arg error w/ treemacs 2019-07-22 16:41:43 +02:00
Henrik Lissner
1c4215c187
Fix 'command not found' errors for hidden commands 2019-07-22 04:46:14 +02:00
Henrik Lissner
5e0177d667
ui/workspaces: conform to new hook/advice conventions 2019-07-22 02:37:47 +02:00
Henrik Lissner
448ec65997
ui/fill-column: move init code into autoload. 2019-07-22 02:37:46 +02:00
Henrik Lissner
256284f5c0
ui/hl-todo: add HACK, REVIEW & DEPRECATED keywords
And include following colon, if any.
2019-07-22 02:37:46 +02:00
Henrik Lissner
7058facf9d
ui/vc-gutter: disable git-gutter in some modes
Disabling git-gutter in fundamental-mode theoretically reduces the
number of times git-gutter is initialized (because it has to switch to
and from fundamental-mode once, sometimes twice, when changing major
modes).

git-gutter also has trouble with org-indent-mode, so we disable it
there.

And it isn't useful in image-mode.
2019-07-22 02:30:41 +02:00
Henrik Lissner
b01606e99b
ui/vc-gutter: fix gutter not updating after stage
When using git-gutter:stage-hunk, the gutter would be updated just
before its state is changed, creating a stale diff.
2019-07-22 02:30:41 +02:00
Henrik Lissner
ee10b3b0d9
core-lib: add doom-{glob,path,dir}, replace {file,dir}!
- file! replaces FILE!
- dir! replaces DIR!
- doom-{glob,path,dir} have the power to construct paths out of the
  segment pieces provided to it.
- Move doom-files-in to core-lib and refactor to use the above.
2019-07-22 02:30:39 +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