[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/corfu 6cfa4e9: Indent README
From: |
ELPA Syncer |
Subject: |
[elpa] externals/corfu 6cfa4e9: Indent README |
Date: |
Fri, 9 Jul 2021 07:57:13 -0400 (EDT) |
branch: externals/corfu
commit 6cfa4e982758030e9793c8376dd577870bc24b81
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>
Indent README
---
README.org | 238 ++++++++++++++++++++++++++++++-------------------------------
1 file changed, 119 insertions(+), 119 deletions(-)
diff --git a/README.org b/README.org
index 1182dab..fd64b55 100644
--- a/README.org
+++ b/README.org
@@ -11,146 +11,146 @@
* Introduction
-Corfu enhances the default completion in region function with a completion
-overlay. The current candidates are shown in a popup below or above the point.
-Corfu can be considered the minimalistic ~completion-in-region~ counterpart of
-the [[https://github.com/minad/vertico][Vertico]] minibuffer UI.
+ Corfu enhances the default completion in region function with a completion
+ overlay. The current candidates are shown in a popup below or above the
point.
+ Corfu can be considered the minimalistic ~completion-in-region~ counterpart
of
+ the [[https://github.com/minad/vertico][Vertico]] minibuffer UI.
-Corfu is a minimal package, which relies on the Emacs completion facilities and
-concentrates on providing a polished completion UI. Completions are either
-provided by commands like ~dabbrev-completion~ or by pluggable backends
-(~completion-at-point-functions~, Capfs). Many programming language major modes
-implement a Capf. Furthermore the language server packages,
[[https://github.com/joaotavora/eglot][Eglot]] and
[[https://github.com/emacs-lsp/lsp-mode][Lsp-mode]],
-both use Capfs which talk to the LSP server to retrieve the completions.
+ Corfu is a minimal package, which relies on the Emacs completion facilities
and
+ concentrates on providing a polished completion UI. Completions are either
+ provided by commands like ~dabbrev-completion~ or by pluggable backends
+ (~completion-at-point-functions~, Capfs). Many programming language major
modes
+ implement a Capf. Furthermore the language server packages,
[[https://github.com/joaotavora/eglot][Eglot]] and
[[https://github.com/emacs-lsp/lsp-mode][Lsp-mode]],
+ both use Capfs which talk to the LSP server to retrieve the completions.
-Corfu does not include custom completion backends. In contrast, the complex
-Company package includes custom completion backends, which deviate from the
-Emacs completion infrastructure.
+ Corfu does not include custom completion backends. In contrast, the complex
+ Company package includes custom completion backends, which deviate from the
+ Emacs completion infrastructure.
-*NOTE*: Corfu uses child frames to show the popup; on non-graphical displays it
-will fall back to the default setting of the ~completion-in-region-function~.
+ *NOTE*: Corfu uses child frames to show the popup; on non-graphical displays
it
+ will fall back to the default setting of the ~completion-in-region-function~.
-[[https://github.com/minad/corfu/blob/main/screenshot.png?raw=true]]
+ [[https://github.com/minad/corfu/blob/main/screenshot.png?raw=true]]
* Features
-- Timer-based auto-completions (off by default, set ~corfu-auto~)
-- Popup display with scrollbar indicator and arrow key navigation
-- The popup must be summoned explicitly by pressing =TAB=
-- The current candidate is inserted with =TAB= and selected with =RET=
-- Candidates sorting by prefix, string length and alphabetically
-- Completion is automatically terminated after candidate selection
-- Filter string can contain arbitrary characters and spaces, if
- ~corfu-quit-at-boundary~ is nil. This is needed when filtering with the
- [[https://github.com/oantolin/orderless][Orderless]] completion style.
-- Deferred completion style highlighting for performance
-- Jumping to location/documentation of current candidate (Company extension)
-- Support for ~annotation-function~ and ~affixation-function~
+ - Timer-based auto-completions (off by default, set ~corfu-auto~)
+ - Popup display with scrollbar indicator and arrow key navigation
+ - The popup must be summoned explicitly by pressing =TAB=
+ - The current candidate is inserted with =TAB= and selected with =RET=
+ - Candidates sorting by prefix, string length and alphabetically
+ - Completion is automatically terminated after candidate selection
+ - Filter string can contain arbitrary characters and spaces, if
+ ~corfu-quit-at-boundary~ is nil. This is needed when filtering with the
+ [[https://github.com/oantolin/orderless][Orderless]] completion style.
+ - Deferred completion style highlighting for performance
+ - Jumping to location/documentation of current candidate (Company extension)
+ - Support for ~annotation-function~ and ~affixation-function~
* Configuration
-Corfu is available from [[http://elpa.gnu.org/packages/corfu.html][GNU ELPA]],
such that it can be installed directly via
-~package-install~. After installation, the local minor mode can be enabled with
-=M-x corfu-mode=. In order to configure Corfu and other packages in your
-init.el, you may want to use ~use-package~. I recommend to give Orderless
-completion a try, which is different from the familiar prefix TAB completion.
-However Corfu works well with the default completion styles, the use of
-Orderless is not a necessity. Here is an example configuration:
-
-#+begin_src emacs-lisp
- (use-package corfu
- ;; Optional customizations
- ;; :custom
- ;; (corfu-cycle t) ;; Enable cycling for `corfu-next/previous'
- ;; (corfu-auto t) ;; Enable auto completion
- ;; (corfu-quit-at-boundary t) ;; Automatically quit at word boundary
- ;; (corfu-quit-no-match t) ;; Automatically quit if there is no match
-
- ;; Optionally use TAB for cycling, default is `corfu-complete'.
- ;; :bind (:map corfu-map
- ;; ("TAB" . corfu-next)
- ;; ([tab] . corfu-next)
- ;; ("S-TAB" . corfu-previous)
- ;; ([backtab] . corfu-previous))
-
- ;; You may want to enable Corfu only for certain modes.
- ;; :hook ((prog-mode . corfu-mode)
- ;; (shell-mode . corfu-mode)
- ;; (eshell-mode . corfu-mode))
-
- ;; Recommended: Enable Corfu globally.
- ;; This is recommended since dabbrev can be used globally (M-/).
- :init
- (corfu-global-mode))
-
- ;; Optionally use the `orderless' completion style.
- ;; Enable `partial-completion' for files to allow path expansion.
- ;; You may prefer to use `initials' instead of `partial-completion'.
- (use-package orderless
- :init
- (setq completion-styles '(orderless)
- completion-category-defaults nil
- completion-category-overrides '((file (styles .
(partial-completion))))))
-
- ;; Dabbrev works with Corfu
- (use-package dabbrev
- ;; Swap M-/ and C-M-/
- :bind (("M-/" . dabbrev-completion)
- ("C-M-/" . dabbrev-expand)))
-
- ;; A few more useful configurations...
- (use-package emacs
- :init
- ;; TAB cycle if there are only few candidates
- (setq completion-cycle-threshold 3)
-
- ;; Enable indentation+completion using the TAB key.
- ;; `completion-at-point' is often bound to M-TAB.
- (setq tab-always-indent 'complete))
-#+end_src
+ Corfu is available from [[http://elpa.gnu.org/packages/corfu.html][GNU
ELPA]], such that it can be installed directly via
+ ~package-install~. After installation, the local minor mode can be enabled
with
+ =M-x corfu-mode=. In order to configure Corfu and other packages in your
+ init.el, you may want to use ~use-package~. I recommend to give Orderless
+ completion a try, which is different from the familiar prefix TAB completion.
+ However Corfu works well with the default completion styles, the use of
+ Orderless is not a necessity. Here is an example configuration:
+
+ #+begin_src emacs-lisp
+ (use-package corfu
+ ;; Optional customizations
+ ;; :custom
+ ;; (corfu-cycle t) ;; Enable cycling for `corfu-next/previous'
+ ;; (corfu-auto t) ;; Enable auto completion
+ ;; (corfu-quit-at-boundary t) ;; Automatically quit at word boundary
+ ;; (corfu-quit-no-match t) ;; Automatically quit if there is no match
+
+ ;; Optionally use TAB for cycling, default is `corfu-complete'.
+ ;; :bind (:map corfu-map
+ ;; ("TAB" . corfu-next)
+ ;; ([tab] . corfu-next)
+ ;; ("S-TAB" . corfu-previous)
+ ;; ([backtab] . corfu-previous))
+
+ ;; You may want to enable Corfu only for certain modes.
+ ;; :hook ((prog-mode . corfu-mode)
+ ;; (shell-mode . corfu-mode)
+ ;; (eshell-mode . corfu-mode))
+
+ ;; Recommended: Enable Corfu globally.
+ ;; This is recommended since dabbrev can be used globally (M-/).
+ :init
+ (corfu-global-mode))
+
+ ;; Optionally use the `orderless' completion style.
+ ;; Enable `partial-completion' for files to allow path expansion.
+ ;; You may prefer to use `initials' instead of `partial-completion'.
+ (use-package orderless
+ :init
+ (setq completion-styles '(orderless)
+ completion-category-defaults nil
+ completion-category-overrides '((file (styles .
(partial-completion))))))
+
+ ;; Dabbrev works with Corfu
+ (use-package dabbrev
+ ;; Swap M-/ and C-M-/
+ :bind (("M-/" . dabbrev-completion)
+ ("C-M-/" . dabbrev-expand)))
+
+ ;; A few more useful configurations...
+ (use-package emacs
+ :init
+ ;; TAB cycle if there are only few candidates
+ (setq completion-cycle-threshold 3)
+
+ ;; Enable indentation+completion using the TAB key.
+ ;; `completion-at-point' is often bound to M-TAB.
+ (setq tab-always-indent 'complete))
+ #+end_src
* Key bindings
-Corfu uses a transient keymap ~corfu-map~ which is active while the popup is
shown.
-The keymap defines the following remappings and bindings:
-
-- ~beginning-of-buffer~ -> ~corfu-first~
-- ~end-of-buffer~ -> ~corfu-last~
-- ~scroll-down-command~ -> ~corfu-scroll-down~
-- ~scroll-up-command~ -> ~corfu-scroll-up~
-- ~next-line~, =down=, =M-n= -> ~corfu-next~
-- ~previous-line~, =up=, =M-p= -> ~corfu-previous~
-- ~completion-at-point~, =TAB= -> ~corfu-complete~
-- =RET= -> ~corfu-insert~
-- =M-g= -> ~corfu-show-location~
-- =M-h= -> ~corfu-show-documentation~
-- =C-g=, =ESC ESC ESC= -> ~corfu-quit~
+ Corfu uses a transient keymap ~corfu-map~ which is active while the popup is
shown.
+ The keymap defines the following remappings and bindings:
+
+ - ~beginning-of-buffer~ -> ~corfu-first~
+ - ~end-of-buffer~ -> ~corfu-last~
+ - ~scroll-down-command~ -> ~corfu-scroll-down~
+ - ~scroll-up-command~ -> ~corfu-scroll-up~
+ - ~next-line~, =down=, =M-n= -> ~corfu-next~
+ - ~previous-line~, =up=, =M-p= -> ~corfu-previous~
+ - ~completion-at-point~, =TAB= -> ~corfu-complete~
+ - =RET= -> ~corfu-insert~
+ - =M-g= -> ~corfu-show-location~
+ - =M-h= -> ~corfu-show-documentation~
+ - =C-g=, =ESC ESC ESC= -> ~corfu-quit~
* Complementary packages
-Corfu works well together with all packages providing code completion via the
-~completion-at-point-functions~. Furthermore it supports various completion
-styles, including the advanced
[[https://github.com/oantolin/orderless][Orderless]] completion style, where
the filtering
-expressions are separated by spaces (see ~corfu-quit-at-boundary~).
+ Corfu works well together with all packages providing code completion via the
+ ~completion-at-point-functions~. Furthermore it supports various completion
+ styles, including the advanced
[[https://github.com/oantolin/orderless][Orderless]] completion style, where
the filtering
+ expressions are separated by spaces (see ~corfu-quit-at-boundary~).
-You may also want to look into my
[[https://github.com/minad/vertico][Vertico]] package. Vertico is the minibuffer
-counterpart of Corfu.
+ You may also want to look into my
[[https://github.com/minad/vertico][Vertico]] package. Vertico is the minibuffer
+ counterpart of Corfu.
* Caveats
-Corfu works in most scenarios. However there are a few known technical caveats.
+ Corfu works in most scenarios. However there are a few known technical
caveats.
-- Corfu falls back to the default Completion buffer on non-graphical displays,
- since Corfu requires child frames.
-- The abort handling could be improved, for example the input could be undone.
-- Company kind icons, docsig and match data are not supported
- (~company-kind~, ~company-docsig~, ~company-match~).
-- No support for multi-backends like Company. A possible multi-capf backend
- could be implemented.
-- No sorting by history, since ~completion-at-point~ does not
- maintain a history (See branch =history= for a possible solution).
+ - Corfu falls back to the default Completion buffer on non-graphical
displays,
+ since Corfu requires child frames.
+ - The abort handling could be improved, for example the input could be
undone.
+ - Company kind icons, docsig and match data are not supported
+ (~company-kind~, ~company-docsig~, ~company-match~).
+ - No support for multi-backends like Company. A possible multi-capf backend
+ could be implemented.
+ - No sorting by history, since ~completion-at-point~ does not
+ maintain a history (See branch =history= for a possible solution).
* Contributions
-Since this package is part of [[http://elpa.gnu.org/packages/corfu.html][GNU
ELPA]] contributions require a copyright
-assignment to the FSF.
+ Since this package is part of [[http://elpa.gnu.org/packages/corfu.html][GNU
ELPA]] contributions require a copyright
+ assignment to the FSF.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/corfu 6cfa4e9: Indent README,
ELPA Syncer <=