Commit graph

494 commits

Author SHA1 Message Date
Henrik Lissner
4e908bd525
Minor refactor & correction 2018-01-29 17:39:08 -05:00
Henrik Lissner
84218386d8
feature/evil: open grep-mode buffers in normal mode #375 2018-01-28 22:30:37 -05:00
Henrik Lissner
0ae1f51db6
feature/popup: force close in +popup*close advice 2018-01-28 22:21:42 -05:00
Henrik Lissner
22f4404210
feature/workspace: improve daemon/frame compatibility
This update fixes issues with frame-local perspectives, and ensures that
a workspace is always selected in a daemon session's frames.
2018-01-28 20:32:10 -05:00
Henrik Lissner
38c0a85155
feature/workspaces: display tab line in minibuffer
This prevents the tabline from being mirrored across all frames.
2018-01-28 20:30:44 -05:00
Henrik Lissner
83b04b4f14
feature/workspace: associate emacsclient frames with workspace too 2018-01-28 18:26:32 -05:00
Henrik Lissner
3578d433c2
Integrate counsel-projectile-switch-project & restore file prompt when switching projects 2018-01-28 03:34:18 -05:00
Henrik Lissner
3c6a76eef2
feature/eval: :repl! = open repl in same window 2018-01-27 01:12:19 -05:00
Henrik Lissner
5dcd673651
feature/eval: refactor +eval/open-repl 2018-01-24 00:57:52 -05:00
Henrik Lissner
c5b72566ea
Remove help-fns+, add helpful plugin #363 2018-01-21 21:37:15 -05:00
Henrik Lissner
ad59665a3d
Merge pull request #359 from dsdshcym/fix-matchit-or-toggle-fold-in-magit-major-modes
feature/evil: fix +evil/matchit-or-toggle-fold in magit modes
2018-01-20 23:03:22 -05:00
Yiming Chen
abd3bc87fe feature/evil: use magit-section-toggle if mode is derived from magit-mode
- Closes #359
- See also https://github.com/hlissner/doom-emacs/pull/359#issuecomment-359220633
2018-01-21 11:53:21 +08:00
Henrik Lissner
f663123f5a
feature/lookup: properly report errors in +lookup/online 2018-01-20 21:44:18 -05:00
Henrik Lissner
1024cfa23c
feature/lookup: fix invalid search engine error in +lookup/online
Caused because map-put returns the full provider cons cell, rather than
just the provider.
2018-01-20 21:43:31 -05:00
Henrik Lissner
381a4416ed
feature/workspaces: major refactor & various fixes
+ Rewrite projectile integration.
+ Fix per-frame workspaces not cleaning up after itself when an
  frame-associated workspace (or its frame) is destroyed.
+ Alias +workspace-p to perspective-p instead of persp-p (which isn't as
  accurate, because it counts nil as a valid perspective).
+ Extract orphaned-buffer list functionality in +workspace-buffer-list
  into seperate function: +workspace-orphaned-buffer-list.
+ Allow toggle-debug-on-error to catch workspace errors.
+ Remove +workspace/kill-session-and-quit (never used)
+ Ensure persp-mode is loaded as late as possible.
2018-01-20 15:38:59 -05:00
Henrik Lissner
3ff85f6f37
feature/spellcheck: auto-check buffer on flycheck-mode 2018-01-16 01:55:06 -05:00
Yiming Chen
322e6afd55 feature/evil: fix +evil/matchit-or-toggle-fold in magit modes
- this function only worked in magit-status-mode but not other modes like
  magit-log-mode, magit-process-mode
