Commit Graph

200 Commits

Author SHA1 Message Date
Henrik Lissner
fd3b89854e completion/company: minor refactor/reformatting 2020-08-07 20:15:15 -04:00
Henrik Lissner
e52993fe33 completion/company: update README's package list
To reflect e7c21634a
2020-07-26 14:52:16 -04:00
Henrik Lissner
e7c21634a7 Remove company-prescient
Prescient re-sorts completion candidates by frecency, which is
disruptive for backends that do their own sorting (like LSP or sly, or
any backend that does fuzzy completion). It also slows down the
presentation of candidates by at least a magnitude of 2. The net loss in
performance and accuracy doesn't justify having frecency sorting, and
disabling it on a per-mode basis is too big a maintenance hassle.

Fix #3630
2020-07-26 14:43:19 -04:00
Henrik Lissner
15f0bccde5 Bump :completion
bbatsov/helm-projectile@08ea358 -> bbatsov/helm-projectile@2f3a2a0
cosmicexplorer/helm-rg@785a80f -> cosmicexplorer/helm-rg@ee0a3c0
emacs-helm/helm@58d1982 -> emacs-helm/helm@5d224cb
raxod502/prescient.el@3ab7605 -> raxod502/prescient.el@b11d79b
tumashu/posframe@c445902 -> tumashu/posframe@922e4d2
2020-07-23 01:32:00 -04:00
Henrik Lissner
c0087ff30e Bump :completion
DarwinAwardWinner/ido-completing-read-plus@98d3a6e -> DarwinAwardWinner/ido-completing-read-plus@b9ca256
abo-abo/swiper@544e7de -> abo-abo/swiper@a007ba6
bbatsov/helm-projectile@5328b74 -> bbatsov/helm-projectile@08ea358
company-mode/company-mode@6333fc4 -> company-mode/company-mode@1f56bec
emacs-helm/helm@b6db9fb -> emacs-helm/helm@58d1982
emacs-jp/helm-c-yasnippet@65ca732 -> emacs-jp/helm-c-yasnippet@89cc856
raxod502/prescient.el@0f4a89b -> raxod502/prescient.el@3ab7605
sebastiencs/company-box@3814fcb -> sebastiencs/company-box@452f083
tumashu/posframe@093b29a -> tumashu/posframe@c445902
2020-06-17 14:31:23 -04:00
Henrik Lissner
bbe3cbdaf6 Activate global-company-mode on doom-first-input-hook 2020-05-17 20:37:07 -04:00
Henrik Lissner
bdd4657e23 Prevent company-abort side-effects suppressing echo-area
e.g. some sly commands (like sly-compile-defun) log to the echo area,
but company-abort was being called every time normal mode is
invoked (which happens more often than you'd think). It would be fine if
company-abort noop'ed if company wasn't active, but it doesn't; side
effects ensue.
2020-05-17 20:31:51 -04:00
Henrik Lissner
ea18c83c0a General refactors & reformatting across the board 2020-05-15 01:44:53 -04:00
Steven vanZyl
a70cfce520 Merge branch 'develop' into eshell-improvements 2020-05-06 10:33:39 -04:00
Henrik Lissner
8b52e8ca0f Refactor company defaults
In the interest of performance and reducing things we have to maintain.
2020-04-30 01:35:20 -04:00
Henrik Lissner
af4e347df0 Bump :completion
DarwinAwardWinner/amx@e512e74 -> DarwinAwardWinner/amx@7fb7b87
Yevgnen/ivy-rich@596874d -> Yevgnen/ivy-rich@3f818b2
abo-abo/swiper@64f05f4 -> abo-abo/swiper@9e0803c
company-mode/company-mode@61ddd9a -> company-mode/company-mode@6333fc4
emacs-helm/helm@d978f20 -> emacs-helm/helm@b6db9fb
raxod502/prescient.el@5330773 -> raxod502/prescient.el@0f4a89b
raxod502/prescient.el@5330773 -> raxod502/prescient.el@0f4a89b
sebastiencs/company-box@8fc6168 -> sebastiencs/company-box@3814fcb
tumashu/posframe@e62e584 -> tumashu/posframe@093b29a

We're also transitioning from abbreviated SHA1 hashes to full ones. See
45cdfb125 for why.
2020-04-30 01:29:30 -04:00
Steven vanZyl
85cf7a794b Fixes from PR feedback
This contains fixes suggested by Henrik as feedback from the initial PR,
including updating and correcting the Eshell module README, and few
tweaks to the module configuration, and properly pinning
eshell-did-you-mean.
2020-04-28 09:35:06 -04:00
Henrik Lissner
c1bfdadc10 Bump :completion
DarwinAwardWinner/ido-completing-read-plus@74861ea -> DarwinAwardWinner/ido-completing-read-plus@98d3a6e
emacs-helm/helm@0181b7e -> emacs-helm/helm@d978f20
raxod502/prescient.el@a194852 -> raxod502/prescient.el@5330773
raxod502/prescient.el@a194852 -> raxod502/prescient.el@5330773
tumashu/ivy-posframe@6d697ff -> tumashu/ivy-posframe@ae9bafe
tumashu/posframe@c15800a -> tumashu/posframe@e62e584

Possibly fixes #2540
2020-04-12 17:53:55 -04:00
Henrik Lissner
b78fc4eb76 Minor refactor & reformatting across the board 2020-04-08 15:30:10 -04:00
Henrik Lissner
7e40c1ebe3 Fix #2752: self-aborting company-box/docs 2020-04-02 00:46:58 -04:00
Henrik Lissner
169f9a6121 General, minor refactor & reformatting 2020-03-27 01:25:30 -04:00
Henrik Lissner
538bdf1387 Bump :completion
Yevgnen/ivy-rich@0f22aff -> Yevgnen/ivy-rich@596874d
abo-abo/swiper@5f1d9ce -> abo-abo/swiper@64f05f4
company-mode/company-mode@9de9905 -> company-mode/company-mode@61ddd9a
emacs-helm/helm-org@8457e1e) -> emacs-helm/helm-org@b7a18df
emacs-helm/helm@21e778b -> emacs-helm/helm@0181b7e
raxod502/prescient.el@7fd8c3b -> raxod502/prescient.el@a194852
tumashu/posframe@8a9af54) -> tumashu/posframe@c15800a
2020-03-27 01:09:33 -04:00
Henrik Lissner
dd402b7db3 Remove references to enh-ruby-mode 2020-03-12 11:29:54 -04:00
Henrik Lissner
cd5152497d Ensure company-backends are computed late in mode init 2020-02-25 20:03:58 -05:00
Henrik Lissner
7f9623249f Abort company popups when entering normal mode
You likely don't need completion anymore once you exit insert state.
2020-02-20 20:30:43 -05:00
Henrik Lissner
c912d78afe Bump to company-mode/company-mode@9de9905
From company-mode/company-mode@d505356
2020-02-06 15:20:11 -05:00
Henrik Lissner
a9402cfb55 Fix #2373: bring back package pinning
This needs some serious refactoring...
2020-01-25 19:02:00 -05:00
Henrik Lissner
4cc14389e8 PIN ALL THE PACKAGES 2020-01-14 22:32:11 -05:00
Henrik Lissner
6f273ffc25 Totally disable company-box scrollbar
Since the problem persists despite the earlier window-width fix.

