Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Feb 21, 2013
  1. pyeval() is too recent.

Commits on Feb 19, 2013
Commits on Feb 17, 2013
  1. Launch one thread per file.

    That thread is re-used when re-launching a completion.
Commits on Feb 15, 2013
  1. Merge branch 'issue264'

  2. Merge branch 'add_builtin_directories' of git://…

    …g_complete into builtin-dirs
Commits on Feb 9, 2013
  1. @gokcehan

    Update plugin/clang_complete.vim

    gokcehan committed
    simple fix for #264 after 3 hours of struggling..
Commits on Feb 5, 2013
  1. @tobig

    Remove misleading suggestion

    tobig committed
  2. @tobig

    Add another system path

    tobig committed
Commits on Feb 3, 2013
  1. @Arnaud-de-Grandmaison
  2. @Arnaud-de-Grandmaison

    Remember the last compilationDatabase query, and return it when the f…

    Arnaud-de-Grandmaison committed
    …ile is not found
    This is a very common case : it happens for all headers. In practice, this heuristics gives good results.
  3. @tobig
Commits on Jan 31, 2013
  1. Fix initialisation of the compilation database.

    If g:clang_use_library wasn't set in the .vimrc, the use of compilation
    database would generate an error.
Commits on Jan 30, 2013
  1. Fix indent.

  2. Use the 'with' syntax with the libclangLock.

    This removes the .acquire() and .release(), and avoid potential lockups
    if the code wasn't guarded by try catch.
Commits on Jan 29, 2013
  1. Replace call to vim.eval/command to vim python API.

    This is easier to read, and may be a bit faster.
Commits on Jan 23, 2013
Commits on Jan 22, 2013
  1. Fix header regexp.

Commits on Jan 20, 2013
  1. @tobig
  2. @tobig

    Merge: [] Add cache for CompletionChunk spellings

    tobig committed
    Most of the CompletionChunks represent braces, colons or other one
    character spellings. There is no need to call libclang, to figure out
    how to write a colon. Instead we use an internal cache to retrieve the
    correct spelling. As function calls from python are very expensive and
    this is a performance critical part of auto completion this patch makes
    formatting of auto completion results a lot faster.
    Formatting time changes from 0.57 to 0.45 seconds
  3. @tobig

    Merge: [] Replace CachedProperty with our own implementation

    tobig committed
    This is a very performance critical point for auto completion. The
    manual implementation gives a large speedup. As it does not complicate
    the code a lot, I figured it is worth the change. If anybody understands
    why the CachedProperty is here so much slower, I am very interested in
    working on an improvement of CachedProperty.
    Formatting time changes from 0.72 to 0.57 seconds.
  4. @tobig

    Merge: []: Speed up lookup of the completion kind

    tobig committed
    We can directly the number of the kind instead of going through the
    Formatting time changes from 0.84 to 0.72 seconds.
  5. @tobig
  6. @tobig

    Merge: Fix a copypasto bug. Also rename the parameter in question to not

    tobig committed
    shadow the 'file' builtin, and fix up a docstring a little.
    Hat tip to Sebastian Kreft Carreno at Google for noticing the bug.
Commits on Jan 19, 2013
  1. Merge branch 'perf'

  2. Use get() to retrieve the translation unit.

    While I cannot show any performance improvement, I'll argue that the
    complexity of retrieving a translation unit is now two times faster.
    The python "in" keyword has to walk to the datastructure once, and we
    walk a second time to retrieve it. We only walk it once now.
Commits on Jan 18, 2013
  1. Do not filter before going through all the chunks of a result.

    This save some ms: from 0.147s to 0.137s
Commits on Jan 17, 2013
Commits on Jan 15, 2013
Commits on Jan 13, 2013
  1. @tobig

    Automatically use libclang if available

    tobig committed
    If the user did not request anything specific, we first try to use
    libclang and only fall back to the clang executable if libclang could
    not be found. Error messages are only printed in debugging mode or
    if the user explicitly requested libclang.
    This patch allows us to use as soon as it can be found in
    the system library path. No further configuration is required in
Something went wrong with that request. Please try again.