Commit Graph

9744 Commits

Author SHA1 Message Date
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
8aa7772e4e tools/lsp: prevent ~/.emacs.d/lsp-cache creation #1587
And prefix lsp folders with "lsp-".
2019-07-23 16:51:57 +02:00
6f56b9f9d4 Add autoload/themes.el library 2019-07-23 14:31:00 +02:00
83763414fb Improve docstring for def-advice! functions
Now lists linked functions that the advice was defined with.
2019-07-23 14:12:01 +02:00
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
c795a988e6 Conform many modules to new conventions 2019-07-23 12:30:47 +02:00
20e2aa0b18 ui/doom: only load solaire-mode for supported themes 2019-07-23 02:06:35 +02:00
7ac155f68d Fix company help replacing the current buffer
Instead of displaying in a popup.
2019-07-23 02:04:44 +02:00
7ebc9045f2 Fix reference to renamed variable targets 2019-07-23 01:27:20 +02:00
d59405b282 Minor comment revision & refactors 2019-07-23 00:30:45 +02:00
928596a200 Remove collab/{floobits,impatient-mode} modules
The state of peer programming in Emacs isn't great. The floobits module
is only one line of code and doesn't warrant its own module.
impatient-mode is a little more useful, but is too niche and not
exclusively for peer programming, so I'm not convinced it belongs in
this category. Since there are no other good options, I'm just getting
rid of the category altogether.
2019-07-23 00:17:27 +02:00
703b58f325 term/*: conform to new conventions 2019-07-23 00:07:14 +02:00
d5646d2b88 input/{japanese,chinese}: conform to new conventions 2019-07-23 00:01:59 +02:00
271920b42a tools/wakatime: conform to new conventions 2019-07-23 00:01:13 +02:00
38d06446ba tools/pdf: conform to new conventions 2019-07-23 00:00:08 +02:00
0ab14efce2 tools/prodigy: conform to new conventions 2019-07-22 23:59:25 +02:00
763262b2a3 tools/pass: conform to new conventions 2019-07-22 23:58:16 +02:00
d307de8297 tools/macos: conform to conventions 2019-07-22 23:54:43 +02:00
60acdcb962 lang/cc: conform to new conventions 2019-07-22 23:52:16 +02:00
8482f26d51 Move cc modes smartparen functions to config/default 2019-07-22 23:51:39 +02:00
6cda303ae6 tools/lookup: conform to new conventions 2019-07-22 23:51:13 +02:00
d106272574 Fix ]f/[f (next/previous file) motions 2019-07-22 23:51:12 +02:00
a264185f74 tools/gist: conform to new conventions 2019-07-22 23:51:12 +02:00
287e61a72c tools/flyspell: conform to new conventions 2019-07-22 23:51:12 +02:00
90f5128de2 tools/flycheck: conform to new conventions 2019-07-22 23:51:12 +02:00
7562d29d4b tools/eval: conform to new conventions 2019-07-22 23:51:12 +02:00
28aead72ef tools/editorconfig: conform to new conventions 2019-07-22 23:51:12 +02:00
8e09b8b7fe tools/debugger: conform to new advice conventions 2019-07-22 23:51:12 +02:00
8e096f7a23 tools/direnv: conform to new hook conventions 2019-07-22 23:51:12 +02:00
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
388267d256 Add --force/-f support to doom refresh 2019-07-22 23:22:55 +02:00
6200f5d876 Move file functions in core-lib to autoload/files 2019-07-22 23:22:55 +02:00
be2ade62d2 Add polyfill for Emacs 26+ alist-get 2019-07-22 23:22:54 +02:00
0eb200c49f Refactor package! macro 2019-07-22 23:22:54 +02:00
93f7520c79 Refactor Doom core init process (again)
- Eager-load all core autoloaded libraries if autoloads file isn't
  present.
- Renames functions to be more descriptive of their true purpose:
  - doom-initialize-autoloads -> doom-load-autoloads-file
  - doom-load-env-vars -> doom-load-envvars-file
- Use doom-module-p instead of featurep! for backend use (the latter is
  mainly syntax sugar for module use, and evaluates at compile/expansion
  time, which may cause hash-table-p errors early in the startup
  process).
- Reorder plist library to prevent load order race condition with the
  functions using the macros that haven't been defined yet.
2019-07-22 23:22:54 +02:00
23d111132a Update core-packages.el comments 2019-07-22 23:22:54 +02:00
afebdb35da Refactor autodef generator 2019-07-22 23:22:54 +02:00
a301330603 Fix doom update #1584
It would no-op if you responded "y" to the 'update them?' prompt, and
proceed if you responded "n".

Doom must be in its rebellious phase.

Also relevant: #1585
2019-07-22 23:22:38 +02:00
22404f1ec5 Fix "nil is not any command *I* know"
What good is sass if it isn't right?
2019-07-22 22:34:08 +02:00
88813ff196 Minor reformatting across the board
Gotta

Look

Nice
2019-07-22 22:34:08 +02:00
781783fe85 Refactor doom-module-from-path
Now returns (:core) or (:private) for files in doom-core-dir and
doom-private-dir, respectively, and will otherwise return the module for
the current file if called with no arguments.

Also fixes the case where it would disregard arguments and return
whatever the current value of doom--current-module.
2019-07-22 22:34:08 +02:00
457b542795 Fix void-variable next error
And change TARGETS to PACKAGE, which is a more descriptive name.

Mentioned in #374
2019-07-22 18:57:17 +02:00
d8dbb90931 Add core plist library 2019-07-22 18:04:50 +02:00
9d1e2c5bd9 Fix delq! use causing wrong-type-arg error w/ treemacs 2019-07-22 16:41:43 +02:00
0c678ee762 Refactor after! macro
The trouble with with-eval-after-load is it arranges for the body to be
byte-compiled, whereas eval-after-load does not. I won't go into how
they do that here, but it causes us some trouble:

Macro calls in with-eval-after-load are eagerly (immediately) expanded
at startup, whether or not the package or macro is available and
regardless of its execution path.

This sucks for Doom because, when expanded, autoloaded macros will be
loaded, along with whatever baggage they've got with them, and this
happens long before they're actually used. We also can't guarantee those
macros are available at startup, which will cause void-function errors
when the interpreter later treats them like an ordinary function call.

So, the simple fix is to pass a quoted body form to eval-after-load
instead of the closure that with-eval-after-load will wrap it in. This
means the body won't get byte-compiled if we compile our config, but in
exchange, macros stay lazy-loaded until they're finally needed!
Wonderful.
2019-07-22 14:49:25 +02:00
ffadd1307d Disable evil-collection-want-unimpaired-p
We have our own, better vim-unimpaired keybinds.
2019-07-22 13:31:56 +02:00
755835a207 Change ex command from :m[sg] to :messages
The former overwrote :m[ove].
2019-07-22 13:30:42 +02:00
4c70cfd102 Fix hash-table-p errors loading projectile
I was reading from a file without making sure it exists!
2019-07-22 06:28:32 +02:00
ffdb726ed8 Exclude gh.el from autoloads
See sigma/gh.el#95
2019-07-22 06:06:58 +02:00
6f878a38bd Fix incorrect path to init.example.el 2019-07-22 04:48:44 +02:00