Commit Graph

757 Commits

Author SHA1 Message Date
fa36014559 Allow set-yas-minor-mode! to accept multiple modes 2018-06-19 13:49:18 +02:00
8f76ee9a8a Refactor feature/snippets
+ Don't clear yas-minor-mode-map; the default keybinds can be useful,
  esp to non-evil users.
+ Moved +snippets|enable-project-modes hook to autoloads file.
+ Reformat yasnippet config.
2018-06-19 13:49:15 +02:00
ae6c3cacf2 Merge pull request #699 from Emiller88/feature/solidity-template
Add Solidity Template
2018-06-19 13:49:05 +02:00
ccce20b581 set-evil-initial-state!: fix wrong-type-arguments
Caused when set-evil-initial-state! was used with a single mode (which
is 99% of the time!).

Indirectly fixes #696
2018-06-19 12:01:52 +02:00
16b341e605 Move aya-persist-snippets-dir to doom-etc-dir 2018-06-19 12:01:51 +02:00
5ec74fdffb Add Solidity Template
Add Trigger and basic file template
2018-06-18 20:29:37 -05:00
615735a404 Add exato (x/html attribute text objects for evil)
Bound to x
2018-06-18 23:46:14 +02:00
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
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
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
17981d6a61 Conform hook names to conventions
Also minor reformatting & comment corrections.
2018-06-17 02:25:12 +02:00
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
44363cae40 General, minor refactor & revision
Across the board. All the boards.
2018-06-16 12:26:58 +02:00
02caf4eeac Fix file templates expanding non-interactively #553
File templates should not expand unless the current file was opened
interactively. We use a simple heuristic to detect this: if the opened
buffer's is visible or not.
2018-06-16 12:23:47 +02:00
b5baeb81a7 Improve error handling in snippet commands
Fixes wrong-type-argument errors when fields or overlays are not
actually fields or overlays. Such heresy!
2018-06-16 12:22:50 +02:00
ef90633432 Fix docset lookup & lazyload *-dash
Have to forward declare *-dash-docsets so we can lazy load the *-dash
libraries.

Also fixes a void-variable error because helm-dash-docsets isn't defined
by helm-dash, just used.
2018-06-15 21:42:38 +02:00
4856217c84 Set default ispell-dictionary
Prevents wrong-type-argument stringp errors when starting flyspell-mode.
2018-06-15 21:25:32 +02:00
d0abe742f9 Don't set ispell-program-name
ispell already looks for aspell, ispell, and hunspell on initialization.
2018-06-15 20:52:00 +02:00
4d017ae19e Replace :yas-minor-mode with set-yas-minor-mode! 2018-06-15 18:03:50 +02:00
c0251aacee Replace :lookup with set-lookup-handlers! autodef
And update all internal references.
2018-06-15 17:27:48 +02:00
f81a0e6f41 Remove redundant def-setting! docstrings
def-setting! will now grab the autodef's docstring if it has an
:obsolete property defined.
2018-06-15 16:54:39 +02:00
588359cc5f Replace :eval/:repl with autodef functions
+ :eval => set-eval-handler!
+ :repl => set-repl-handler!
+ Updates all internal references.
2018-06-15 16:20:20 +02:00
7b1db08ea2 Replace :devdocs with set-devdocs! autodef 2018-06-15 16:20:20 +02:00
b99ab59578 Replace :docset with set-docset! autodef 2018-06-15 16:20:20 +02:00
f801939ce7 test-evil: load :feature evil module 2018-06-15 04:46:13 +02:00
5a427b1c2b Move custom evil arg types back to config.el
No need to autoload that.
2018-06-15 04:45:09 +02:00
cbb5b2ed7d Fix unknown interactive code error in evil tests 2018-06-15 04:03:22 +02:00
eaca8c58fa Move unit tests from ert to buttercup
Easier to organize and write. Now I can hopefully strive for better
coverage!
2018-06-15 03:42:01 +02:00
2496e0348d Add :when support to after!
This lets you delay a body of code until an arbitrary condition is
met (which is checked whenever a file is loaded).

Also refactors set-file-template! to wait until +file-templates-alist is
defined.
2018-06-15 03:42:01 +02:00
d8b1e469bc Introduce autodefs to replace some settings
+ :popup -> set-popup-rule!
+ :popups -> set-popup-rules!
+ :company-backend -> set-company-backend!
+ :evil-state -> set-evil-initial-state!

