Commit graph

4719 commits

Author SHA1 Message Date
Henrik Lissner
f471ef3fff
Merge pull request #694 from MaskRay/tmux
tmux: string-split -> split-string
2018-06-18 23:50:56 +02:00
Henrik Lissner
615735a404
Add exato (x/html attribute text objects for evil)
Bound to x
2018-06-18 23:46:14 +02:00
Henrik Lissner
7f79eb4579
Major redesign of emacs/eshell
+ :sh can now be fed commands to run immediately, e.g. :sh cd %:P to
  start from the current project root.
+ Eshell will spawn a new eshell on every split. This can be controlled
  via `+eshell-enable-new-shell-on-split'
+ Eshell can be configured to kill the window when you kill the eshell
  process. This is disabled by default. See
  `+eshell-kill-window-on-exit'. Some commands ignore this, like the
  quit-and-close command (I alias this to "q").
+ eshell-directory-name has been moved to doom-etc-dir/eshell. It will
  seem like eshell has forgotten all your history, but you can move
  ~/.eshell (or ~/.doom.d/eshell) to ~/.emacs.d/.local/etc/eshell and
  you'll be fine.
+ eshell-aliases-file has been moved to ~/.doom.d/eshell_aliases by
  default.
+ Automatic writing to eshell-aliases-file has been disabled. No shell
  so aggressively persists aliases. You may maintain it yourself, or use
  the new +eshell-aliases variable to customize eshell from Doom.
+ C-s now invokes a history search with ivy/helm.
+ C-c s and C-c v split horizontally and vertically. Inspired by tmux.
+ C-c x kill the current eshell and its window. Inspired by tmux.j
+ New set-eshell-alias! autodef for defining your own aliases.
+ +eshell/open-workspace has been replaced with +eshell/open-fullscreen.
+ Added the "cd-to-project" command. I suggest you alias it.
2018-06-18 22:31:27 +02:00
Henrik Lissner
15921306ce
Optimize :tools rotate-text
No need for its config.el file!
2018-06-18 17:32:44 +02:00
Henrik Lissner
4685eddb66
Don't eat stacks in backtraces in debug mode
The error handlers were a little too effective. They obscured a large
chunk of the stacktrace after errors, even in debug mode. This fixes
that and ensures backtraces in debug mode are more helpful.
2018-06-18 17:14:17 +02:00
Henrik Lissner
ca2c8b5a45
Minor refactor, across the board
Do you see the board? Now look at the other side. That's how far this
refactor extends.

Yes.
2018-06-18 15:02:24 +02:00
Henrik Lissner
c8aba6f552
Open eshell in project root by default
If passed the universal arg (SPC u SPC o e) or (C-u M-x +eshell/open),
it will open in the current directory.
2018-06-18 14:42:42 +02:00
Henrik Lissner
1c4f785df1
Bind C-s to *-minibuffer-history in evil-ex
Thanks to #fuxialexander
2018-06-18 11:29:08 +02:00
Fangrui Song
51f2ea2932 tmux: string-split -> split-string 2018-06-17 18:57:02 -07:00
Henrik Lissner
6808c46b58
💥 Change set-popup-rule! usage
Now accepts a flat plist of all its former parameters, including new
:parameters and :actions properties to increase your control over the
fate of your windows.

The old usage of set-popup-rule! is deprecated and may not work right!

The :ui popup module has also seen a major refactor to improve
efficiency and load times.

Sorry! This is the last "big" change before 2.1!
2018-06-18 02:34:16 +02:00
Henrik Lissner
3ac7ec5120
Bind C-s to minibuffer-history search in helm/ivy 2018-06-17 22:21:32 +02:00
Henrik Lissner
97b42c449b
Allow set-company-backend! to unset backends
Passing nil as its second argument will unset previously set backends.
2018-06-17 21:40:32 +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
Henrik Lissner
01d4223f18
Fix prettify-symbols not unprettifying at point
defvar wasn't being set soon enough.
2018-06-17 18:25:13 +02:00
Henrik Lissner
6b73f408aa
Remove prettify-utils dependency 2018-06-17 18:25:08 +02:00
Henrik Lissner
6490c4b922
Prevent unsafe file variable prompts on help links 2018-06-17 17:26:15 +02:00
Henrik Lissner
ce86fa0557
helm-swoop: always split below current window 2018-06-17 17:19:33 +02:00
Henrik Lissner
09369593a7
M-f = swiper or helm-swoop 2018-06-17 16:46:51 +02:00
Henrik Lissner
19f1c70144
Refactor company keybinds
Also merge evil-collection-company into Doom.