Fixes sebastiencs/company-box#44
2020-01-13 01:46:43 -05:00
Henrik Lissner
b320075c5b Add company-box scrollbar "fix" & refactor config 2020-01-13 00:08:59 -05:00
Henrik Lissner
0001947401 completion/company: mention +tng/+childframe incompatibility in readme 2019-12-15 21:45:40 -05:00
Henrik Lissner
99cd52e70f 💥 Drop Emacs 25.x support
Emacs 26.1 is Doom's new minimum supported version

Closes #2026
2019-11-08 16:02:06 -05:00
Henrik Lissner
f779c3b781 completion/company: remove unneeded transient hook 2019-10-14 02:54:44 -04:00
Henrik Lissner
5999fee7c3 completion/company: load company earlier
Potentially addresses #1696, #1687, #1686, #993
2019-10-12 19:31:59 -04:00
Jakub Darul
d74ed618ce moved company-files-regexps change from org/config to company/conif 2019-10-10 20:34:52 +02:00
Jakub Darul
9a79f3815f moved comapny files regexp for org mode to org/config.el 2019-10-10 10:04:30 +02:00
Jakub Darul
596e7c97a9 added company-files support for file links in org mode 2019-10-09 23:21:33 +02:00
Henrik Lissner
0690bac82f completion/company: update plugin list in readme 2019-09-26 14:26:48 -04:00
Henrik Lissner
19ecf8e46a Correct last inline hook defuns
See a3e262c7 for rationale
2019-07-28 16:10:53 +02:00
Rudi Grinberg
7c523f2c15 Uniquify completion candidates of whole lines
If the same line is present more than once in the buffer, it will be
offered more than once as a candidate. This commit deletes duplicate
lines from the completion list.

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
2019-07-28 01:19:45 +07:00
Henrik Lissner
82ae3a73f3 def-advice!->defadvice! & conform to new advice conventions
This commit does two things:

- Renames def-advice! to defadvice!, in the spirit of naming convenience
  macros after the function/macro they enhance or replace.
- Correct the names of advice functions to indicate visibility and
  intent. A public advice function like doom-set-jump-a is meant to be
  used elsewhere. A private one like +dired--cleanup-header-line-a
  shouldn't -- it likely won't work anywhere but the function(s) it was
  made to advise.
2019-07-23 17:24:56 +02:00
Henrik Lissner
76cacb5bfe 💥 Rename def-package! -> use-package!
Calling this pivotal macro "def-package!" has frequently been a source
of confusion. It is a thin wrapper around use-package, and it should be
obvious that it is so. For this reason, and to match the naming
convention used with other convenience macros/wrappers, it is now
use-package!.