2018-01-15 16:45:11 +08:00
Henrik Lissner
45c2221316
General update for docstrings and comments & minor refactor 2018-01-15 00:43:28 -05:00
Henrik Lissner
c166449f08
feature/popup: preserve size later in init process
So it can't be overwritten via ALIST.
2018-01-15 00:39:39 -05:00
Henrik Lissner
227e7b095d
feature/evil: refactor how evil-snipe + bindings are autoloaded 2018-01-15 00:08:28 -05:00
Henrik Lissner
eece13f2ca
Lazy-load evil-easymotion properly via keybinds #335
The package wasn't set up properly to autoload until evil-snipe did,
making its functionality inaccessible without an explicit (require
'evil-easymotion)
2018-01-15 00:07:51 -05:00
Henrik Lissner
10167b85b5
feature/workspaces: remove +workspace-change-hook
persp-mode provides the following hooks already (among many others):

+ persp-{before,after}-switch-functions
+ persp-renamed-functions
+ persp-created-functions
+ persp-before-kill-functions

This makes +workspace-change-hook redundant.
2018-01-14 16:21:22 -05:00
Henrik Lissner
ea97600507
feature/evil: refactor evil-embrace hooks #345 2018-01-14 13:40:20 -05:00
Henrik Lissner
1f454b56a4
feature/evil: ensure evil-embrace's hooks run sooner #345
evil-embrace's hooks would run too late (after evil-surround loads),
requiring you to reload affected buffers.
2018-01-13 15:30:06 -05:00
Henrik Lissner
b741d77e78
feature/syntax-checker: autoload pkg-info-version-info #356 2018-01-13 15:09:17 -05:00
Henrik Lissner
28ac52e4db
feature/popup: define window-sides-reversed #349 2018-01-12 19:13:01 -05:00
Henrik Lissner
8785664267
feature/popup: replace split-window-no-error calls #349
split-window-no-error is a Emacs 26+ function.
2018-01-12 15:09:10 -05:00
Henrik Lissner
98fbbc533f
feature/popup: improve emacs 25.x compatibility #349 2018-01-12 14:40:34 -05:00
Vikash Kathirvel
507ee07513 Fix race between eldoc and flycheck by delaying flycheck 2018-01-12 16:11:18 +05:30
Henrik Lissner
2967b404d8
feature/popup: don't let neotree reset its width
Causes it to shrink everytime the wconf changes.
2018-01-11 22:17:37 -05:00
Henrik Lissner
7f7dfb0959
feature/evil: more vim-esque save messages
Now when saving, you get a message like:

  "modules/feature/evil/config.el" 435L, 16678C written

Instead of

  Wrote /home/hlissner/work/conf/doom-emacs/modules/feature/evil/config.el

PEDANTRY INTENSIFIES
2018-01-11 13:23:07 -05:00
Henrik Lissner
ad06eacdac
feature/popup: general refactor
Adds +popup-origin-window, which contains the last non-popup you were in
before a popup was opened.
2018-01-11 01:09:16 -05:00
Henrik Lissner
bff48e5ed7
feature/popup: use new +popup-display-buffer #337
Adds support for `slot` and `vslot`, allowing for two dimensional
control over where popups may spawn. Highly experimental.

It's upsetting that I have to set `window--sides-inhibit-check`, I'd
like to find a way around that, if possible.
2018-01-11 01:05:24 -05:00
Henrik Lissner
991297b8e7
feature/popup: fix wrong-number-of-args error 2018-01-11 00:43:26 -05:00
Henrik Lissner
fa54eef776
Merge pull request #342 from dsdshcym/feature-evil-numbers-config
feature/evil: add mapping for evil-numbers
2018-01-10 22:57:28 -05:00
Yiming Chen
471c68fc8a feature/evil: move evil-numbers bindings to private/default/+bindings.el 2018-01-11 11:50:55 +08:00
Yiming Chen
c24889d75e feature/evil: add mapping for evil-numbers 2018-01-11 09:17:49 +08:00
Yiming Chen
ea55fcfd0f feature/popup: use delete-window in +popup*evil-command-window-execute
- +popup/close will pollute the popup history
- see also https://github.com/hlissner/doom-emacs/pull/339#issuecomment-356544535
2018-01-10 17:39:12 +08:00
Yiming Chen
4c310bfb17 feature/popup: call get-buffer-window for evil-command execute-window
- doom-popup-other-window was removed
2018-01-10 10:09:03 +08:00
Yiming Chen
8227f40d08 feature/popup: call +popup/close in +popup*evil-command-window-execute
- doom/popup-close was renamed to +popup/close
2018-01-10 10:08:55 +08:00
Henrik Lissner
01b4a59f84
feature/version-control: don't manage magit popups 2018-01-09 17:44:39 -05:00
Henrik Lissner
a4e22d48b8
feature/popup: add :ignore support to :popup
Allows you to ignore certain buffers. Helpful for plugins that manage
their own windows, like magit.

To use:

  (set! :popup "^\\*magit" :ignore)

Relevant to #337
2018-01-09 17:42:11 -05:00
Henrik Lissner
bfcbb9ca01
feature/popup: fix +popup/toggle always opening *Messagse*
Because +popup/restore would always return nil.
2018-01-09 16:49:26 -05:00
Henrik Lissner
c03d0dbc06
feature/popup: add +popup-display-buffer action #337
This is experimental and disabled by default. It uses a slightly more
primitive backend that will stack popups away from the edge of the
frame. This will need more work to take window-slot into account.

To use it:

  (remove-hook '+popup-display-buffer-actions 'display-buffer-in-side-window)
  (add-hook '+popup-display-buffer-actions #'+popup-display-buffer t)
2018-01-09 16:49:25 -05:00
Henrik Lissner
7bdf8cf8d9
feature/popup: add +popup-display-buffer-actions #337
Gives us more flexibility to control what display-buffer functions to
use when trying to display the popup window.
2018-01-09 16:49:14 -05:00
Henrik Lissner
0e0966a4ce
feature/evil: evil-respect-visual-line-mode = t
Remaps line motions in visual-line-mode.
2018-01-09 03:52:11 -05:00
Yiming Chen
eb927290b5 Call flycheck-popup-tip-mode correctly
- Fix issue: Symbol’s function definition is void: flycheck-popup-tip
2018-01-09 12:00:35 +08:00
Henrik Lissner
3bdf1dd174
feature/popup: by default, don't handle window selection
Plenty of special popups switch to a buffer and simply assume that that
buffer is now focused. So best we don't interfere with that unless we
must.
2018-01-08 17:30:55 -05:00
Henrik Lissner
d443aed25c
feature/eval: improve compatibility with feature/popups
This makes quickrun, *doom eval* and *Pp Eval Output* buffers behave
better.

Eval output buffers should a) shrink themselves to the size of their
output (within reason), b) *not* grab focus, and c) be easy to close
from afar with C-g/Escape.

Gotchas:

1. Quickrun gets output asynchronously, so we shrink it on
   quickrun-after-run-hook, not in the popup rule.
2. *doom eval* and *Pp Eval Output* opens with its output ready, so the
   popup system may shrink those to fit.
3. *doom eval* and *Pp Eval Output* handle window selection themselves.
   Let them by setting the select window parameter to #'ignore.
2018-01-08 17:30:54 -05:00
Henrik Lissner
971e4904fe
feature/services: -when-let => when-let* 2018-01-08 15:25:28 -05:00