Two new features to note: C-S-s will invoke your completion engine for
the remaining results.
2018-06-17 16:43:10 +02:00
Henrik Lissner
e973acad6f
Defer projectile config in org
Now that projectile is lazy loaded.
2018-06-17 14:52:07 +02:00
Henrik Lissner
233a1f6469
evil-magit-use-z-for-folds = t
And remove old meta key fold commands. Stashing commands are available
through Z, instead.
2018-06-17 14:50:58 +02:00
Henrik Lissner
1866bb75f0
Gate rtags packages behind +rtags module flag #693 2018-06-17 14:45:07 +02:00
Julien Wintz
d0e4e0801f
Setup solaie mode for doom themes. 2018-06-17 14:22:29 +02:00
Julien Wintz
97f7406469
Use :modes instead of :in. 2018-06-17 14:22:29 +02:00
Henrik Lissner
51d49639f6
Change M-k/M-j keys to gk/gj in magit-rebase
Avoid meta keys where possible.
2018-06-17 14:22:29 +02:00
Henrik Lissner
0fd8e1dd6b
Restore +popup-ttl
Accidentally removed in a recent commit.

Fixes #692
2018-06-17 11:34:55 +02:00
Henrik Lissner
d822560b34
Fix void-variable after-focus-change-function error
This variable is introduced in the latest Emacs and the condition around
it was inverted.
2018-06-17 02:54:14 +02:00
Henrik Lissner
41bac99a5f
eshell: color prompt red if last command failed 2018-06-17 02:34:06 +02:00
Henrik Lissner
b731aeea8f
Bind q to kill-this-buffer in Man-mode 2018-06-17 02:25:12 +02:00
Henrik Lissner
17981d6a61
Conform hook names to conventions
Also minor reformatting & comment corrections.
2018-06-17 02:25:12 +02:00
Henrik Lissner
d31052d9db
Reformat popup library: move polyfills down 2018-06-17 02:21:46 +02:00
Henrik Lissner
a6116c6547
eshell: fix prompt face bleeding into command 2018-06-17 02:21:46 +02:00
Henrik Lissner
1eae57a0b4
Rename +popup-display-buffer
To +popup-display-buffer-stacked-side-window, to make it more obvious
what it actually does.
2018-06-17 02:21:46 +02:00
Henrik Lissner
c3988a8298
Give popups a small margin
To make up for lack of fringe.
2018-06-17 02:21:46 +02:00
Henrik Lissner
9b5a219373
Improve robustness of popup predicates & checks 2018-06-17 02:21:46 +02:00
Henrik Lissner
30c5f2fa26
set-pretty-symbols!: add :iosevka, :merge & :alist
MORE. POWER.
2018-06-17 02:21:46 +02:00
Henrik Lissner
fd949e7063
Make diff larger when committing via magit
The diff window contains more important information, so we shrink the
git commit window and enlargen the diff window.
2018-06-16 21:48:37 +02:00
Henrik Lissner
79413be1f0
Improve doom modeline focus hooks
More reliable deactivation when unfocusing or switching away from Emacs.
2018-06-16 21:41:39 +02:00
Henrik Lissner
e50b485948
All hail, our glorious byte compiler
Hush. Stop your complaining.
2018-06-16 21:19:57 +02:00
Henrik Lissner
5e23429309
Fix set-devdocs!
Was not applying to all MODES and was using incorrect variable (docsets
-> docset), causing a void-variable error.
2018-06-16 21:16:24 +02:00
Henrik Lissner
cc6809bcf8
Move windows with C-hjkl eshell's insert mode 2018-06-16 21:08:08 +02:00
Henrik Lissner
48c9936f8d
Fix eshell buffers omitted from workspace buffers
The mode was set before the window was displayed, which is where
persp-mode's check is.
2018-06-16 21:04:20 +02:00
Henrik Lissner
486019d853
Remove leading space in dashboard buffer's name
The leading space indicates a temporary buffer. The dashboard is no such
thing!
2018-06-16 21:01:16 +02:00
Henrik Lissner
08986d9101
Simplify dashboard initial buffer check
We only need to check if we're in the scratch buffer. doom-real-buffer-p
is overkill for that.

This also reduces file loads at startup for autoloaded functions added
to the doom-real-buffer-functions and doom-unreal-buffer-functions.
2018-06-16 21:00:37 +02:00
Henrik Lissner
8c64644450
setq->defvar (prettify-symbols-unprettify-at-point) 2018-06-16 20:57:51 +02:00
Henrik Lissner
ec8ae0bedc
Add :ui pretty-code & set-pretty-symbols! autodef
Along with defaults for C/C++, elm, elisp, js, typescript, web-mode, and
org-mode. Thanks to @ar1a for inspiration.
2018-06-16 19:32:25 +02:00
Henrik Lissner
b991af552c
A slightly more informative default eshell banner 2018-06-16 16:59:33 +02:00
Henrik Lissner
a4ccc2fc81
Use shrink-path on eshell PWD in default prompt
Makes longer paths easier to deal with.
2018-06-16 16:51:43 +02:00
Henrik Lissner
2addfebf8e
Refactor eshell-visual-commands (and add ncmpcpp) 2018-06-16 16:42:26 +02:00
Henrik Lissner
d9944bfc7f
Replace fringes in eshell buffers with a margin
I think it looks better this way. Especially if you use solaire-mode.
2018-06-16 16:40:08 +02:00