Commit Graph

172 Commits

Author SHA1 Message Date
c87c2bd5a6 Remove redundant magit-completing-read-function 2018-07-29 17:41:59 +02:00
277915b28c Fix order of +(helm|ivy)-project-search-engines 2018-07-24 14:18:44 +02:00
e865526c75 Add +(helm|ivy)-project-search-engines variables
This allows you to control what search engines for project-search
commands (bound to SPC / p) to try, and in what order. If you didn't
want to use ripgrep, for instance, remove 'rg from these variables, or
move it to the end of the list.
2018-07-23 00:06:47 +02:00
4323886b1b Use ivy fallback display function for swiper et co
As they don't work well with ivy-posframe.
2018-07-14 04:08:17 +02:00
bb6e9b0a4f Remove counsel-more-chars removal hacks
Fixes wrong-number-of-args error caused by new counsel-more-chars
implementation upstream.

These hacks removed the hard-coded minimum input length requirement for
counsel-ag and its ilk. The recent counsel update made those
requirements customizable through counsel-more-chars-alist.
2018-07-14 02:56:46 +02:00
9f50ca01a0 Rename amx-save-file: smex-items -> amx-items 2018-07-12 16:45:57 +02:00
eb79760c66 ivy-rich-switch-buffer-pad => ivy-rich-pad
To match upstream changes.

Reported by @sarg
2018-07-06 12:17:29 +02:00
2d30d996c3 Refactor counsel-find-file actions
Conform them to naming conventions & only autoload the functions that
aren't used immediately.
2018-07-05 14:05:09 +02:00
0df9bae16b don't override original actions 2018-07-05 00:38:41 +08:00
a906b82788 add action for counsel-find-file 2018-07-04 23:59:18 +08:00
4a213e07f8 Fix void-function ivy--matcher-desc
When invoking +ivy-coo-hydra/body

Reported by @fuxialexander
2018-06-27 20:31:56 +02:00
af41e17355 Minor reformatting & docstring tweak 2018-06-26 01:48:15 +02:00
017ba8d79c Autoload defhydras & use new naming convention
Phasing out the +module@name convention for plain old
+module-name-hydra, which is more compatible with elisp reflection tools
like describe-function and such.

Also, Emacs starts up faster now. Tee hee.
2018-06-26 01:43:54 +02:00
2f63c5fa47 Merge pull request #723 from fuxialexander/fix-ivy-fuzzy
Fix disable ivy fuzzy search in counsel-grep and swiper
2018-06-25 15:02:41 +02:00
106062da0d Fix ivy posframe
The display function was being set on ivy-display-functions-props. The
correct variable for it is ivy-display-functions-alist.

Reported by randoom in discord.
2018-06-25 14:59:01 +02:00
6a15db7e00 fix disable ivy fuzzy in swiper and counsel-grep 2018-06-25 14:15:00 +08:00
f6dc6ac74e Refactor out map.el usage
After some profiling, it turns out map-put and map-delete are 5-7x
slower (more on Emacs 25) than delq, setf/alist-get and add-to-list for
small lists (under 250 items), which is exactly how I've been using
them.

