Commit graph

866 commits

Author SHA1 Message Date
Henrik Lissner
68a4c85088
feature/workspaces: have switch-project recycle empty workspaces
If you're in an empty workspace, reuse it, rather than spawning a new
one. This lets you create a new workspace *then* switch project.
2018-02-06 17:49:55 -05:00
Henrik Lissner
1db29a951e
feature/workspaces: fix counsel-projectile-switch-project actions 2018-02-06 13:50:26 -05:00
Henrik Lissner
27255d891e
feature/popup: fix 'unsupported map' error when disabling +popup-mode 2018-02-06 02:23:30 -05:00
Henrik Lissner
b6ee578cda
feature/workspace: fix new frames with unreal buffers + no buffer predicate 2018-02-04 02:21:35 -05:00
Henrik Lissner
3a6388bb68
feature/evil: fix vars being set too late #401
Certain evil variables, like evil-respect-visual-line-mode, need to be
set before evil is loaded for it to take effect.
2018-02-03 22:41:19 -05:00
Henrik Lissner
3830a8aba1
feature/workspaces: fix infinite recursion in buffer-predicate #399
By refactoring so that the middle-man buffer predicate wasn't necessary.
2018-02-03 18:06:47 -05:00
Henrik Lissner
4ce521e26b
feature/lookup: fix xref-backend-identifier error from projectile-find-tag #385 2018-02-03 15:07:18 -05:00
Henrik Lissner
cbd6bf190a
feature/workspaces: minor refactor 2018-02-02 20:47:33 -05:00
Henrik Lissner
d9a80a9520
feature/workspaces: fix buffer-bleedover from other workspaces
The frame buffer-predicate wasn't discriminating against buffers that
were in other perspectives, allowing you to `next-buffer` into them.
UNACCEPTABLE.
2018-02-02 20:47:33 -05:00
Henrik Lissner
d0fa95f9a0
feature/popup: change 'doom:' rule: transient = t 2018-02-02 20:47:33 -05:00
Henrik Lissner
c4244de05e
feature/evil: don't override user cursor settings
Slightly more flexible. If you change the evil cursors, but want to
retain the color changes, you'll need to make `evil-default-cursor` and
`evil-emacs-state-cursor` into lists and add `+evil-default-cursor` and
`+evil-emacs-cursor` to them, respectively.
2018-02-02 20:47:32 -05:00
Henrik Lissner
b9d8116734
feature/evil: switch to initial state on change window
This used to change to normal mode, but now it respects the buffer's
initial state.
2018-02-02 20:47:32 -05:00
Henrik Lissner
c319b606cd
feature/workspaces: don't pollute *Messages* with tabbar output 2018-02-02 20:47:32 -05:00
Henrik Lissner
e0fd1b9043
feature/popup: replace +popup-enable-*-rules w/ +all/+defaults flags #394 2018-02-01 23:17:18 -05:00
Henrik Lissner
2989296521
Use frame's buffer-predicate instead of doom/{next,previous}-buffer
doom/{next,previous}-buffer was implemented so that these commands could
skip over unreal buffers, and land us on either a real one or the
dashboard. Using the frame's buffer-predicate parameter accomplishes
exactly this, natively.
2018-02-01 19:58:43 -05:00
Henrik Lissner
c97c460ce2
feature/workspaces: fix switch-project #388
+ Fix recursive find-file-in-project prompt with counsel-projectile.
+ Fix duplicate-workspace error (just switches to that workspace, rather
  than trying to create one).
+ Fix dashboard replacing current buffer when switching to
  a pre-existing project workspace.
2018-01-31 04:54:48 -05:00
Henrik Lissner
523c6ae4cc
feature/eval: remove redundant popup rule 2018-01-31 02:16:25 -05:00
Henrik Lissner
dc2b905933
feature/workspace: don't pop up warnings/display tabs on every new frame 2018-01-31 02:16:02 -05:00
Henrik Lissner
81bba9c0bc
feature/workspace: fix frames incorrectly initialized via emacsclient
A new workspace is now correctly created for files opened via
emacsclient. This fixes #119. Again.
2018-01-31 01:13:59 -05:00
Henrik Lissner
1ab7301a1d
feature/popup: add +popup-enable-*-rules options & delay init
Initialization of the popup rules now happens later (on
doom-init-ui-hook). The two new options are:

+ +popup-enable-fallback-rules: the popup module defines two catch-all
  fallback rules for buffers that match "^ \\*" and "^\\*". By setting
  this option to nil, you can disable that behavior, in case you want to
  set them yourself.
+ +popup-enable-default-rules: setting this to nil disable all default
  popup rules for various essential Emacs and Doom buffers that should be
  treated as popups.
2018-01-30 22:01:23 -05:00
Henrik Lissner
5210ee5f7e
feature/version-control: remove -git flag
As much as possible, I'd prefer flags to be additive rather than
subtractive. Meaning, specifying a flag should add features, rather than
disable them; simply as a general Doom convention.
2018-01-30 21:21:34 -05:00
Henrik Lissner
834e92c465
feature/workspaces: fix hash-table-p error on startup in daemon Emacs
Because persp-mode initializes differently (and later) in daemon/noninteractive
Emacs, +workspaces|init would fail while trying to use persp-mode features in a
broken state.
2018-01-30 16:17:53 -05:00
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