Commit Graph

5598 Commits

Author SHA1 Message Date
81ab3dbc5d Simplify and decouple init files
The two doom-gc-* variables in init.el couples the rest of the config to
these two files. The bulk of GC/file-handler optimization was moved into
core.el and simplified (all that idle-timer voodoo was overkill).

Also adds (setq frame-inhibit-implied-reize t) to early-init, which
speeds up startup a fair bit in some edge cases with larger fonts.

squash! Simplify and decouple init files
2019-07-22 02:30:38 +02:00
8147bc1aee 💥 lang/org: conform to new name conventions 2019-07-22 02:30:38 +02:00
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
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
c0530202a5 lang/org: restore attach entry in org-link-abbrev-alist 2019-07-20 11:40:03 +02:00
ba71d95066 emacs/vc: add git-timemachine-show-commit fix
See https://gitlab.com/pidu/git-timemachine/issues/77
2019-07-18 13:13:31 +02:00
345d09d393 lang/emacs-lisp: don't fontify function in quoted list 2019-07-18 13:13:31 +02:00
0625bf87d6 Add a nxml-mode file template 2019-07-18 03:41:47 +02:00
854d8ce00a Fix (null uniquify-buffer-name-style) errors from ivy
Errors out in Emacs 25.x
2019-07-17 16:14:38 +02:00
d88085068d ansible: fix upstream changing coding conventions
Pull request here: https://github.com/k1LoW/emacs-ansible/pull/31
2019-07-16 17:28:25 -07:00
d12e7b831f editor/snippets: load doom-snippets sooner
We want +snippets-dir to be first in yas-snippet-dirs. To ensure this,
doom-snippets should be loaded immediately before it is added to it, if
possible.
2019-07-14 22:47:15 +02:00
2ff762b397 Fix fd/rtags on debian/ubuntu
On debian/ubuntu, these executables have a different name:

- fd -> fdfind
- rc -> rtags-rc
- rdm -> rtags-rdm
2019-07-14 22:04:50 +02:00
62af55dad0 Move emacs-snippets -> doom-snippets
The repo was renamed upstream.
2019-07-14 17:05:48 +02:00
de85f67b7c lang/org: remove redundant attach: link abbreviation 2019-07-14 05:35:51 +02:00
43a82c7e92 non-evil users: C-c C-S-z = open repl in same window 2019-07-14 05:34:28 +02:00
6153af9594 lang/markdown: only warn if all compilers are unavailable
Rather than check each individual module.
2019-07-14 00:24:09 +02:00
0b28480a21 Remap xref-pop-marker-stack -> better-jumper
Better to have only one jumplist system.

Also remaps xref-find-* commands to +lookup commands earlier in the
startup process.
2019-07-13 15:47:19 +02:00
c54509f99c lang/rest: add basic imenu support 2019-07-13 13:00:26 +02:00
4ebd3fad7f Add :term shell module 2019-07-13 13:00:24 +02:00
b57dccf825 ui/tabbar: remove buffer-order function reference
centaur-tabs-adjust-buffer-order-function and
centaur-tabs-adjust-buffer-order were removed upstream
2019-07-13 12:03:13 +02:00
e81cdc0523 lang/org: prioritize checkboxes lower in dwim command
Otherwise, checkboxes take priority over links, clocks or tables.
2019-07-13 02:24:11 +02:00
05eb333a0c editor/snippets: expand on snippet commands & keybinds
- Introduces the +snippets/new (SPC s n) command for creating a new
  private snippet
- Introduces the +snippets/new-lias (SPC s N) command for creating a new
  private snippet alias, which will invoke another snippet (you will be
  prompted to select one). This will only work with the emacs-snippets
  library bundled with Doom Emacs, however, as it depends on its API.
- Introduces +snippets/edit (SPC s c) for modifying existing snippets.
  How this differs from yas-visit-snippet-file is it will copy the
  contents of built-in snippets into a buffer primed for your private
  snippets (in DOOMDIR/snippets), while yas-visit-snippet-file will
  simply open the originating snippet.
- Introduces the +snippets/find (SPC s ?),
  +snippets/find-for-current-mode (SPC s /) and
  +snippets/find-private (SPC s f) commands for, respectively, finding a
  snippet file among *all* directories in yas-snippet-dirs, finding a
  snippet for the current major mode (plus parents), and finding a
  snippet from among your private library. This opens built-in snippets
  in read-only mode, but you can press C-c C-e to open it in
  +snippets/edit.
