Commit Graph

8666 Commits

Author SHA1 Message Date
748b197676 Minor, general refactors 2019-03-08 04:25:45 -05:00
8f733c2ab5 Don't kill magit with ESC 2019-03-08 04:25:45 -05:00
1f23eecdc8 (Try to) homogenize TAB/RET/ESC keybinds
Map them to \t/^M/^[, rather than [tab], [return] and [escape].
2019-03-08 04:25:45 -05:00
b9a036a96c editor/fold: check outline-mode folds before hs
b/c hideshow fold checks produce more false positives.
2019-03-08 04:25:45 -05:00
90a10931f7 lang/emacs-lisp: new +emacs-lisp-outline-regexp var 2019-03-08 04:25:44 -05:00
a443d9ab07 Refactor doom-initialize-packages & package API
- Packages are initialized once, when package.el is first loaded, and
  must be updated manually via doom/reload-packages.
- Package->module association is now stored in the package's PLIST under
  :modules. This is an internal property and cannot be explicitly set
  through `package!'
- Add doom-package-list function
- Rename doom-get-packages to doom-find-packages
- Updated doom-find-packages' docstring
- Added the :core filter to doom-find-packages
- Simplified doom-initialize-packages
- doom/reload calls doom/reload-packages if necessary.
- Fix redundant properties in doom-packages
- Remove tracking of after!, def-package! and def-package-hook! blocks.
  Replaced with doom-package-list being able to see all packages, even
  in disabled modules.
- Add :built-in property to package! for dummy packages. This is
  important so that doom/describe-package can see built-in packages.
2019-03-08 04:25:44 -05:00
8bfa5a30fd Fix lookup commands not aborting on C-g/ESC #1226
When aborting a lookup handler with C-g/ESC, Doom was convinced that it
had failed legitimately, so tries the next. The expected behavior is
that it abort the entire lookup operation.
2019-03-08 02:37:34 -05:00
4055f667fb Defer doom|disable-whitespace-mode-in-childframes 2019-03-08 02:37:34 -05:00
8e32f0da18 Rethink theme/font initialization order
+ Don't use set-frame-font. Causes issues for daemon users and is
  slower.
+ Revice init function docstrings
+ Load fonts a little earlier than themes

May resolve an issue where fonts in daemon Emacs are too small on
startup.

Addresses #1223
2019-03-08 02:37:33 -05:00
917d89da87 Refactor module init hooks
Also adds doom-after-init-modules-hook for consistency, which is an
alias to after-init-hook until I decide if it's necessary for it to be
independent.
2019-03-08 02:37:33 -05:00
a4c0bc2738 Optimize general integration
Using general to bind leader keys was responsible for 40-50% of Doom's
startup time. This change reduces that significantly, but not entirely.
It may be better that the config/default module not use map!. It is a
convenient macro, but general is a huge bottleneck.
2019-03-08 02:37:33 -05:00
44de995ca5 config/default: change SPC h keymaps
SPC h now maps to help-map to reduce redundancy. Some adjustments and
additions were made to this map so all users (evil and vanilla) can
benefit from Doom's extra help commands.
2019-03-08 02:37:33 -05:00
a05b1877be Rewrite switch-{buffer,window} hooks
+ Add doom-switch-frame-hook
+ Replace doom-{enter,exit}-{buffer,window}-hook with
  doom-switch-{buffer,window}-hook
+ New switch-buffer hooks run on buffer-list-update-hook rather than
  in select-window advice.
+ Blank our buffer-list-update-hook in some places to reduce how many
  times it gets triggered.
2019-03-08 02:37:33 -05:00
8f2fb07948 Add advice-add! & advice-remove! helpers 2019-03-08 02:37:33 -05:00
fa26dc1269 Refactor lang/org 2019-03-08 02:37:33 -05:00
c0c4b897ea lang/python: refactor python mode-line indication 2019-03-08 02:37:32 -05:00
9b180fda97 Refactor doom-initialize & bootstrap in core.el 2019-03-08 02:37:32 -05:00
8c701ef7d4 Fix void-variable error from ediff config 2019-03-08 02:34:26 -05:00
31688c921d Refactor doom-get-outdated-packages
Partitions quelpa packages so there are 4 threads tops.
2019-03-08 02:34:26 -05:00
2d353b849c Change file-exists-p! to return file if it exists 2019-03-08 02:34:26 -05:00
d94aa9b57c Add xclip.el for tty clipboard support
Needs more testing
2019-03-08 02:34:26 -05:00
4fbf7a2687 Remove expand-region package
It was unused, and is redundant with evil's text object expansion keys.
2019-03-08 02:34:26 -05:00
0f0b0d720b Tidy up +ivy-buffer-preview functionality
Let-binding `ivy-use-virtual-buffers` is neater and more robust than the
previous solution using some copy-pasta.  Calling the unwind routine
will become important once counsel is patched to restore buffer-list.
2019-03-08 16:14:19 +10:00
a48417cf0d Only switch to dashboard when creating a new workspace 2019-03-08 12:56:06 +10:00
884957bdc6 Refactor format! macro
By removing the cl-flet call, we reduce the size of backtraces produced
during bin/doom commands by a whopping 80%. Noice.

Also renames doom-ansi-apply -> doom-color-apply
2019-03-07 18:26:44 -05:00
4d649333a6 Add keybind: SPC h C-k -> describe-key-briefly 2019-03-07 18:26:41 -05:00
4a1a359c21 Merge pull request #1221 from flatwhatson/ivy-switch-buffer
Improve +ivy/switch-workspace-buffer
2019-03-06 23:46:25 -05:00
ada5d45f9e Merge pull request #1222 from flatwhatson/fix-cc-constants
Fix cc fontification for constants with numbers
2019-03-06 23:38:36 -05:00
c7a29ca025 Add optional support for switch-buffer previews
When `+ivy-buffer-preview` is non-nil, our various switch-buffer
functions will preview the current candidate buffer, like how
`counsel-switch-buffer` works.

When `ivy-use-virtual-buffers` is non-nil, virtual buffers are *not*
previewed unless `+ivy-buffer-preview` is `'everything`.
2019-03-07 14:28:56 +10:00
be4bae4acf Fix cc fontification for constants with numbers 2019-03-07 01:35:22 +10:00
46f7e6c7e6 Improve +ivy/switch-workspace-buffer
Allow current buffer to be selected when switching other window, so you
can quickly get a second window to the current buffer.

Preselect the most recently selected buffer, so repeated C-x b RET will
switch between your two most recent buffers.
2019-03-07 01:18:37 +10:00
e497df4a28 Restore obsolete doom-(post-)?init hooks
These will be removed later.
2019-03-05 19:23:50 -05:00
bf940da52a Don't change projectile vars before it is loaded #1219 2019-03-05 19:16:08 -05:00
9d30b411c2 lang/org: bind dwim-at-point to RET instead #1218
[return] is treated as a different key (with higher precedence in GUI
Emacs), which means it overwrites RET behaviors bound elsewhere, like in
config/default or minor mode maps (like evil-multiedit's).
2019-03-05 18:37:50 -05:00
024e27b618 Add contingency plan for local-vars hooks
They don't run if enable-local-variables is set to nil.
2019-03-05 17:08:39 -05:00
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
35321e8b42 Fix conda python version detection in first buffer
Reported by @ztlevi
2019-03-05 02:30:14 -05:00
4f40e67e28 Better regexp escaping for ivy project search 2019-03-05 01:59:05 -05:00
c1beb39c5b Rename doom/describe-setters -> doom/describe-autodefs 2019-03-05 01:55:40 -05:00
cfa97470fc Add links to config files in describe-packages
Also dims packages that aren't installed.
2019-03-05 01:55:40 -05:00
cf5a398e0d doom-log: include doom-debug-mode test in result
Relevant to #1215
2019-03-05 00:19:51 -05:00
75b366285f lang/emacs-lisp: list package comments in imenu
Lines with ;; `package-name` will be considered package markers.
2019-03-05 00:11:57 -05:00
6a4682f3f1 Change doom/describe-module to browse module
Instead of opening its README.org, which may or may not exist.
2019-03-05 00:04:30 -05:00
f515bf5931 lang/python: fix conda/virtualenv modeline segment
Reported by @ztlevi
2019-03-04 20:48:52 -05:00
5bae67e299 lang/python: remove +pyvenv flag
The pyvenv package isn't going anywhere, it's just needed by
pipenv.el (which surprisingly doesn't declare it as a dependency).
2019-03-04 20:47:26 -05:00
fbcb4e6973 Minor refactor across the board 2019-03-04 20:47:26 -05:00
dd0d264a27 Refactor feature/evil
- Defer evil-escape a little longer
- Move advice to autoloads file

Gotta go fast.
2019-03-04 20:47:26 -05:00
f18e1c0ea1 Refactor switch {buffer,window} hooks 2019-03-04 20:47:26 -05:00
05303c0fdb 💥 Rethink core hook order & naming
- doom-post-init-hook was renamed doom-init-modules-hook
- doom-init-hook was renamed doom-before-init-modules-hook
- doom-init-modules-hook now runs before the user's config.el is run
- Moved doom-init-ui-hook to run later (on window-setup-hook rather than
  emacs-startup-hook).

Yield a modest improvement in startup times.
2019-03-04 20:47:26 -05:00
843b29a4b5 Add node_modules to projectile ignored dirs 2019-03-04 20:47:26 -05:00