A vim plugin to create completions from an external query command (Mutt's query_command, for example)
Vim script
Switch branches/tags
Latest commit 14791f2 Jun 17, 2013 @caio caio Stop checking settings during source
This patch removes the need of having g:qcc_query_command set to
anything prior to loading QueryCommandComplete.


Query Command Complete

Vim plugin to suggest completions with the results of an external
query command.

The original intention is to use it as a mutt query_command wrapper
to complete addresses in the mail headers, but it can be adapted
to any other kind of functionality by modifying the exposed setting

Last Change: 2013 Jun 16
Author: Caio Romão (http://caioromao.com)
License: This file is placed in the public domain
  Brian Henderson https://github.com/bhenderson
  Mark Stillwell  https://github.com/marklee77
  Rui Abreu Ferreira http://ruiabreu.org

  This plugin exports the completion function QueryCommandComplete,
  which can be set as the complete function (or omni function) for
  any filetype. If you have a working mutt setup with query_command
  configured, the plugin works out of the box.

      let g:qcc_query_command='abook'
      au BufRead /tmp/mutt* setlocal omnifunc=QueryCommandComplete

  Note: Overriding settings on a buffer-basis is supported. So
        b:qcc_query_command takes precedence over g:qcc_query_command

      External command that queries for contacts
      If empty, QueryCommandComplete tries to guess what command to
      run by executing `mutt -Q query_command`.

      Separator for each entry in the result from the query
      default: '\n'

      Separator for the fields of an entry from the result
      default: '\t'

      Pattern used to match against the current line to decide
      whether to call the query command
      default: '^\(To\|Cc\|Bcc\|From\|Reply-To\):'

      Whether to try matching g:qcc_pattern against the current
      and any previous line
      default: 0

      Pattern to match against the current line when deciding
      wether to keep looking for a line that matches g:qcc_pattern
      This provides finer control over the recursion, which
      is useful if calling the completion on really big files.
      default: '.*'

      Format string to be used when building the word field
      of the completion (i.e.: the final result, what gets fed into
      the current line when you select an option)
      default: '${1} <${0}>' (as in: FirstName <email@domain.com>)

      Format string to be used when building the abbreviation
      for the completion menu (i.e.: the first row in the completion
      default: '${1}'

      Format string for the optional second column of the completion
      default: '${2}'