2019-07-12 20:41:50 +02:00
f90c0b8040 Add <escape> to blacklisted evil-collection keys
evil-collection is overzealous about its role in aborting things. We
already have our own doom-escape mechanism.
2019-07-12 18:25:28 +02:00
92ca6762ac ui/tabbar: rewrite to use centaur-tabs
Plus some modifications to make tabs truly window-local, like they are
in any tabbed modern editor.
2019-07-12 17:40:48 +02:00
fddef812ec tools/editorconfig: refactor how we ignore lisp modes 2019-07-12 16:47:49 +02:00
18758c3926 Fix +evil/easymotion for certain keys 2019-07-12 16:24:01 +02:00
157cb5287e lang/org: enable latex export backend by default #1560
ox.el doesn't eager-load these packages anyway.
2019-07-12 15:42:26 +02:00
0a7173b7f8 Auto-pair ( in lisps if cursor is before another ( 2019-07-12 15:05:08 +02:00
8158cb1402 lang/rust: rustic-format-on-save = nil by default
Use :editor format instead.
2019-07-12 01:14:16 +02:00
feb9799f23 Add f surround key to other lisp modes
This already existed for elisp, but is now available to lisp-mode (CL),
clojure and racket.
2019-07-12 01:08:41 +02:00
403c2e1b5d Add < surround key
ysiw<testRET will transform

  String

To

  test<String>

In C-style major modes that use angle bracket generics/templates (e.g.
C++, rust, C#, java, swift, and typescript).
2019-07-12 01:07:23 +02:00
fb16afb4f2 ivy-prescient-retain-classic-highlighting = t
Because prescient's highlighting turns any assumptions themes make
about ivy's faces on their head, making them look odd.
2019-07-11 17:23:20 +02:00
dbcd2f7624 Move treemacs-last-error-persist-file out of ~/.emacs.d
Git off my lawn.
2019-07-11 17:22:27 +02:00
c627972d20 Add set-indent-width & toggle-indent-style commands
And SPC t I keybind

Also sorts keybinds under the SPC t prefix
2019-07-11 17:22:01 +02:00
d2b694ed53 lang/scala: fix REPL command for non-project files
run-scala errors out if you're not in a valid project.
2019-07-11 01:24:28 +02:00
aeb5cca727 Fix ob-ipython popup rule affecting python REPL 2019-07-11 01:23:34 +02:00
5c09772219 lang/rust: fix rustic load order
Since both the rust-mode and rustic packages aggressively fight for
precedence in auto-mode-alist, rustic *must* be loaded after rust-mode,
so we switch from rust-mode to rustic-mode if it's available. This only
needs to happen once.
2019-07-11 01:09:30 +02:00
da0b11d0f5 Fix ob-ipython popup rule
:transient property was removed long ago.
2019-07-10 22:26:40 +02:00
30e14d7681 Use python lexer when exporting ipython blocks 2019-07-10 22:26:03 +02:00
afdec75cbc lang/org: refactor ob-ipython advice 2019-07-10 21:50:54 +02:00
a201409fdd Minor refactors across the board 2019-07-10 21:27:12 +02:00
eb7d4bf0e8 lang/org: lazyload babel src highlighters packages
E.g. ob-*.el, if any
2019-07-10 19:30:56 +02:00
2c140496e8 tools/magit: popup transient below magit window
And tell popup manager to ignore transient popups.

Should affect #1539
2019-07-10 19:29:45 +02:00
eee147f6f3 lang/org: fix ipython unfontified src blocks #1553 2019-07-10 19:00:41 +02:00
9d8dc93515 Fix evil-collection-term triggering on multi-term #1554
Since multi-term loads term, this is redundant, and ends up overwriting
users' after! term or after! multi-term blocks.
2019-07-10 18:07:28 +02:00
394d13179f Fix Org tags popup hack
Causing Org tags output to be written to the source buffer.
2019-07-10 17:28:20 +02:00
23f7b12f6c Update flags in modules/README.org 2019-07-10 17:18:03 +02:00
14b1e36812 ui/popup: fix *Org tags* popups
- So the mode-line doesn't "hide" the last line of the popup
- So org doesn't delete all other windows when displaying the *Org tags*
  popup
- Minor corrections to comments in ui/popup/+hacks.el
2019-07-10 12:41:51 +02:00
e8c0ac9f30 Switch to insert mode after expanding snippets 2019-07-10 12:08:39 +02:00
5c7c62ad22 lang/scala: move lsp! to local-vars hook
Start lsp as late as possible so users have more time to inject
file/dir-local vars or customization hooks before it is started.
2019-07-10 11:33:46 +02:00