Also changes def-package-hook! -> use-package-hook!

The old macros are now marked obsolete and will be removed when straight
integration is merged.
2019-07-23 12:50:45 +02:00
Henrik Lissner
c795a988e6 Conform many modules to new conventions 2019-07-23 12:30:47 +02:00
Henrik Lissner
060ede0e2e General, minor reformatting across the board
And an offering of blood to our great lord Byte Compiler-sama.
2019-07-22 02:37:45 +02:00
Henrik Lissner
149b2617b0 💥 revise hook/var fns naming convention (2/2)
This is second of three big naming convention changes. In this commit,
we change the naming conventions for hook functions and variable
functions:

1. Replace the bar | to indicate a hook function with a -h suffix, e.g.

     doom|init-ui -> doom-init-ui-h
     doom|run-local-var-hooks -> doom-run-local-var-hooks-h

2. And add a -fn suffix for functions meant to be set on variables,
   e.g.

     (setq magit-display-buffer-function #'+magit-display-buffer-fn)

See ccf327f8 for the reasoning behind these changes.
2019-07-22 02:30:38 +02:00
Henrik Lissner
51d3b1b424 💥 revise advice naming convention (1/2)
This is first of three big naming convention updates that have been a
long time coming. With 2.1 on the horizon, all the breaking updates will
batched together in preparation for the long haul.

In this commit, we do away with the asterix to communicate that a
function is an advice function, and we replace it with the '-a' suffix.
e.g.

  doom*shut-up -> doom-shut-up-a
  doom*recenter -> doom-recenter-a
  +evil*static-reindent -> +evil--static-reindent-a

The rationale behind this change is:

1. Elisp's own formatting/indenting tools would occasionally struggle
   with | and * (particularly pp and cl-prettyprint). They have no
   problem with / and :, fortunately.
2. External syntax highlighters (like pygmentize, discord markdown or
   github markdown) struggle with it, sometimes refusing to highlight
   code beyond these symbols.
3. * and | are less expressive than - and -- in communicating the
   intended visibility, versatility and stability of a function.
4. It complicated the regexps we must use to search for them.
5. They were arbitrary and over-complicated to begin with, decided
   on haphazardly way back when Doom was simply "my private config".

Anyhow, like how predicate functions have the -p suffix, we'll adopt the
-a suffix for advice functions, -h for hook functions and -fn for
variable functions.

Other noteable changes:
- Replaces advice-{add,remove}! macro with new def-advice!
  macro. The old pair weren't as useful. The new def-advice! saves on a
  lot of space.
- Removed "stage" assertions to make sure you were using the right
  macros in the right place. Turned out to not be necessary, we'll
  employ better checks later.
2019-07-22 02:27:45 +02:00
Henrik Lissner
683683736d Cancel previous company popup when invoking another
Enables uses to switch between backends, e.g. C-x C-s followed by C-x
C-n in insert mode.
2019-07-09 16:12:44 +02:00
Henrik Lissner
281ea56643 completion/company: refactor backend resolution
Makes it easier to change company-backends retrospectively (with a hook
or setq-hook!). Also simplifies how backend defaults are stored (no more
of this :derived and :exact business).

Also updates unit tests.
2019-06-29 01:39:23 +02:00
Andrew Whatson
2a511a6576 Add +prescient option for :completion ivy
This provides an alternative backend for filtering and sorting ivy
searches. Uses prescient instead of flx for fuzzy completion when both
+prescient and +fuzzy are selected.
2019-05-29 00:46:57 +10:00
Henrik Lissner
04acb8fa98 completion/company: +auto by default
Questions regarding "completion not working" are very common, so the
+auto flag has been removed and idle completion enabled by default.
2019-05-04 19:13:25 -04:00
Henrik Lissner
952a86c2e5 completion/company: revise idle completion in docs 2019-05-01 21:02:29 -04:00
Henrik Lissner
77e4cc4d58 💥 Remove :feature category
:feature was a "catch-all" category. Many of its modules fit better in
other categories, so they've been moved:

- feature/debugger -> tools/debugger
- feature/evil -> editor/evil
- feature/eval -> tools/eval
- feature/lookup -> tools/lookup
- feature/snippets -> editor/snippets
- feature/file-templates -> editor/file-templates
- feature/workspaces -> ui/workspaces

More potential changes in the future:

- A new :term category for terminal emulation modules (eshell, term and
  vterm).
- A new :os category for modules dedicated to os-specific functionality.
  The :tools macos module would fit here, but so would modules for nixos
  and arch.
- A new :services category for web-service integration, like wakatime,
  twitter, elfeed, gist and pastebin services.
2019-04-24 18:16:04 -04:00
Thiago Kenji Okada
0beb194e23 Document company +tng flag 2019-04-18 00:23:07 -03:00
Henrik Lissner
0f8baf3f3e Minor comment tweaks 2019-04-17 11:19:37 -04:00
Henrik Lissner
5b43b2840b Fix RET/TAB company keybinds in GUI Emacs 2019-04-01 13:12:03 -04:00