Commit Graph

279 Commits

Author SHA1 Message Date
c87c2bd5a6 Remove redundant magit-completing-read-function 2018-07-29 17:41:59 +02:00
5aef36951d Goto file keybind in helm-ag-edit buffers 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
a8d41a93c0 Fix helm project search commands
Used ivy variable in helm commands, causing a void-variable error.

Reported by @ar1a
2018-07-24 14:07:13 +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
80a3c9bf62 Fix company-box not showing lone candidates
Revert this once sebastiencz/company-box#40 is merged.
2018-07-05 21:45:44 +02:00
dfed54c7ad Shrink oversized company-box icons
This would cause lines in company-box frames to be too large, making the
last candidate seem cut off by the frame edge.
2018-07-05 21:40:34 +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
2e29455cb4 Disable company-mode in eshell-mode
It appears to be incompatible with pcomplete, causing random errors and
whitespace insertion at odd times.
2018-06-29 01:51:49 +02: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
029824b6c1 Update company-box icons
Inspired by @fuxialexander's config
2018-06-27 19:13:54 +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
afa1fe3fc5 Phase out meta keybinds in helm+evil integration
We want to generally avoid meta. M-RET is an exception, and is commonly
used as an "alternate open" key.
2018-06-25 15:45:24 +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
5531d7115a Fix indentation for many autodef setters 2018-06-22 01:49:21 +02:00
8c5deef5fc Fix unintern calls (missing second argument) 2018-06-22 01:49:21 +02:00
bc87ccf894 Refactor set-company-backend! & revise docstring 2018-06-22 01:49:19 +02:00
aa4c9744f8 Fix set-company-backends! & update docstring
+ It wasn't preserving insertion order of multiple backends
+ It failed when BACKENDS = nil (supposed to unset mode backends)
+ Use eq/equal as a test-fn conditionally (glorious, glorious premature
  optimization)
2018-06-20 19:44:08 +02:00
898449e374 Add completion/company tests 2018-06-20 19:09:05 +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
746d90c330 make-variable-buffer-local -> make-local-variable
It is more correct to use the latter.
2018-06-19 13:49:18 +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
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
ce86fa0557 helm-swoop: always split below current window 2018-06-17 17:19:33 +02:00
17981d6a61 Conform hook names to conventions
Also minor reformatting & comment corrections.
2018-06-17 02:25:12 +02:00
f8625a62ac Lazy-load helm-projectile 2018-06-16 15:05:08 +02:00
4122ff4314 Reformat helm package configs 2018-06-16 15:04:27 +02:00
3ad16f660f Refactor set-company-backend! 2018-06-16 12:46:57 +02:00
44363cae40 General, minor refactor & revision
Across the board. All the boards.
2018-06-16 12:26:58 +02:00
cdcc4eec5d Refactor +helm*replace-prompt
In case +helm-global-prompt is nil, which will effectively disable this
advice.
2018-06-15 22:10:40 +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
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
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
641425ab77 Fix "failed" error from +helm/ag{,-from-cwd} #644
Only affected Ag backend.
2018-06-05 19:49:34 +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
1ef581d376 Load company (+auto) on post-self-insert-hook
This is a little later than pre-command-hook, but makes more sense.
Needs more testing though!
2018-06-05 12:04:43 +02:00
cd0e9826ac Remove company-statistics package
Was a little slow, not terribly helpful and would clash with certain
company backends (like company-lsp).
2018-06-03 23:28:44 +02:00
0018d1c809 Change default company-backends to capf+yasnippet
And list their results separately.
2018-06-03 23:27:06 +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