summaryrefslogtreecommitdiff
path: root/elpa/company-20220326.48/company.info
diff options
context:
space:
mode:
authormattkae <mattkae@protonmail.com>2022-06-07 08:23:47 -0400
committermattkae <mattkae@protonmail.com>2022-06-07 08:23:47 -0400
commitbd18a38c2898548a3664a9ddab9f79c84f2caf4a (patch)
tree95b9933376770381bd8859782ae763be81c2d72b /elpa/company-20220326.48/company.info
parentb07628dddf418d4f47b858e6c35fd3520fbaeed2 (diff)
parentef160dea332af4b4fe5e2717b962936c67e5fe9e (diff)
Merge conflict
Diffstat (limited to 'elpa/company-20220326.48/company.info')
-rw-r--r--elpa/company-20220326.48/company.info1695
1 files changed, 0 insertions, 1695 deletions
diff --git a/elpa/company-20220326.48/company.info b/elpa/company-20220326.48/company.info
deleted file mode 100644
index c01ccb5..0000000
--- a/elpa/company-20220326.48/company.info
+++ /dev/null
@@ -1,1695 +0,0 @@
-This is company.info, produced by makeinfo version 6.7 from
-company.texi.
-
-This user manual is for Company version 0.9.14snapshot (8 January 2022).
-
-Copyright © 2021-2022 Free Software Foundation, Inc.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.3 or any later version published by the Free Software
- Foundation.
-INFO-DIR-SECTION Emacs misc features
-START-INFO-DIR-ENTRY
-* Company: (company). A modular text completion framework.
-END-INFO-DIR-ENTRY
-
-
-File: company.info, Node: Top, Next: Overview, Up: (dir)
-
-Company
-*******
-
-Company is a modular text completion framework for GNU Emacs.
-
-The goal of this document is to lay out the foundational knowledge of
-the package, so that the readers of the manual could competently start
-adapting Company to their needs and preferences.
-
-This user manual is for Company version 0.9.14snapshot (8 January 2022).
-
-Copyright © 2021-2022 Free Software Foundation, Inc.
-
- Permission is granted to copy, distribute and/or modify this
- document under the terms of the GNU Free Documentation License,
- Version 1.3 or any later version published by the Free Software
- Foundation.
-
-* Menu:
-
-* Overview:: Terminology and Structure
-* Getting Started:: Quick Start Guide
-* Customization:: User Options
-* Frontends:: Frontends Usage Instructions
-* Backends:: Backends Usage Instructions
-* Troubleshooting:: When Something Goes Wrong
-* Index::
-
-— The Detailed Node Listing —
-
-Overview
-
-* Terminology::
-* Structure::
-
-Getting Started
-
-* Installation::
-* Initial Setup::
-* Usage Basics::
-* Commands::
-
-Customization
-
-* Customization Interface::
-* Configuration File::
-
-Frontends
-
-* Tooltip Frontends::
-* Preview Frontends::
-* Echo Frontends::
-* Candidates Search::
-* Filter Candidates::
-* Quick Access a Candidate::
-
-Backends
-
-* Backends Usage Basics::
-* Grouped Backends::
-* Package Backends::
-* Candidates Post-Processing::
-
-
-
-File: company.info, Node: Overview, Next: Getting Started, Prev: Top, Up: Top
-
-1 Overview
-**********
-
-“Company” is a modular text completion framework for GNU Emacs.
-
-In other words, it is a package for retrieving, manipulating, and
-displaying text completion candidates. It aims to assist developers,
-writers, and scientists during code and text writing.
-
-* Menu:
-
-* Terminology::
-* Structure::
-
-
-File: company.info, Node: Terminology, Next: Structure, Up: Overview
-
-1.1 Terminology
-===============
-
-“Completion” is an act of intelligibly guessing possible variants of
-words based on already typed characters. To “complete” a word means to
-insert a correctly guessed variant into the buffer.
-
-Consequently, the “candidates” are the aforementioned guessed variants
-of words. Each of the candidates has the potential to be chosen for
-successful completion. And each of the candidates contains the
-initially typed characters: either only at the beginning (so-called
-“prefix matches”), or also inside (“non-prefix matches”) of a candidate
-(1).
-
-The package’s name “Company” is based on the combination of the two
-words: ‘Complete’ and ‘Anything’. These words reflect the package’s
-commitment to handling completion candidates and its extensible nature
-allowing it to cover a wide range of usage scenarios.
-
- ---------- Footnotes ----------
-
- (1) A good starting point to learn about types of matches is to play
-with the Emacs’s user option ‘completion-styles’. For illustrations on
-how Company visualizes the matches, *note Frontends::.
-
-
-File: company.info, Node: Structure, Prev: Terminology, Up: Overview
-
-1.2 Structure
-=============
-
-The Company is easily extensible because its significant building blocks
-are pluggable modules: backends (*note Backends::) and frontends (*note
-Frontends::).
-
-The “backends” are responsible for retrieving completion candidates;
-which are then outputted by the “frontends”. For an easy and quick
-initial setup, Company is supplied with the preconfigured sets of the
-backends and frontends. The default behavior of the modules can be
-adjusted per particular needs, goals, and preferences. It is also
-typical to utilize backends from a variety of third-party libraries
-(https://github.com/company-mode/company-mode/wiki/Third-Party-Packages),
-developed to be pluggable with Company.
-
-But Company consists not only of the backends and frontends.
-
-A core of the package plays the role of a controller, connecting the
-modules, making them work together; and exposing configurations and
-commands for a user to operate with. For more details, *note
-Customization:: and *note Commands::.
-
-Also, Company is bundled with an alternative workflow configuration
-“company-tng” — defining ‘company-tng-frontend’, ‘company-tng-mode’, and
-‘company-tng-map’ — that allows performing completion with just <TAB>.
-To enable this configuration, add the following line to the Emacs
-initialization file (*note (emacs)Init File::):
-
- (add-hook 'after-init-hook 'company-tng-mode)
-
-
-File: company.info, Node: Getting Started, Next: Customization, Prev: Overview, Up: Top
-
-2 Getting Started
-*****************
-
-This chapter provides basic instructions for Company setup and usage.
-
-* Menu:
-
-* Installation::
-* Initial Setup::
-* Usage Basics::
-* Commands::
-
-
-File: company.info, Node: Installation, Next: Initial Setup, Up: Getting Started
-
-2.1 Installation
-================
-
-Company package is distributed via commonly used package archives in a
-form of both stable and development releases. To install Company, type
-‘M-x package-install <RET> company <RET>’.
-
-For more details on Emacs package archives, *note (emacs)Packages::.
-
-
-File: company.info, Node: Initial Setup, Next: Usage Basics, Prev: Installation, Up: Getting Started
-
-2.2 Initial Setup
-=================
-
-The package Company provides a minor mode “company-mode”.
-
-To activate the _company-mode_, execute the command ‘M-x company-mode’
-that toggles the mode on and off. When it is switched on, the mode line
-(*note (emacs)Mode line::) should indicate its presence with an
-indicator ‘company’.
-
-After _company-mode_ had been enabled, the package auto-starts
-suggesting completion candidates. The candidates are retrieved and
-shown according to the typed characters and the default (until a user
-specifies otherwise) configurations.
-
-To have Company always enabled for the following sessions, add the line
-‘(global-company-mode)’ to the Emacs configuration file
-(*note (emacs)Init File::).
-
-
-File: company.info, Node: Usage Basics, Next: Commands, Prev: Initial Setup, Up: Getting Started
-
-2.3 Usage Basics
-================
-
-By default — having _company-mode_ enabled (*note Initial Setup::) — a
-tooltip with completion candidates is shown when a user types in a few
-characters.
-
-To initiate completion manually, use the command ‘M-x company-complete’.
-
-To select next or previous of the shown completion candidates, use
-respectively key bindings ‘C-n’ and ‘C-p’, then do one of the following:
-
- • Hit <RET> to choose a selected candidate for completion.
-
- • Hit <TAB> to complete with the “common part”: characters present at
- the beginning of all the candidates.
-
- • Hit ‘C-g’ to stop activity of Company.
-
-
-File: company.info, Node: Commands, Prev: Usage Basics, Up: Getting Started
-
-2.4 Commands
-============
-
-Under the hood, mentioned in the previous section keys are bound to the
-commands of the out-of-the-box Company.
-
-‘C-n’
-‘M-n’
- Select the next candidate (‘company-select-next-or-abort’,
- ‘company-select-next’).
-
-‘C-p’
-‘M-p’
- Select the previous candidate (‘company-select-previous-or-abort’,
- ‘company-select-previous’).
-
-‘RET’
-‘<return>’
- Insert the selected candidate (‘company-complete-selection’).
-
-‘TAB’
-‘<tab>’
- Insert the common part of all the candidates
- (‘company-complete-common’).
-
-‘C-g’
-‘<ESC ESC ESC>’
- Cancel _company-mode_ activity (‘company-abort’).
-
-‘C-h’
-‘<f1>’
- Display a buffer with the documentation for the selected candidate
- (‘company-show-doc-buffer’).
-
-‘C-w’
- Display a buffer with the definition of the selected candidate
- (‘company-show-location’).
-
-The full list of the default key bindings is stored in the variables
-‘company-active-map’ and ‘company-search-map’ (1).
-
-Moreover, Company is bundled with a number of convenience commands that
-do not have default key bindings defined. The following examples
-illustrate how to assign key bindings to such commands.
-
- (global-set-key (kbd "<tab>") #'company-indent-or-complete-common)
-
- (with-eval-after-load 'company
- (define-key company-active-map (kbd "M-/") #'company-complete))
-
- (with-eval-after-load 'company
- (define-key company-active-map
- (kbd "TAB")
- #'company-complete-common-or-cycle)
- (define-key company-active-map
- (kbd "<backtab>")
- (lambda ()
- (interactive)
- (company-complete-common-or-cycle -1))))
-
-In the same manner, an additional key can be assigned to a command or a
-command can be unbound from a key. For instance:
-
- (with-eval-after-load 'company
- (define-key company-active-map (kbd "M-.") #'company-show-location)
- (define-key company-active-map (kbd "RET") nil))
-
- ---------- Footnotes ----------
-
- (1) For a more user-friendly output of the pre-defined key bindings,
-utilize ‘M-x describe-keymap <RET> company-active-map’ or
-‘C-h f <RET> company-mode’.
-
-
-File: company.info, Node: Customization, Next: Frontends, Prev: Getting Started, Up: Top
-
-3 Customization
-***************
-
-Emacs provides two equally acceptable ways for user preferences
-configuration: via customization interface (for more details, *note
-(emacs)Easy Customization::) and a configuration file
-(*note (emacs)Init File::). Naturally, Company can be configured by
-both of these approaches.
-
-* Menu:
-
-* Customization Interface::
-* Configuration File::
-
-
-File: company.info, Node: Customization Interface, Next: Configuration File, Up: Customization
-
-3.1 Customization Interface
-===========================
-
-In order to employ the customization interface, run
-‘M-x customize-group <RET> company’.
-
-This interface outputs all the options available for user customization,
-so you may find it beneficial to review this list even if you are going
-to configure Company with the configuration file.
-
-For instructions on how to change the settings, *note (emacs)Changing a
-Variable::.
-
-
-File: company.info, Node: Configuration File, Prev: Customization Interface, Up: Customization
-
-3.2 Configuration File
-======================
-
-Company is a customization-rich package. This section lists some of the
-core settings that influence the overall behavior of the _company-mode_.
-
- -- User Option: company-minimum-prefix-length
- This is one of the values (together with ‘company-idle-delay’),
- based on which Company auto-stars looking up completion candidates.
- This option configures how many characters have to be typed in by a
- user before candidates start to be collected and displayed. An
- often choice nowadays is to configure this option to a lower number
- than the default value of ‘3’.
-
- -- User Option: company-idle-delay
- This is the second of the options that configure Company’s
- auto-start behavior (together with
- ‘company-minimum-prefix-length’). The value of this option defines
- how fast Company is going to react to the typed input, such that
- setting ‘company-idle-delay’ to ‘0’ makes Company react
- immediately, ‘nil’ disables auto-starting, and a larger value
- postpones completion auto-start for that number of seconds. For an
- even fancier setup, set this option value to a predicate function,
- as shown in the following example:
-
- (setq company-idle-delay
- (lambda () (if (company-in-string-or-comment) nil 0.3)))
-
- -- User Option: company-global-modes
- This option allows to specify in which major modes _company-mode_
- can be enabled by ‘(global-company-mode)’. *Note Initial Setup::.
- The default value of ‘t’ enables Company in all major modes.
- Setting ‘company-global-modes’ to ‘nil’ equal in action to toggling
- off _global-company-mode_. Providing a list of major modes results
- in having _company-mode_ enabled in the listed modes only. For the
- opposite result, provide a list of major modes with ‘not’ being the
- first element of the list, as shown in the following example:
-
- (setq company-global-modes '(not erc-mode message-mode eshell-mode))
-
- -- User Option: company-selection-wrap-around
- Enable this option to loop (cycle) the candidates’ selection: after
- selecting the last candidate on the list, a command to select the
- next candidate does so with the first candidate. By default, this
- option is disabled, which means the selection of the next candidate
- stops on the last item. The selection of the previous candidate is
- influenced by this option similarly.
-
- -- User Option: company-require-match
- To allow typing in characters that don’t match the candidates, set
- the value of this option to ‘nil’. For an opposite behavior (that
- is, to disallow non-matching input), set it to ‘t’. By default,
- Company is configured to require a matching input only if a user
- manually enables completion or selects a candidate; by having the
- option configured to call the function ‘company-explicit-action-p’.
-
- -- User Option: company-lighter-base
- This user options allows to configure a string indicator of the
- enabled _company-mode_ in the mode line. The default value is
- ‘company’.
-
- -- User Option: company-insertion-on-trigger
- One more pair of the user options may instruct Company to complete
- with the selected candidate by typing one of the
- ‘company-insertion-triggers’. The user option
- ‘company-insertion-on-trigger’ can be enabled or disabled by
- setting its value to one of: ‘nil’, ‘t’, or a predicate function
- name. *note Predicate: (eintr)Wrong Type of Argument.
-
- -- User Option: company-insertion-triggers
- This option has an effect only when ‘company-insertion-on-trigger’
- is enabled. The value can be one of: a string of characters, a
- list of syntax description characters (*note (elisp)Syntax Class
- Table::), or a predicate function. By default, this user option is
- set to the list of the syntax characters: ‘(?\ ?\) ?.)’, which
- translates to the whitespaces, close parenthesis, and punctuation.
- It is safe to configure the value to a character that can
- potentially be part of a valid completion; in this case, Company
- does not treat such characters as triggers.
-
-Hooks
------
-
-Company exposes the following life-cycle hooks:
-
- -- User Option: company-completion-started-hook
-
- -- User Option: company-completion-cancelled-hook
-
- -- User Option: company-completion-finished-hook
-
- -- User Option: company-after-completion-hook
-
-
-File: company.info, Node: Frontends, Next: Backends, Prev: Customization, Up: Top
-
-4 Frontends
-***********
-
-Company is packaged with several frontends and provides a predefined set
-of enabled frontends. A list of the enabled frontends can be changed by
-configuring the user option ‘company-frontends’.
-
-Each frontend is simply a function that receives a command and acts
-accordingly to it: outputs candidates, hides its output, refreshes
-displayed data, and so on.
-
-All of the Company frontends can be categorized by the type of the
-output into the three groups: “tooltip-”, “preview-”, and “echo-”
-frontends. We overview these groups in the first sections of this
-chapter. The sections that follow are dedicated to the ways the
-displayed candidates can be searched, filtered, and quick-accessed.
-
-* Menu:
-
-* Tooltip Frontends::
-* Preview Frontends::
-* Echo Frontends::
-* Candidates Search::
-* Filter Candidates::
-* Quick Access a Candidate::
-
-
-File: company.info, Node: Tooltip Frontends, Next: Preview Frontends, Up: Frontends
-
-4.1 Tooltip Frontends
-=====================
-
-This group of frontends displays completion candidates in an overlayed
-tooltip (aka pop-up). Company provides three _tooltip frontends_,
-listed below.
-
- -- Function: company-pseudo-tooltip-unless-just-one-frontend
- This is one of the default frontends. It starts displaying a
- tooltip only if more than one completion candidate is available,
- which nicely combines — and it is done so by default — with
- ‘company-preview-if-just-one-frontend’, *note Preview Frontends::.
-
- -- Function: company-pseudo-tooltip-frontend
- This frontend outputs a tooltip for any number of completion
- candidates.
-
- -- Function: company-pseudo-tooltip-unless-just-one-frontend-with-delay
- This is a peculiar frontend, that displays a tooltip only if more
- than one candidate is available, and only after a delay. The delay
- can be configured with the user option
- ‘company-tooltip-idle-delay’. A typical use case for plugging in
- this frontend would be displaying a tooltip only on a manual
- request (when needed), as shown in the following example:
-
- (setq company-idle-delay 0
- company-tooltip-idle-delay 10
- company-require-match nil
- company-frontends
- '(company-pseudo-tooltip-unless-just-one-frontend-with-delay
- company-preview-frontend
- company-echo-metadata-frontend)
- company-backends '(company-capf))
-
- (global-set-key (kbd "<tab>")
- (lambda ()
- (interactive)
- (let ((company-tooltip-idle-delay 0.0))
- (company-complete)
- (and company-candidates
- (company-call-frontends 'post-command)))))
-
-User Options
-------------
-
-To change the _tooltip frontends_ configuration, adjust the following
-user options.
-
- -- User Option: company-tooltip-align-annotations
- An “annotation” is a string that carries additional information
- about a candidate; such as a data type, function arguments, or
- whatever a backend appoints to be a valuable piece of information
- about a candidate. By default, the annotations are shown right
- beside the candidates. Setting the option value to ‘t’ aligns
- annotations to the right side of the tooltip.
-
- (setq company-tooltip-align-annotations t)
-
-
-
- -- User Option: company-tooltip-limit
- Controls the maximum number of the candidates shown simultaneously
- in the tooltip (the default value is ‘10’). When the number of the
- available candidates is larger than this option’s value, Company
- paginates the results.
-
- (setq company-tooltip-limit 4)
-
-
-
- -- User Option: company-tooltip-offset-display
- Use this option to choose in which way to output paginated results.
- The default value is ‘scrollbar’. Another supported value is
- ‘lines’; choose it to show the quantity of the candidates not
- displayed by the current tooltip page.
-
- (setq company-tooltip-offset-display 'lines)
-
-
-
- -- User Option: company-tooltip-minimum
- This user option acts only when a tooltip is shown close to the
- bottom of a window. It guarantees visibility of this number of
- completion candidates below point. When the number of lines
- between point and the bottom of a window is less than
- ‘company-tooltip-minimum’ value, the tooltip is displayed above
- point.
-
- (setq company-tooltip-minimum 4)
-
-
-
-
-
-
- -- User Option: company-tooltip-flip-when-above
- This is one of the fancy features Company has to suggest. When
- this setting is enabled, no matter if a tooltip is shown above or
- below point, the candidates are always listed starting near point.
- (Putting it differently, the candidates are mirrored horizontally
- if a tooltip changes its position, instead of being commonly listed
- top-to-bottom.)
-
- (setq company-tooltip-flip-when-above t)
-
-
-
- -- User Option: company-tooltip-minimum-width
- Sets the minimum width of a tooltip, excluding the margins and the
- scroll bar. Changing this value especially makes sense if a user
- navigates between tooltip pages. Keeping this value at the default
- ‘0’ allows Company to always adapt the width of the tooltip to the
- longest shown candidate. Enlarging ‘company-tooltip-minimum-width’
- prevents possible significant shifts in the width of the tooltip
- when navigating to the next/previous tooltip page. (For an
- alternate solution, see ‘company-tooltip-width-grow-only’.)
-
- -- User Option: company-tooltip-width-grow-only
- This is another way to restrict auto-adaptation of the tooltip
- width (another is by adjusting ‘company-tooltip-minimum-width’
- value) when navigating between the tooltip pages.
-
- -- User Option: company-tooltip-maximum-width
- This user option controls the maximum width of the tooltip inner
- area. By default, its value is pseudo-limitless, potentially
- permitting the output of extremely long candidates. But if long
- lines become an issue, set this option to a smaller number, such as
- ‘60’ or ‘70’.
-
- -- User Option: company-tooltip-margin
- Controls the width of the “margin” on the sides of the tooltip
- inner area. If ‘company-format-margin-function’ is set,
- ‘company-tooltip-margin’ defines only the right margin.
-
- (setq company-tooltip-margin 3)
-
-
-
-Candidates Icons
-----------------
-
-An “icon” is an image or a text that represents a candidate’s kind; it
-is displayed in front of a candidate. The term “kind” here stands for a
-high-level category a candidate fits into. (Such as ‘array’,
-‘function’, ‘file’, ‘string’, ‘color’, etc. For an extended list of the
-possible _kinds_, see the user option ‘company-text-icons-mapping’ or
-the variable ‘company-vscode-icons-mapping’.)
-
- -- User Option: company-format-margin-function
- Allows setting a function to format the left margin of a tooltip
- inner area; namely, to output candidate’s _icons_. The predefined
- formatting functions are listed below. A user may also set this
- option to a custom function. To disable left margin formatting,
- set the value of the option to ‘nil’ (this way control over the
- size of the left margin returns to the user option
- ‘company-tooltip-margin’).
-
- -- Function: company-vscode-dark-icons-margin
- -- Function: company-vscode-light-icons-margin
- These functions utilize VSCode dark and light theme icon sets (1).
- The related two user options are ‘company-icon-size’ and
- ‘company-icon-margin’.
-
-
-
- -- Function: company-text-icons-margin
- This function produces letters and symbols formatted according to
- the ‘company-text-icons-format’. The rest of the user options
- affecting this function behavior are listed below.
-
-
-
- -- Function: company-dot-icons-margin
- This function produces a colored Unicode symbol of a circle
- formatted according to the ‘company-dot-icons-format’. Other user
- options that affect the resulting output are listed below.
-
-
-
-The following user options influence appearance of the _text_ and _dot_
-_icons_.
-
- -- User Option: company-text-icons-mapping
- Lists candidates’ _kinds_ with their corresponding _icons_
- configurations.
-
- -- User Option: company-text-face-extra-attributes
- A list of face attributes to be applied to the _icons_.
-
- (setq company-text-face-extra-attributes
- '(:weight bold :slant italic))
-
-
-
- -- User Option: company-text-icons-add-background
- If this option is enabled, when an _icon_ doesn’t have a background
- configured by ‘company-text-icons-mapping’, then a generated
- background is applied.
-
- (setq company-text-icons-add-background t)
-
-
-
- -- Function: company-detect-icons-margin
- This is the default margin formatting function, that applies one of
- the ‘company-vscode-*-icons-margin’ functions if ‘vscode’ icons set
- is supported; otherwise applies a ‘company-text-icons-margin’
- function.
-
-Faces
------
-
-Out-of-the-box Company defines and configures distinguished faces (*note
-(emacs)Faces::) for light and dark themes. Moreover, some of the
-built-in and third-party themes fine-tune Company to fit their palettes.
-That is why there’s often no real need to make such adjustments on a
-user side. However, this chapter presents some hints on where to start
-customizing Company interface.
-
-Namely, the look of a tooltip is controlled by the ‘company-tooltip*’
-named faces.
-
-The following example hints how a user may approach tooltip faces
-customization:
-
- (custom-set-faces
- '(company-tooltip
- ((t (:background "ivory" :foreground "MistyRose3"))))
- '(company-tooltip-selection
- ((t (:background "LemonChiffon1" :foreground "MistyRose4"))))
- '(company-tooltip-common ((t (:weight bold :foreground "pink1"))))
- '(company-scrollbar-fg ((t (:background "ivory3"))))
- '(company-scrollbar-bg ((t (:background "ivory2"))))
- '(company-tooltip-annotation ((t (:foreground "MistyRose2")))))
-
-
-
- ---------- Footnotes ----------
-
- (1) SVG images support has to be enabled in Emacs for these icons set
-to be used. The supported images types can be checked with ‘C-h v
-image-types’. Before compiling Emacs, make sure ‘librsvg’ is installed
-on your system.
-
-
-File: company.info, Node: Preview Frontends, Next: Echo Frontends, Prev: Tooltip Frontends, Up: Frontends
-
-4.2 Preview Frontends
-=====================
-
-Frontends in this group output a completion candidate or a common part
-of the candidates temporarily inline, as if a word had already been
-completed (1).
-
- -- Function: company-preview-if-just-one-frontend
- This is one of the frontends enabled by default. This frontend
- outputs a preview if only one completion candidate is available; it
- is a good suit to be combined with
- ‘company-pseudo-tooltip-unless-just-one-frontend’, *note Tooltip
- Frontends::.
-
- -- Function: company-preview-frontend
- This frontend outputs the first of the available completion
- candidates inline for a preview.
-
- -- Function: company-preview-common-frontend
- As the name of this frontend suggests, it outputs for a preview
- only a common part of the candidates.
-
-The look of the preview is controlled by the following faces:
-‘company-preview’, ‘company-preview-common’, and
-‘company-preview-search’.
-
-
-
-
-
-
- ---------- Footnotes ----------
-
- (1) The candidates retrieved according to ‘non-prefix’ matches (*note
-Terminology::) may be shown in full after point.
-
-
-File: company.info, Node: Echo Frontends, Next: Candidates Search, Prev: Preview Frontends, Up: Frontends
-
-4.3 Echo Frontends
-==================
-
-The frontends listed in this section display information in the Emacs’s
-echo area, *note (emacs)Echo Area::.
-
- -- Function: company-echo-metadata-frontend
- This frontend is a part of the predefined frontends set. Its
- responsibility is to output a short documentation string for a
- completion candidate in the echo area.
-
-
-
-
-The last pair of the built-in frontends isn’t that commonly used and not
-as full-featured as the previously reviewed _tooltip-_ and _preview-_
-frontends, but still, feel free to play with them and have some fun!
-
- -- Function: company-echo-frontend
- This frontend outputs all the available completion candidates in
- the echo area.
-
-
-
- -- Function: company-echo-strip-common-frontend
- It acts similarly to the previous frontend but outputs a common
- part of the candidates once for all of them.
-
-
-
- -- User Option: company-echo-truncate-lines
- This is the only _echo frontends_ targeted setting. When enabled,
- the output is truncated to fit the echo area. This setting is set
- to ‘t’ by default.
-
-To apply visual changes to the output of these frontends, configure the
-faces ‘company-echo’ and ‘company-echo-common’.
-
-
-File: company.info, Node: Candidates Search, Next: Filter Candidates, Prev: Echo Frontends, Up: Frontends
-
-4.4 Candidates Search
-=====================
-
-By default, when _company-mode_ is in action, a key binding ‘C-s’ starts
-looking for matches to additionally typed characters among the displayed
-candidates. When a search is initiated, an indicator
-‘Search: CHARACTERS’ is shown in the Emacs’s mode line.
-
-To quit the search mode, hit ‘C-g’.
-
- -- User Option: company-search-regexp-function
- The value of this user option must be a function that interprets
- the search input. By default it is set to the function
- ‘regexp-quote’, with looks for an exact match. Company defines
- several more functions suitable for this option. They are listed
- below.
-
- -- Function: company-search-words-regexp
- Searches for words separated with spaces in the given order.
-
- -- Function: company-search-words-in-any-order-regexp
- Searches for words separated with spaces in any order.
-
- -- Function: company-search-flex-regexp
- Searches for characters in the given order, with anything in
- between.
-
-Search matches are distinguished by the ‘company-tooltip-search’ and
-‘company-tooltip-search-selection’ faces.
-
-
-
-
-File: company.info, Node: Filter Candidates, Next: Quick Access a Candidate, Prev: Candidates Search, Up: Frontends
-
-4.5 Filter Candidates
-=====================
-
-Candidates filtering is started by typing the default key binding
-‘C-M-s’. Filtering acts on a par with the search (*note Candidates
-Search::), indicating its activation by the text ‘Filter: CHARACTERS’ in
-the mode line and influencing the displayed candidates. The difference
-is that the filtering, as its name suggests, keeps displaying only the
-matching candidates (in addition to distinguishing the matches with a
-face).
-
-To quit the filtering, hit ‘C-g’. To toggle between search and filter
-states, use key binding ‘C-o’.
-
-
-
-
-File: company.info, Node: Quick Access a Candidate, Prev: Filter Candidates, Up: Frontends
-
-4.6 Quick Access a Candidate
-============================
-
-Company provides a way to choose a candidate for completion without
-having to navigate to that candidate: by hitting one of the quick-access
-keys. By default, quick-access key bindings utilize a modifier <META>
-and one of the digits, such that pressing ‘M-1’ completes with the first
-candidate on the list and ‘M-0’ with the tenth candidate.
-
-If ‘company-show-quick-access’ is enabled, _tooltip-_ and _echo-_
-frontends show quick-access hints.
-
- (setq company-show-quick-access 'left)
-
-
-
-
-
-
-
-
-
-To customize the key bindings, either do it via Customization Interface
-(*note Customization Interface::) or use the following approach:
-
- (custom-set-variables
- '(company-quick-access-keys '("a" "o" "e" "u" "i"))
- '(company-quick-access-modifier 'super))
-
-A modifier should be one of ‘meta’, ‘super’, ‘hyper’, ‘ control’.
-
-The following example applies a bit of customization and demonstrates
-how to change quick-access hints faces.
-
- (setq company-show-quick-access t)
-
- (custom-set-faces
- '(company-tooltip-quick-access ((t (:foreground "pink1"))))
- '(company-tooltip-quick-access-selection
- ((t (:foreground "pink1" :slant italic)))))
-
-
-
-
-File: company.info, Node: Backends, Next: Troubleshooting, Prev: Frontends, Up: Top
-
-5 Backends
-**********
-
-We can metaphorically say that each backend is like an engine. (The
-reality is even better since backends are just functions.) Fueling such
-an engine with a command causes the production of material for Company
-to move further on. Typically, moving on means outputting that material
-to a user via one or several configured frontends, *note Frontends::.
-
-Just like Company provides a preconfigured list of the enabled
-frontends, it also defines a list of the backends to rely on by default.
-This list is stored in the user option ‘company-backends’. The
-docstring of this variable has been a source of valuable information for
-years. That’s why we’re going to stick to a tradition and suggest
-reading the output of ‘C-h v company-backends’ for insightful details
-about backends. Nevertheless, the fundamental concepts are described in
-this user manual too.
-
-* Menu:
-
-* Backends Usage Basics::
-* Grouped Backends::
-* Package Backends::
-* Candidates Post-Processing::
-
-
-File: company.info, Node: Backends Usage Basics, Next: Grouped Backends, Up: Backends
-
-5.1 Backends Usage Basics
-=========================
-
-One of the significant concepts to understand about Company is that the
-package relies on one backend at a time (1). The backends are invoked
-one by one, in the sequential order of the items on the
-‘company-backends’ list.
-
-The name of the currently active backend is shown in the mode line and
-in the output of the command ‘M-x company-diag’.
-
-In most cases (mainly to exclude false-positive results), the next
-backend is not invoked automatically. For the purpose of invoking the
-next backend, use the command ‘company-other-backend’: either by calling
-it with ‘M-x’ or by binding the command to the keys of your choice, such
-as:
-
- (global-set-key (kbd "C-c C-/") #'company-other-backend)
-
-It is also possible to specifically start a backend with the command
-‘M-x company-begin-backend’ or by calling a backend by its name, for
-instance: ‘M-x company-capf’. As usual for Emacs, such backends calls
-can be assigned to key bindings, for example:
-
- (global-set-key (kbd "C-c y") 'company-yasnippet)
-
- ---------- Footnotes ----------
-
- (1) The grouped backends act as one complex backend. *Note Grouped
-Backends::.
-
-
-File: company.info, Node: Grouped Backends, Next: Package Backends, Prev: Backends Usage Basics, Up: Backends
-
-5.2 Grouped Backends
-====================
-
-In many cases, it can be desirable to receive candidates from several
-backends simultaneously. This can be achieved by configuring “grouped
-backends”: a sub-list of backends in the ‘company-backends’ list, that
-is handled specifically by Company.
-
-The most important part of this handling is the merge of the completion
-candidates from the grouped backends. (But only from the backends that
-return the same _prefix_ value, see ‘C-h v company-backends’ for more
-details.)
-
-To keep the candidates organized in accordance with the grouped backends
-order, add the keyword ‘:separate’ to the list of the grouped backends.
-The following example illustrates this.
-
- (defun my-text-mode-hook ()
- (setq-local company-backends
- '((company-dabbrev company-ispell :separate)
- company-files)))
-
- (add-hook 'text-mode-hook #'my-text-mode-hook)
-
-Another keyword ‘:with’ helps to make sure the results from major/minor
-mode agnostic backends (such as _company-yasnippet_,
-_company-dabbrev-code_) are returned without preventing results from
-context-aware backends (such as _company-capf_ or _company-clang_). For
-this feature to work, put backends dependent on a mode at the beginning
-of the grouped backends list, then put a keyword ‘:with’, and only then
-put context agnostic backend(s), as shown in the following concise
-example:
-
- (setq company-backends '((company-capf :with company-yasnippet)))
-
-
-File: company.info, Node: Package Backends, Next: Candidates Post-Processing, Prev: Grouped Backends, Up: Backends
-
-5.3 Package Backends
-====================
-
-The following sections give a short overview of the commonly used
-backends bundled with Company. Each section is devoted to one of the
-roughly outlined groups of the backends.
-
-Some of the backends expose user options for customization; a few of
-these options are introduced below. For those who would like to fetch
-the full list of a backend’s user options, we suggest doing one of the
-following:
-
- • Execute command ‘M-x customize-group <RET> <backend-name>’.
-
- • Open the source file of the backend and run
- ‘M-x occur <RET> ^(defcustom’.
-
- − Optionally, search for the matches with
- ‘M-x isearch <RET> (defcustom’.
-
-* Menu:
-
-* Code Completion::
-* Text Completion::
-* File Name Completion::
-* Template Expansion::
-
-
-File: company.info, Node: Code Completion, Next: Text Completion, Up: Package Backends
-
-5.3.1 Code Completion
----------------------
-
- -- Function: company-capf
- In the Emacs’s world, the current tendency is to have the
- completion logic provided by ‘completion-at-point-functions’ (CAPF)
- implementations. [Among the other things, this is what the popular
- packages that support language server protocol (LSP) also rely on.]
-
- Since _company-capf_ works as a bridge to the standard CAPF
- facility, it is probably the most often used and recommended
- backend nowadays, including for Emacs Lisp coding.
-
- Just to illustrate, the following minimal backends setup
-
- (setq company-backends '((company-capf company-dabbrev-code)))
-
- might cover a large number of basic use cases, especially so in
- major modes that have CAPF support implemented.
-
- For more details on CAPF, *note (elisp)Completion in Buffers::.
-
- -- Function: company-dabbrev-code
- This backend works similarly to the built-in Emacs package
- _dabbrev_, searching for completion candidates inside the contents
- of the open buffer(s). Internally, its based on the backend
- _company-dabbrev_ (*note Text Completion::).
-
- -- Function: company-keywords
- This backend provides completions for many of the widely spread
- programming languages _keywords_: words bearing specific meaning in
- a language.
-
- -- Function: company-clang
- As the name suggests, use this backend to get completions from
- _Clang_ compiler; that is, for the languages in the _C_ language
- family: _C_, _C++_, _Objective-C_.
-
- -- Function: company-semantic
- This backend relies on a built-in Emacs package that provides
- language-aware editing commands based on source code parsers, *note
- (emacs)Semantic::. Having enabled _semantic-mode_ makes it to be
- used by the CAPF mechanism (*note (emacs)Symbol Completion::),
- hence a user may consider enabling _company-capf_ backend instead.
-
- -- Function: company-etags
- This backend works on top of a built-in Emacs package _etags_,
- *note (emacs)Tags Tables::. Similarly to aforementioned _Semantic_
- usage, tags-based completions now are a part of the Emacs’ CAPF
- facility, therefore a user may consider switching to _company-capf_
- backend.
-
-
-File: company.info, Node: Text Completion, Next: File Name Completion, Prev: Code Completion, Up: Package Backends
-
-5.3.2 Text Completion
----------------------
-
- -- Function: company-dabbrev
- This backend works similarly to the built-in Emacs package
- _dabbrev_, searching for completion candidates inside the contents
- of the open buffer(s). It is one of the often used backends, and
- it has several interesting options for configuration. Let’s review
- a few of them.
-
- -- User Option: company-dabbrev-minimum-length
- This option sets the minimum length of a completion candidate
- to collect from the text. The default value of ‘4’ is
- intended to prevent potential performance issues. But in many
- scenarios, it may be acceptable to lower this value. Note
- that this option also affects the behavior of the
- _company-dabbrev-code_ backend.
-
- (setq company-dabbrev-minimum-length 2)
-
- -- User Option: company-dabbrev-other-buffers
- By default, _company-dabbrev_ collects completion candidates
- from all not ignored buffers (see more on that below). This
- behavior can be changed to collecting candidates from the
- current buffer only (by setting the value to ‘nil’) or from
- the buffers with the same major mode:
-
- (setq company-dabbrev-other-buffers t)
-
- -- User Option: company-dabbrev-ignore-buffers
- The value of this option should be a regexp or a predicate
- function that can be used to match a buffer name. The matched
- buffers are omitted from the search for completion candidates.
-
- The last two options described here relate to handling uppercase
- and lowercase letters in completion candidates. The illustrative
- examples given below can be reproduced in the ‘*scratch*’ buffer,
- with the word ‘Enjoy’ typed in, and with this initial setup:
-
- (setq-local company-backends '(company-dabbrev)
- company-dabbrev-other-buffers nil
- company-dabbrev-ignore-case nil
- company-dabbrev-downcase nil)
-
- -- User Option: company-dabbrev-ignore-case
- This user option controls whether the case is ignored when
- collecting completion candidates. When the option is set to
- ‘nil’, ‘Enjoy’ is suggested as a completion candidate for the
- typed ‘Enj’ letters, but not for ‘enj’. When the option is
- set to ‘t’, ‘Enjoy’ is suggested as a candidate for both ‘Enj’
- and ‘enj’ input; note that ‘enj’ prefix is “overwritten” by
- completing with the ‘Enjoy’ candidate. The third, default,
- type of behavior solves this issue, keeping the case of the
- typed prefix (and still collecting candidates
- case-insensitively):
-
- (setq company-dabbrev-ignore-case 'keep-prefix)
-
- Now we can type ‘enj’, complete it with the suggested ‘Enjoy’,
- and _enjoy_ the result.
-
- -- User Option: company-dabbrev-downcase
- This user option controls whether completion candidates are
- down-cased before their display. When the option is set to
- ‘nil’, no transformation is performed; in the environment
- described above, typing ‘Enj’ results in the candidate ‘Enjoy’
- being suggested. When the option is set to ‘t’, the
- down-cased candidate ‘enjoy’ is suggested. By default, this
- option is set to ‘case-replace’, meaning taking a value of the
- Emacs’s variable ‘case-replace’ (‘t’ is the current default).
-
-
- -- Function: company-ispell
- This backend returns completion candidates collected by _Ispell_, a
- built-in Emacs package that performs spell-checking. *Note
- Checking and Correcting Spelling: (emacs)Spelling. Note that
- _Ispell_ uses only one dictionary at a time (combining several
- dictionaries into one file is an accepted practice). By default,
- _company-ispell_ suggests candidates from a dictionary specified by
- the Emacs’s setting ‘ispell-complete-word-dict’.
-
- -- User Option: company-ispell-dictionary
- Optionally, set a file path for _company-ispell_ to use
- another dictionary.
-
-
-File: company.info, Node: File Name Completion, Next: Template Expansion, Prev: Text Completion, Up: Package Backends
-
-5.3.3 File Name Completion
---------------------------
-
- -- Function: company-files
- This backend can be used to retrieve completion candidates for the
- absolute and relative paths in the directory structure of an
- operating system. The behavior of the _company-files_ backend can
- be adjusted with the two user options.
-
- -- User Option: company-files-exclusions
- It may be desirable to exclude directories or files from the
- list of suggested completion candidates. For example,
- someone’s setup might look this way:
-
- (setq company-files-exclusions '(".git/" ".DS_Store"))
-
- -- User Option: company-files-chop-trailing-slash
- This setting is enabled by default, which results in stripping
- off a trailing slash from an inserted directory name. On
- typing a trailing slash, the process of completion gets
- started again, from inside the just inserted directory.
-
- Setting ‘company-files-chop-trailing-slash’ to ‘nil’ makes
- directory names to be inserted as is, with a trailing slash.
- In this case, the completion process can be continued, for
- example, either by explicitly calling _company-files_ backend
- (*note Backends Usage Basics::) or by starting typing a name
- of a file/directory known to be located under the inserted
- directory.
-
-
-File: company.info, Node: Template Expansion, Prev: File Name Completion, Up: Package Backends
-
-5.3.4 Template Expansion
-------------------------
-
- -- Function: company-abbrev
- This is a completion backend for a built-in word abbreviation mode
- (*note (emacs)Abbrevs::), that allows completing abbreviations with
- their expansions.
-
- -- Function: company-tempo
- A backend for users of Tempo
- (https://www.lysator.liu.se/~davidk/elisp/), one more built-in
- Emacs package for creating and inserting (expanding) templates.
-
- -- Function: company-yasnippet
- Used as a completion backend for the popular third-party template
- system YASnippet (https://github.com/joaotavora/yasnippet).
-
-
-File: company.info, Node: Candidates Post-Processing, Prev: Package Backends, Up: Backends
-
-5.4 Candidates Post-Processing
-==============================
-
-A list of completion candidates, supplied by a backend, can be
-additionally manipulated (reorganized, reduced, sorted, etc) before its
-output. This is done by adding a processing function name to the user
-option ‘company-transformers’ list, for example:
-
- (setq company-transformers '(delete-consecutive-dups
- company-sort-by-occurrence))
-
-Company is bundled with several such transformer functions. They are
-listed below.
-
- -- Function: company-sort-by-occurrence
- Sorts candidates using ‘company-occurrence-weight-function’
- algorithm.
-
- -- User Option: company-occurrence-weight-function
- Can be set to one of ‘company-occurrence-prefer-closest-above’
- (default) or ‘company-occurrence-prefer-any-closest’. This user
- option defines the behavior of the ‘company-sort-by-occurrence’
- transformer function.
-
- -- Function: company-sort-by-backend-importance
- Sorts candidates as two priority groups, differentiated by the
- keyword ‘:with’ (*note Grouped Backends::). Backends positioned in
- the backends list before the keyword ‘:with’ are treated as more
- important.
-
- -- Function: company-sort-prefer-same-case-prefix
- Gives preference to the candidates that match the prefix
- case-insensitively.
-
-
-File: company.info, Node: Troubleshooting, Next: Index, Prev: Backends, Up: Top
-
-6 Troubleshooting
-*****************
-
-If something goes wrong, the first thing we recommend doing is to
-execute command ‘M-x company-diag’ and thoroughly study its output.
-
-This command outputs important details about the internal workings of
-Company at the moment of the ‘company-diag’ command execution, including
-a responsible backend and a list of completion candidates provided by
-it.
-
-Based on the value of the ‘Used backend’ in the output of the command
-‘M-x company-diag’, these possible actions may follow:
-
- • If the used backend does not belong to the Company package, report
- the issue to the corresponding third-party package maintainer(s).
-
- • If the used backend is ‘company-capf’, then take a look at the line
- starting with ‘Value of c-a-p-f:’. The issue could have been
- caused by a function listed there. To identify to which package it
- belongs, type ‘M-x find-function <RET> <function-name> <RET>’.
-
-If the aforementioned steps didn’t help to find the cause of the issue,
-then file a bug report to
-the Company Issue Tracker (https://github.com/company-mode/company-mode/issues),
-attaching the following information:
-
- 1. Output of the ‘M-x company-diag’.
-
- 2. The exact error message: you can find it in the ‘*Messages*’
- buffer.
-
- 3. The steps to reproduce the behavior. Ideally, if you can, starting
- with a bare Emacs session: ‘emacs -Q’.
-
- 4. The backtrace of the error, which you can get by running the
- command: ‘M-x toggle-debug-on-error’ before reproducing the error.
-
-
-File: company.info, Node: Index, Prev: Troubleshooting, Up: Top
-
-Index
-*****
-
-* Menu:
-
-* Key Index::
-* Variable Index::
-* Function Index::
-* Concept Index::
-
-
-File: company.info, Node: Key Index, Next: Variable Index, Up: Index
-
-Key Index
-=========
-
-
-* Menu:
-
-* C-g: Usage Basics. (line 20)
-* C-g <1>: Commands. (line 30)
-* C-g <2>: Candidates Search. (line 11)
-* C-g <3>: Filter Candidates. (line 14)
-* C-h: Commands. (line 34)
-* C-M-s: Filter Candidates. (line 6)
-* C-n: Usage Basics. (line 12)
-* C-n <1>: Commands. (line 11)
-* C-o: Filter Candidates. (line 14)
-* C-p: Usage Basics. (line 12)
-* C-p <1>: Commands. (line 16)
-* C-s: Candidates Search. (line 6)
-* C-w: Commands. (line 39)
-* M-<digit>: Quick Access a Candidate.
- (line 6)
-* RET: Usage Basics. (line 15)
-* RET <1>: Commands. (line 21)
-* TAB: Usage Basics. (line 17)
-* TAB <1>: Commands. (line 25)
-
-
-File: company.info, Node: Variable Index, Next: Function Index, Prev: Key Index, Up: Index
-
-Variable Index
-==============
-
-
-* Menu:
-
-* company-after-completion-hook: Configuration File. (line 94)
-* company-backends: Backends. (line 12)
-* company-backends <1>: Backends Usage Basics.
- (line 6)
-* company-backends <2>: Grouped Backends. (line 6)
-* company-completion-cancelled-hook: Configuration File. (line 90)
-* company-completion-finished-hook: Configuration File. (line 92)
-* company-completion-started-hook: Configuration File. (line 88)
-* company-dabbrev-downcase: Text Completion. (line 64)
-* company-dabbrev-ignore-buffers: Text Completion. (line 32)
-* company-dabbrev-ignore-case: Text Completion. (line 47)
-* company-dabbrev-minimum-length: Text Completion. (line 13)
-* company-dabbrev-other-buffers: Text Completion. (line 23)
-* company-dot-icons-format: Tooltip Frontends. (line 179)
-* company-echo-truncate-lines: Echo Frontends. (line 33)
-* company-files-chop-trailing-slash: File Name Completion.
- (line 19)
-* company-files-exclusions: File Name Completion.
- (line 12)
-* company-format-margin-function: Tooltip Frontends. (line 153)
-* company-frontends: Frontends. (line 6)
-* company-global-modes: Configuration File. (line 31)
-* company-icon-margin: Tooltip Frontends. (line 164)
-* company-icon-size: Tooltip Frontends. (line 164)
-* company-idle-delay: Configuration File. (line 17)
-* company-insertion-on-trigger: Configuration File. (line 64)
-* company-insertion-triggers: Configuration File. (line 72)
-* company-ispell-dictionary: Text Completion. (line 84)
-* company-lighter-base: Configuration File. (line 59)
-* company-minimum-prefix-length: Configuration File. (line 9)
-* company-mode: Initial Setup. (line 6)
-* company-occurrence-weight-function: Candidates Post-Processing.
- (line 21)
-* company-require-match: Configuration File. (line 51)
-* company-search-regexp-function: Candidates Search. (line 13)
-* company-selection-wrap-around: Configuration File. (line 43)
-* company-show-quick-access: Quick Access a Candidate.
- (line 14)
-* company-text-face-extra-attributes: Tooltip Frontends. (line 192)
-* company-text-icons-add-background: Tooltip Frontends. (line 200)
-* company-text-icons-format: Tooltip Frontends. (line 171)
-* company-text-icons-mapping: Tooltip Frontends. (line 188)
-* company-tooltip-align-annotations: Tooltip Frontends. (line 52)
-* company-tooltip-flip-when-above: Tooltip Frontends. (line 99)
-* company-tooltip-idle-delay: Tooltip Frontends. (line 22)
-* company-tooltip-limit: Tooltip Frontends. (line 64)
-* company-tooltip-margin: Tooltip Frontends. (line 133)
-* company-tooltip-maximum-width: Tooltip Frontends. (line 126)
-* company-tooltip-minimum: Tooltip Frontends. (line 84)
-* company-tooltip-minimum-width: Tooltip Frontends. (line 111)
-* company-tooltip-offset-display: Tooltip Frontends. (line 74)
-* company-tooltip-width-grow-only: Tooltip Frontends. (line 121)
-* company-transformers: Candidates Post-Processing.
- (line 6)
-
-
-File: company.info, Node: Function Index, Next: Concept Index, Prev: Variable Index, Up: Index
-
-Function Index
-==============
-
-
-* Menu:
-
-* company-abbrev: Template Expansion. (line 6)
-* company-abort: Commands. (line 30)
-* company-begin-backend: Backends Usage Basics.
- (line 23)
-* company-capf: Code Completion. (line 6)
-* company-clang: Code Completion. (line 36)
-* company-complete: Usage Basics. (line 10)
-* company-complete-common: Commands. (line 25)
-* company-complete-selection: Commands. (line 21)
-* company-dabbrev: Text Completion. (line 6)
-* company-dabbrev-code: Code Completion. (line 25)
-* company-detect-icons-margin: Tooltip Frontends. (line 209)
-* company-diag: Backends Usage Basics.
- (line 11)
-* company-diag <1>: Troubleshooting. (line 6)
-* company-dot-icons-margin: Tooltip Frontends. (line 178)
-* company-echo-frontend: Echo Frontends. (line 21)
-* company-echo-metadata-frontend: Echo Frontends. (line 9)
-* company-echo-strip-common-frontend: Echo Frontends. (line 27)
-* company-etags: Code Completion. (line 48)
-* company-files: File Name Completion.
- (line 6)
-* company-ispell: Text Completion. (line 75)
-* company-keywords: Code Completion. (line 31)
-* company-mode: Initial Setup. (line 6)
-* company-other-backend: Backends Usage Basics.
- (line 14)
-* company-preview-common-frontend: Preview Frontends. (line 21)
-* company-preview-frontend: Preview Frontends. (line 17)
-* company-preview-if-just-one-frontend: Preview Frontends. (line 10)
-* company-pseudo-tooltip-frontend: Tooltip Frontends. (line 17)
-* company-pseudo-tooltip-unless-just-one-frontend: Tooltip Frontends.
- (line 11)
-* company-pseudo-tooltip-unless-just-one-frontend-with-delay: Tooltip Frontends.
- (line 21)
-* company-search-flex-regexp: Candidates Search. (line 26)
-* company-search-words-in-any-order-regexp: Candidates Search.
- (line 23)
-* company-search-words-regexp: Candidates Search. (line 20)
-* company-select-next: Commands. (line 11)
-* company-select-next-or-abort: Commands. (line 11)
-* company-select-previous: Commands. (line 16)
-* company-select-previous-or-abort: Commands. (line 16)
-* company-semantic: Code Completion. (line 41)
-* company-show-doc-buffer: Commands. (line 34)
-* company-show-location: Commands. (line 39)
-* company-sort-by-backend-importance: Candidates Post-Processing.
- (line 28)
-* company-sort-by-occurrence: Candidates Post-Processing.
- (line 17)
-* company-sort-prefer-same-case-prefix: Candidates Post-Processing.
- (line 34)
-* company-tempo: Template Expansion. (line 11)
-* company-text-icons-margin: Tooltip Frontends. (line 170)
-* company-tng-frontend: Structure. (line 26)
-* company-tng-mode: Structure. (line 26)
-* company-vscode-dark-icons-margin: Tooltip Frontends. (line 162)
-* company-vscode-light-icons-margin: Tooltip Frontends. (line 163)
-* company-yasnippet: Template Expansion. (line 16)
-* global-company-mode: Initial Setup. (line 18)
-
-
-File: company.info, Node: Concept Index, Prev: Function Index, Up: Index
-
-Concept Index
-=============
-
-
-* Menu:
-
-* abbrev: Template Expansion. (line 6)
-* abort: Usage Basics. (line 20)
-* abort <1>: Commands. (line 30)
-* activate: Initial Setup. (line 8)
-* active backend: Backends Usage Basics.
- (line 11)
-* active backend <1>: Troubleshooting. (line 15)
-* annotation: Tooltip Frontends. (line 53)
-* auto-start: Initial Setup. (line 13)
-* backend: Structure. (line 6)
-* backend <1>: Structure. (line 10)
-* backend <2>: Backends Usage Basics.
- (line 11)
-* backend <3>: Backends Usage Basics.
- (line 14)
-* backend <4>: Troubleshooting. (line 15)
-* backends: Backends. (line 6)
-* backends <1>: Backends Usage Basics.
- (line 6)
-* backends <2>: Grouped Backends. (line 6)
-* backends <3>: Package Backends. (line 6)
-* basics: Usage Basics. (line 6)
-* bug: Troubleshooting. (line 6)
-* bug <1>: Troubleshooting. (line 27)
-* bundled backends: Package Backends. (line 6)
-* cancel: Usage Basics. (line 20)
-* cancel <1>: Commands. (line 30)
-* candidate: Terminology. (line 10)
-* candidate <1>: Usage Basics. (line 12)
-* candidate <2>: Usage Basics. (line 15)
-* candidate <3>: Preview Frontends. (line 6)
-* color: Tooltip Frontends. (line 219)
-* color <1>: Quick Access a Candidate.
- (line 37)
-* common part: Usage Basics. (line 17)
-* common part <1>: Commands. (line 25)
-* common part <2>: Preview Frontends. (line 6)
-* company-echo: Echo Frontends. (line 6)
-* company-preview: Preview Frontends. (line 6)
-* company-tng: Structure. (line 26)
-* company-tooltip: Tooltip Frontends. (line 219)
-* company-tooltip-search: Candidates Search. (line 6)
-* complete: Terminology. (line 6)
-* complete <1>: Usage Basics. (line 12)
-* complete <2>: Usage Basics. (line 15)
-* complete <3>: Usage Basics. (line 17)
-* complete <4>: Commands. (line 21)
-* complete <5>: Preview Frontends. (line 6)
-* completion: Terminology. (line 6)
-* completion <1>: Usage Basics. (line 12)
-* completion <2>: Usage Basics. (line 15)
-* completion <3>: Usage Basics. (line 17)
-* configure: Customization. (line 6)
-* configure <1>: Customization Interface.
- (line 6)
-* configure <2>: Configuration File. (line 6)
-* configure <3>: Tooltip Frontends. (line 49)
-* configure <4>: Tooltip Frontends. (line 219)
-* configure <5>: Preview Frontends. (line 25)
-* configure <6>: Echo Frontends. (line 38)
-* configure <7>: Candidates Search. (line 30)
-* configure <8>: Quick Access a Candidate.
- (line 28)
-* configure <9>: Quick Access a Candidate.
- (line 37)
-* custom: Customization. (line 6)
-* custom <1>: Customization Interface.
- (line 6)
-* custom <2>: Configuration File. (line 6)
-* custom <3>: Tooltip Frontends. (line 49)
-* custom <4>: Tooltip Frontends. (line 219)
-* custom <5>: Preview Frontends. (line 25)
-* custom <6>: Echo Frontends. (line 38)
-* custom <7>: Candidates Search. (line 30)
-* custom <8>: Quick Access a Candidate.
- (line 28)
-* custom <9>: Quick Access a Candidate.
- (line 37)
-* definition: Commands. (line 39)
-* distribution: Installation. (line 6)
-* doc: Commands. (line 34)
-* duplicate: Candidates Post-Processing.
- (line 6)
-* echo: Echo Frontends. (line 6)
-* enable: Initial Setup. (line 8)
-* error: Troubleshooting. (line 6)
-* error <1>: Troubleshooting. (line 27)
-* expansion: Template Expansion. (line 6)
-* extensible: Structure. (line 6)
-* face: Tooltip Frontends. (line 219)
-* face <1>: Preview Frontends. (line 6)
-* face <2>: Preview Frontends. (line 25)
-* face <3>: Echo Frontends. (line 6)
-* face <4>: Echo Frontends. (line 38)
-* face <5>: Candidates Search. (line 6)
-* face <6>: Candidates Search. (line 30)
-* face <7>: Filter Candidates. (line 6)
-* face <8>: Quick Access a Candidate.
- (line 37)
-* filter: Filter Candidates. (line 6)
-* finish: Usage Basics. (line 20)
-* finish <1>: Commands. (line 30)
-* font: Tooltip Frontends. (line 219)
-* font <1>: Quick Access a Candidate.
- (line 37)
-* frontend: Structure. (line 6)
-* frontend <1>: Structure. (line 10)
-* frontends: Frontends. (line 6)
-* grouped backends: Grouped Backends. (line 6)
-* icon: Tooltip Frontends. (line 145)
-* install: Installation. (line 6)
-* interface: Tooltip Frontends. (line 49)
-* interface <1>: Tooltip Frontends. (line 219)
-* interface <2>: Preview Frontends. (line 25)
-* interface <3>: Echo Frontends. (line 38)
-* interface <4>: Candidates Search. (line 30)
-* interface <5>: Quick Access a Candidate.
- (line 37)
-* intro: Initial Setup. (line 6)
-* issue: Troubleshooting. (line 6)
-* issue tracker: Troubleshooting. (line 27)
-* kind: Tooltip Frontends. (line 145)
-* location: Commands. (line 39)
-* manual: Initial Setup. (line 8)
-* manual <1>: Usage Basics. (line 10)
-* margin: Tooltip Frontends. (line 134)
-* margin <1>: Tooltip Frontends. (line 154)
-* minor-mode: Initial Setup. (line 6)
-* module: Structure. (line 6)
-* module <1>: Structure. (line 10)
-* navigate: Usage Basics. (line 12)
-* next backend: Backends Usage Basics.
- (line 14)
-* non-prefix matches: Terminology. (line 10)
-* package: Installation. (line 6)
-* package backends: Package Backends. (line 6)
-* pluggable: Structure. (line 6)
-* pop-up: Tooltip Frontends. (line 6)
-* prefix matches: Terminology. (line 10)
-* preview: Preview Frontends. (line 6)
-* quick start: Initial Setup. (line 6)
-* quick-access: Quick Access a Candidate.
- (line 6)
-* quit: Usage Basics. (line 20)
-* quit <1>: Commands. (line 30)
-* search: Candidates Search. (line 6)
-* select: Usage Basics. (line 12)
-* select <1>: Commands. (line 11)
-* select <2>: Commands. (line 16)
-* snippet: Template Expansion. (line 6)
-* sort: Candidates Post-Processing.
- (line 6)
-* stop: Usage Basics. (line 20)
-* stop <1>: Commands. (line 30)
-* TAB: Structure. (line 26)
-* Tab and Go: Structure. (line 26)
-* template: Template Expansion. (line 6)
-* third-party: Structure. (line 10)
-* third-party <1>: Troubleshooting. (line 18)
-* tooltip: Tooltip Frontends. (line 6)
-* troubleshoot: Troubleshooting. (line 6)
-* usage: Usage Basics. (line 6)
-
-
-
-Tag Table:
-Node: Top572
-Node: Overview2000
-Node: Terminology2408
-Ref: Terminology-Footnote-13395
-Node: Structure3601
-Node: Getting Started5097
-Node: Installation5375
-Node: Initial Setup5758
-Node: Usage Basics6604
-Node: Commands7367
-Ref: Commands-Footnote-19585
-Node: Customization9752
-Node: Customization Interface10224
-Node: Configuration File10757
-Node: Frontends15423
-Node: Tooltip Frontends16392
-Ref: Tooltip Frontends-Footnote-126761
-Node: Preview Frontends26998
-Ref: Preview Frontends-Footnote-128254
-Node: Echo Frontends28381
-Node: Candidates Search29914
-Node: Filter Candidates31248
-Node: Quick Access a Candidate32028
-Node: Backends33646
-Node: Backends Usage Basics34744
-Ref: Backends Usage Basics-Footnote-135959
-Node: Grouped Backends36043
-Node: Package Backends37672
-Node: Code Completion38601
-Node: Text Completion40970
-Node: File Name Completion45404
-Node: Template Expansion46952
-Node: Candidates Post-Processing47671
-Node: Troubleshooting49148
-Node: Index50821
-Node: Key Index50984
-Node: Variable Index52483
-Node: Function Index56533
-Node: Concept Index61014
-
-End Tag Table
-
-
-Local Variables:
-coding: utf-8
-End: