Commit graph

344 commits

Author SHA1 Message Date
Henrik Lissner
17981d6a61
Conform hook names to conventions
Also minor reformatting & comment corrections.
2018-06-17 02:25:12 +02:00
Henrik Lissner
f8625a62ac
Lazy-load helm-projectile 2018-06-16 15:05:08 +02:00
Henrik Lissner
4122ff4314
Reformat helm package configs 2018-06-16 15:04:27 +02:00
Henrik Lissner
3ad16f660f
Refactor set-company-backend! 2018-06-16 12:46:57 +02:00
Henrik Lissner
44363cae40
General, minor refactor & revision
Across the board. All the boards.
2018-06-16 12:26:58 +02:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
641425ab77
Fix "failed" error from +helm/ag{,-from-cwd} #644
Only affected Ag backend.
2018-06-05 19:49:34 +02:00
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
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
Henrik Lissner
0018d1c809
Change default company-backends to capf+yasnippet
And list their results separately.
2018-06-03 23:27:06 +02:00
Henrik Lissner
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
Henrik Lissner
83590d65ba
Refactor/optimize completion/ido module
Ensure initialization only occurs once when ido is first used. Special
steps are needed because ido is automatically loaded at startup by
Emacs.
2018-06-03 15:01:21 +02:00
Henrik Lissner
6e6dfc2215
Implement helm project search functionality #644
Adds +helm/project-search, as well as +helm/ag and +helm/ag-from-cwd,
and variants for rg, pt and grep/git-grep, to mirror the functionality
available to :completion ivy.

Also updates the evil ex commands and keybinds
2018-06-02 20:37:02 +02:00
Henrik Lissner
b72764c6ea
fixup! Refactor ivy project-search functionality 2018-06-02 20:31:50 +02:00
Henrik Lissner
7f00221551
Refactor ivy project-search functionality
To prepare for Helm counterpart
2018-06-02 14:34:12 +02:00
Henrik Lissner
8aa21517a2
Remap swiper => helm-swoop for helm users #644
Plus remove redundant remappings
2018-06-02 14:01:31 +02:00
Henrik Lissner
80bd587d87
Move :company-backend setting to autoload.el
This decouples the company module from module load-order.
2018-06-01 14:54:13 +02:00
Henrik Lissner
cc159ed9a9
completion/helm: add-hook! => add-hook
add-hook! is unnecessary for adding 1-to-1 hook.
2018-06-01 13:06:30 +02:00
Henrik Lissner
8f673f52fc
Conform helm posframe code to Doom conventions 2018-06-01 13:03:25 +02:00
Henrik Lissner
a3915dfc91
Merge branch 'develop' into helm-posframe 2018-06-01 13:00:23 +02:00
Henrik Lissner
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
Henrik Lissner
4d9ddf27a9
Fix over-zealous evil-integration in ivy #636 2018-06-01 02:18:46 +02:00
Henrik Lissner
6536637cec
Add +helm--set-prompt-display 2018-05-31 16:16:24 +02:00
Henrik Lissner
5e49239ff2
Give feedback on +company/toggle-auto-completion 2018-05-31 15:59:52 +02:00
Henrik Lissner
9b3decaaa1
Merge evil-collection-helm into completion/helm 2018-05-31 13:59:21 +02:00
Henrik Lissner
acfa8a0bc1
completion/helm: minor refactor
Remove unnecessary after!/def-package! blocks (settings variables
doesn't require the variables be defined).
2018-05-31 13:59:21 +02:00
Henrik Lissner
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
Aria
7461b94efe Add posframe def-package! 2018-05-31 13:16:57 +10:00
Henrik Lissner
cf974db0bf
completion/ivy: remove redundant autoloads
Many of these exist in {swiper,counsel,smex}-autoloads already.
2018-05-30 16:05:24 +02:00
Henrik Lissner
a25e2e0c89
completion/ivy: add +fuzzy flag
As mentioned in #626
2018-05-30 16:05:21 +02:00
Henrik Lissner
b94f9b269b
Add helm-flx to helm packages 2018-05-30 10:54:25 +02:00
Henrik Lissner
dcd29762e7
Gate fuzzy search config behind +fuzzy module flag
Fuzzy search, on its own, is inaccurate when individual candidates are long. Helm's non-fuzzy search backend doesn't have this problem. This adds `flx` sorting to fuzzy search to make up for this.
2018-05-30 10:52:44 +02:00
Aria
ded367eef5 Add posframes to helm in emacs 26+ 2018-05-30 13:56:38 +10:00
Aria
ce4327e3a9 completion/helm: cleanup and set some more sensible defaults 2018-05-30 13:46:09 +10:00
Henrik Lissner
3b85720c9c
Fix incorrect uses of add-to-list 2018-05-28 12:26:03 +02:00
Henrik Lissner
5b31fd9505
Use company-dabbrev-code in prog-modes & company-dabbrev everywhere else 2018-05-28 00:08:14 +02:00
Henrik Lissner
e99d5c6624
completion/helm: refactor how helm packages are loaded; fix command remaps 2018-05-25 11:49:59 +02:00
Henrik Lissner
b36eca2ae7
completion/ivy: ivy-height = 15 2018-05-25 00:50:33 +02:00
Henrik Lissner
55a3aeec9a
completion/ivy: don't pre-fill ag/rg/pt/grep searches w/ last search 2018-05-25 00:50:24 +02:00
Henrik Lissner
852193dfc5
completion/helm: update command remappings 2018-05-25 00:49:21 +02:00
Henrik Lissner
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
Henrik Lissner
0b48575c14
Remove def-hydra! macro alias
Causes byte-compilation issues and the alias is unnecessary.
2018-05-24 22:03:19 +02:00
Henrik Lissner
80adb9c1f6
General refactor for consistency & idempotency
Also updated comments
2018-05-18 01:26:41 +02:00
Henrik Lissner
ded6526eee
completion/ivy: fix void-variable error in +ivy:{pt,grep} 2018-05-17 17:00:20 +02:00
Henrik Lissner
dbdce2a8b2
completion/ivy: fix file search not searching compressed archives 2018-05-17 16:59:55 +02:00
Benjamin Reynolds
e38560252b Fix typo causing startup error in helm modules
It looks like an extra letter snuck into a `nil` in 67dab98. This is causing a
startup error on develop.
2018-05-15 09:40:44 -05:00