Commit Graph

20 Commits

Author SHA1 Message Date
e14bfa37d8 fix(completion/copilot): improve copilot's interaction with company-mode
Previously we only hide company-mode's in-line preview when there was
only a single result. This meant that it didn't show the one result
anywhere.

This allows company-mode to still show it's regular popup even when
there's only one result.
2022-04-28 20:02:06 +01:00
44c4cc93c1 feat(completion): add support for GitHub Copilot via copilot.el
I opted for accepting copilot completions using C-<tab> /
<backtab> (shift+tab) instead of regular tab, as it was often getting in
the way of yasnippet and lsp completion suggestions. This allows a more
explicit acceptance of Copilot suggestions.
2022-04-28 12:08:11 +01:00
aa7e2fe428 style: remove needless line breaks 2022-03-16 20:42:31 +00:00
a8618938bf feat(core): use general.el for keybind definitions nearly everywhere
Primarily this replaces :bind with :general in all use-package calls.
2022-03-14 21:16:15 +00:00
106245af8b feat(completion): improve completion-at-point/company candidates
This applies especially in lsp-mode. Yasnippet snippets now show as
completion candidates if the word at point exactly matches a snippet
keyword, otherwise it'll fallback to normal lsp backed completion.

And it also supports completing file/directory names now too while
lsp-mode is active.

All this is done by modifying completion-at-point-functions after
lsp-mode has done it's trickery with it. Along with a dirty hack to
company-yasnippet to make it only activate on exact matches. Without
this hack, lsp backed completion rarely activates as snippets would have
higher priority if there's any partial matches.
2022-03-14 21:16:13 +00:00
0e6a7b6290 feat(editor): switch to vertico+orderless from selectrum+prescient
Personally I find orderless is giving me better results than prescient
when fuzzy/flex matching is enabled. Hence the switch to orderless.

I also split the modules apart to ensure, that selectrum, vertico,
prescient and orderless can be mixed and matched however and work
correctly.

And the switch from to vertico from selectrum is mostly cause I like
it's wraparound/cycle feature, where end/beginning of the candidate list
will wrap around.
2021-06-24 22:39:17 +01:00
cb1296ed9c feat(completion): insert current company-mode selection with tab
THis is in addition to the RET keybinding.
2021-06-24 22:15:38 +01:00
4b228ae317 chore(lang): tweak company-mode idle-delay for Go 2021-06-17 20:49:26 +01:00
93c22e1bb9 feat(editor): replace ido and amx with selectrum, prescient and marginalia 2021-06-17 20:13:57 +01:00
3d662739ee chore(completion): only load company/fci-mode fix when fci is loaded 2020-08-31 10:05:16 +01:00
07657bbb73 feat(completion): Add configuration for prescient and selectrum
I'm not fully convinced with swapping out ido with selectrum, so I'll
add the configuration for both, without actually loading them, and
instead manually try them out from time to time.

Also, make ivy use prescient for filtering and sorting, as it does a
much better job than ivy itself does by default. But nothing currently
uses ivy either, so it's more for future if I start using ivy somewhere.
2020-03-21 22:52:01 +00:00
6e79446a77 chore(completion): Make company-mode slightly less responsive 2020-01-27 17:48:42 +00:00
a7201c1bd8 chore(completion): Make company-mode more responsive 2020-01-27 01:14:11 +00:00
290ba13b1c chore: Improve loading of prog-mode features into non-prog-mode modes
There are a few major modes which are not based on prog-mode, that I
want to behave like prog-mode. Previously each did nearly all the same
setup that's done via the prog-mode hooks. Now instead let's actually
run runs the hooks for prog-mode.
2020-01-26 20:25:49 +00:00
57f670088d Use use-package's :custom and :custom-face options everywhere 2019-06-10 19:29:58 +01:00
a4d5c15995 Break apart LSP setup into separate modules 2019-04-29 13:22:05 +01:00
220341a083 Fix company-mode / fci-mode incompatibility bug
The original code to fix the incompatibility didn't see to work anymore,
so refactored it a bit to so it goes about things a bit more carefully,
and that seemed to fix it.
2018-12-20 15:52:33 +00:00
61c14f615f Enable lsp-mode for CSS, JS, and TypeScript 2018-12-20 01:11:27 +00:00
b79891ec7a Add lsp-mode package 2018-12-10 22:48:29 +00:00
87a86191db Majorly re-organize modules
- Split large modules into smaller parts (e.g. siren-text-manipulation)
- Organize modules into high level groups:
  - completion
  - core
  - editor
  - languages
  - linting
  - misc
  - navigation
  - projects
  - spelling
  - text-editing
  - version-control
  - windows
  - workspaces
2018-05-20 17:31:11 +01:00