The only caveat is alist-get's signature is different on Emacs 25, thus
a polyfill is necessary in core-lib.
2018-06-23 19:53:54 +02:00
d7f8a9591e completion/ivy: replace smex with amx
Faster and maintained.
2018-06-20 18:39:44 +02:00
d5bb770ea6 Make +(helm|ivy)-file-search public and autoloaded
So it can be safely used anywhere. Maybe these should be defgenerics?
2018-06-20 18:39:08 +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
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
d24807cc2c Don't overwrite ivy-height for ivy-posframe
This would undo user's customizations to this variable.
2018-06-05 12:04:43 +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
b72764c6ea fixup! Refactor ivy project-search functionality 2018-06-02 20:31:50 +02:00
7f00221551 Refactor ivy project-search functionality
To prepare for Helm counterpart
2018-06-02 14:34:12 +02:00
f1bf9d1632 ivy-do-completion-in-region = t #640
Evil ex command completion is now handled by ivy, if it's enabled.
2018-06-01 12:00:57 +02:00
4d9ddf27a9 Fix over-zealous evil-integration in ivy #636 2018-06-01 02:18:46 +02:00
183ccbb8f1 Merge evil-collection-ivy into completion/ivy
Disables evil-collection-ivy. Another step toward the removal of
evil-collection from Doom.
2018-05-31 13:59:21 +02:00
cf974db0bf completion/ivy: remove redundant autoloads
Many of these exist in {swiper,counsel,smex}-autoloads already.
2018-05-30 16:05:24 +02:00
a25e2e0c89 completion/ivy: add +fuzzy flag
As mentioned in #626
2018-05-30 16:05:21 +02:00
3b85720c9c Fix incorrect uses of add-to-list 2018-05-28 12:26:03 +02:00
b36eca2ae7 completion/ivy: ivy-height = 15 2018-05-25 00:50:33 +02:00
55a3aeec9a completion/ivy: don't pre-fill ag/rg/pt/grep searches w/ last search 2018-05-25 00:50:24 +02:00
09cb4f6716 Major refactor & optimization of how modules load their packages
Now that we are loading package autoloads files (as part of the
generated doom-package-autoload-file when running make autoloads), many
:commands properties are redundant. In fact, many def-package! blocks
are redundant.

In some cases, we can do without a config.el file entirely, and can move
into the autoloads file or rely entirely on package autoloads.

Also, many settings have been moved in their module's autoloads files,
which makes them available ASAP; their use no longer depends on module
load order.

This gained me a modest ~10% boost in startup speed.
2018-05-25 00:46:16 +02:00
0b48575c14 Remove def-hydra! macro alias
Causes byte-compilation issues and the alias is unnecessary.
2018-05-24 22:03:19 +02:00
80adb9c1f6 General refactor for consistency & idempotency
Also updated comments
2018-05-18 01:26:41 +02:00
ded6526eee completion/ivy: fix void-variable error in +ivy:{pt,grep} 2018-05-17 17:00:20 +02:00
dbdce2a8b2 completion/ivy: fix file search not searching compressed archives 2018-05-17 16:59:55 +02:00
94f9e43f25 Rewrite :defer semantics
:defer now supports a hook, a cons cell with (SYMBOL . INTEGER) where
SYMBOL is a hook and INTEGER is a number of idle seconds before the
package is autoloaded, or just the integer (as per the default behavior
of :defer).

Also fixes an issue where switch-buffer-deffered packages (like
smartparens) wouldn't load.
2018-05-15 10:54:45 +02:00
67dab98859 Improve idempotency of Doom config (in case of reloading) 2018-05-14 20:54:58 +02:00
a631c10d05 Exploit new :defer input|buffer across various modules 2018-05-14 20:45:47 +02:00
6e3f500a39 completion/ivy: ivy-use-selectable-prompt = t
Solves the "I want to enter something new, but it also is a part of
a match" issue. Thanks to @gilbertw1 for letting me know about this.

As such, the C-RET keybind from 310d81ab is no longer necessary
2018-05-14 20:37:13 +02:00
b3f38a8bed completion/ivy: fix header vars in doctor.el 2018-05-09 10:22:03 +02:00
317b556bde Extract :ui posframe packages into other modules 2018-05-09 00:20:01 +02:00
f1cf88eeb6 completion/ivy: fix ag/pt/grep file search args 2018-03-28 12:34:04 -07:00
7f6fb69a3d completion/ivy: reuse last query if none supplied 2018-03-26 00:30:10 -04:00
5a746f3da8 completion/ivy: fix wrong number of args error in rg/ag/pt/grep ex commands 2018-03-26 00:29:55 -04:00
9e62898d92 completion/ivy: major refactor of file-search commands 2018-03-26 00:02:22 -04:00
83211cd74c completion/ivy: fix redundant smart-case flag in ripgrep args 2018-03-25 22:59:49 -04:00
2925f5657b completion/ivy: decouple ivy-rich advice from nullable doom--project-root 2018-03-24 17:05:06 -04:00