I am slowly phasing out the setting system (def-setting! and set!),
starting with these.

What are autodefs? These are functions that are always defined, whether
or not their respective modules are enabled. However, when their modules
are disabled, they are replaced with macros that no-op and don't
waste time evaluating their arguments.

The old set! function will still work, for a while.
2018-06-15 03:42:01 +02:00
37946080e2 Add :yas-minor-mode setting to feature/snippets 2018-06-07 02:51:46 +02:00
f22eeff763 Add treemacs-mode to evil-escape-excluded-major-modes
Fixes an unresponsive "j" key in treemacs-mode.
2018-06-07 02:51:46 +02:00
69a796ff60 Don't invoke doom/escape too eagerly from evil
This fixes an issue where certain evil plugins would call
evil-force-normal-state non-interactively, causing `doom-escape-hook` to
wreck havoc. Instead, this should only happen when
evil-force-normal-state is called interactively (e.g. via ESC in normal
mode).

Fixes evil-mc-make-cursor-move-next-line and
evil-mc-make-cursor-move-prev-line.
2018-06-07 02:51:45 +02:00
530bdca097 Refactor persp-mode-map keybinds
Use define-key! instead of individual define-key's
2018-06-05 19:50:56 +02:00
e4e2fb55ed feature/workspaces: remove non-side-window fix
This was fixed upstream in persp-mode#90.
2018-06-05 18:39:50 +02:00
bc4fb8f18e Fix helm macro errors due to load order
Some packages (like evil-collection and dumb-jump) use helm macros, but
Doom cannot ensure helm will be installed by the time these packages are
byte-compiled during installation. In fact, the default load order
prevents this.

Rather than imposing hard load order requirements, we just make sure
helm is higher on the packages list, so it gets installed sooner.
2018-06-05 14:08:29 +02:00
c9a3c9e615 Disable evil-collection-minibuffer 2018-06-05 13:23:46 +02:00
d5934ec8f7 feature/evil: update evil-shift-width manually (experimental) 2018-06-05 13:23:37 +02:00
fa4a9a38d4 Less intrusive error prefix for flycheck popups
The default character was taller than a line. My OCD won't have it.
2018-06-05 03:21:26 +02:00
9c62ef9dfa Fix flycheck-posframe errors #653
The +childframe check was too simple (and unnecessary, since the
posframe function autoloaded).
2018-06-05 03:20:19 +02:00
1d9ae834f2 Minor refactors & docstring revision
These are not the refactors you are looking for.
2018-06-04 21:17:49 +02:00
818cb27724 Refactor feature/file-templates
This removes its dependency on the feature/snippets.
2018-06-03 23:43:27 +02:00
48fdc8a5b5 feature/evil: fix missing keymap in key def 2018-06-03 18:11:49 +02:00
1e81a35461 Minimize dependence on map!
This is in preparation for general.el integration coming in 2.1.1. It is
very likely that map! will change (and even more, be split into several
macros). Not much, but change none-the-less. Specifically, the state
keywords (e.g. :nvi, :n, :i) will be removed in favor of a :state
property that takes a list, e.g. (normal visual insert).

In any case, both map! and general are also relatively expensive
compared to define-key and evil-define-key* (and the new define-key!
macro), so use that when we can.

This also means changes to either API won't affect Doom's modules in the
long term.
2018-06-03 15:46:00 +02:00
de014a817b Move :lookup setting to autoload.el 2018-06-02 18:20:09 +02:00
43152d774f Fix commented out :config causing errors
Semicolons, what have you done?
2018-06-01 16:32:38 +02:00
553867bf61 Remove evil-collection-helm hack (it's disabled) 2018-06-01 16:20:11 +02:00
dc2dad0af3 Disable evil-collection-ruby-mode
May indirectly fix broken :localleader keybinds on ruby-mode-map
2018-06-01 16:19:49 +02:00
002f514b22 Minor refactor of evil-mc->smartparens integration 2018-06-01 13:40:48 +02:00
3c967cf3a3 Resume evil-mc upon switching to insert mode #618
I believe this is intuitive, but I've designed it to be easily disabled
with:

  (remove-hook 'evil-insert-state-entry-hook #'+evil-mc|resume-cursors)
2018-06-01 13:40:47 +02:00