diff options
| author | mattkae <mattkae@protonmail.com> | 2022-06-07 08:23:47 -0400 | 
|---|---|---|
| committer | mattkae <mattkae@protonmail.com> | 2022-06-07 08:23:47 -0400 | 
| commit | bd18a38c2898548a3664a9ddab9f79c84f2caf4a (patch) | |
| tree | 95b9933376770381bd8859782ae763be81c2d72b /elpa/company-20220326.48/company.info | |
| parent | b07628dddf418d4f47b858e6c35fd3520fbaeed2 (diff) | |
| parent | ef160dea332af4b4fe5e2717b962936c67e5fe9e (diff) | |
Merge conflict
Diffstat (limited to 'elpa/company-20220326.48/company.info')
| -rw-r--r-- | elpa/company-20220326.48/company.info | 1695 | 
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:  | 
