Strahinja Val Markovic
658e1393b4
Moved completer.py under completers
2012-08-06 20:14:21 -07:00
Strahinja Val Markovic
b62ec81d68
Completer plugins now have their own folder
2012-08-05 14:14:31 -07:00
Strahinja Val Markovic
d0f62d1205
Initial, rough version of completer separation
...
We are trying to build a nice plugin-oriented architechure for loading varios
completer objects.
2012-08-04 17:46:54 -07:00
Strahinja Val Markovic
f120c0ce1c
Showing function args right next to name now
...
The completion text in the menu is different. We used to just show the func name
in the "main" part of the completion menu, now we show the full signature
without the return type (which is shown on the right)
2012-08-02 21:37:21 -07:00
Strahinja Val Markovic
3a820f1fb4
The clang options file now ends in .py
2012-08-01 20:22:03 -07:00
Strahinja Val Markovic
eab70838f0
New system for specifying clang flags
...
Now the .ycm_clang_options file is a python script that needs to implement our
API. This enables the user to do arbitrary things when computing flags.
2012-08-01 19:34:20 -07:00
Strahinja Val Markovic
06d653c60d
Adding the cursor identifier on InsertLeave
...
This should help catch cases where the user jumps to an identifier and then
edits it in place; we want to add that new ident to the db ASAP because the user
may want to have it completed soon.
Still, we're not perfect. If the user just deletes chars with 'x' or 'd' in Vim
and therefore never even enters insert mode we are obviously not going to pick
up that identifier until the next full file sweep.
2012-07-31 19:01:22 -07:00
Strahinja Val Markovic
2726349975
Not parsing empty files anymore
...
Also, not sending non-clang supported files as unsaved buffers when a completion
is requested.
2012-07-31 15:30:50 -07:00
Strahinja Val Markovic
11e42b49f0
Smarter updating of clang diagnostics display
2012-07-30 19:42:41 -07:00
Strahinja Val Markovic
333b71f8d5
Triggering syntastic error display more often
2012-07-29 22:13:42 -07:00
Strahinja Val Markovic
958a008462
Adding diagnostic extraction support
...
Next step is to add support to Syntastic so that it uses this new functionality
2012-07-28 15:27:30 -07:00
Strahinja Val Markovic
bfafad4f50
Using python's abc module for the Completer class
2012-07-28 12:24:25 -07:00
Strahinja Val Markovic
76715bd94c
Posting vim message when no clang candidates
2012-07-28 12:06:59 -07:00
Strahinja Val Markovic
ae618c5566
Clang parse now again called on cursor hold
2012-07-28 12:06:38 -07:00
Strahinja Val Markovic
019b84e18b
Omnifunc for clang types + mapping to invoke it
...
This omnifunc basically calls our ClangComplete engine.
2012-07-28 11:19:26 -07:00
Strahinja Val Markovic
3cc4cf8e10
Async clang parsing of the current file
2012-07-26 21:44:17 -07:00
Strahinja Val Markovic
13f87c5a62
Buffer identifiers are now extracted async
2012-07-24 20:09:09 -07:00
Strahinja Val Markovic
b120d6a5ba
Now extracting identifiers in C++ code
2012-07-23 20:17:59 -07:00
Strahinja Val Markovic
ad32584a10
Now reparsing clang files on buffer enter
...
This creates an auto PCH that speeds up code completion.
2012-07-23 18:45:00 -07:00
Strahinja Val Markovic
cfede619f2
Added flag to turn off clang completion if desired
2012-07-23 11:15:25 -07:00
Strahinja Val Markovic
cdb8dfc86b
Loading .ycm_clang_options files now
...
These files can contain flags that are passed to clang.
2012-07-22 15:19:28 -07:00
Strahinja Val Markovic
6f0dc0b21d
Explicitly calling OnBufferVisit for first file
2012-07-21 15:33:59 -07:00
Strahinja Val Markovic
b53ea06d5f
Using 'dup':1 to save expensive dup eliminition
...
Since we are never going to return duplicate candidates to Vim we might as well
save some performance by forcing Vim to not search for duplicates
2012-07-21 12:17:29 -07:00
Strahinja Val Markovic
7bf18c7c5c
Improving IdentifierCompleter performance
...
We limit the number of candidates returned to Vim to 20 and also make sure that
we are not returning any duplicate candidates. This provides a noticeable
improvement in latency.
2012-07-21 12:06:18 -07:00
Strahinja Val Markovic
ad859ee002
Using the pyeval func introduced in vim 7.3.584
...
This makes the whole plugin much faster since we now don't need to serialize and
deserialize the return values from python funcs before we can use them in Vim.
Oh God I've been waiting for something like this for so long... using this also
forces us to demand vim 7.3.584 or higher.
2012-07-21 10:10:19 -07:00
Strahinja Val Markovic
44b671c2c0
ClangCompleter now returs extra data
...
This data is used to show more information about the completions in the
completion menu.
2012-07-19 21:17:39 -07:00
Strahinja Val Markovic
c9e1706fa1
ClangCompleter now async and caches Clang data
...
First off, we don't block the GUI thread anymore for ClangCompleter (that was
always temporary). Secondly, now ClangCompleter will cache the data coming from
clang so that query-based filtering of members is fast.
2012-07-15 20:49:56 -07:00
Strahinja Val Markovic
52d8a1236b
If query empty, Results sorted lexicographically
...
This change was also the root cause of the crash bug I spent two days tracking
down. The problem was that the new bool member was not added to the custom copy
ctor... since we don't really need a custom copy ctor for Result, we're going
with the compiler-provided one.
2012-07-15 19:40:24 -07:00
Strahinja Val Markovic
ca861d9f0c
Creating a new Completer Python base class
...
Common logic for the IdentifierCompleter and ClangCompleter (from the python
plugin) is now in the base class.
2012-07-15 18:11:26 -07:00
Strahinja Val Markovic
27e1400558
ClangComplete now sorts completions based on query
2012-07-11 22:41:32 -07:00
Strahinja Val Markovic
e78e0400d9
Renamed CompletionSystem to IdentifierCompleter
2012-07-10 23:30:44 -07:00
Strahinja Val Markovic
39ecf76798
Renamed ClangComplete to ClangCompleter
2012-07-10 23:28:58 -07:00
Strahinja Val Markovic
545792c055
Renaming Completer to IdentifierCompleter
2012-07-10 23:13:12 -07:00
Strahinja Val Markovic
39ceebbb1e
Where possible, using native objects, not vim.eval
2012-07-10 20:50:03 -07:00
Strahinja Val Markovic
ab0b349207
Sending the contents of all the modified buffers
...
Initially, we were sending only the contents of the current buffer.
2012-07-10 20:27:46 -07:00
Strahinja Val Markovic
5de395d9bb
Storing the completion start column in Vim script
...
This way we don't have to recalculate it every time we call CandidatesForQuery
2012-07-10 15:39:59 -07:00
Strahinja Val Markovic
94288108d8
Initial, rough kinda working version ClangComplete
...
Many things need to be ironed out still.
2012-07-10 15:26:07 -07:00
Strahinja Val Markovic
30c9637992
Using the vector indexing suite from Boost.Python
...
This removes the need for a special overload for AddCandidatesToDatabase. Also,
the GetFuture function now provides a more sensible API with the list being
returned instead of accepted as an out parameter.
2012-07-08 15:34:44 -07:00
Strahinja Val Markovic
174687c4bc
Renaming ConcurrentStack to ConcurrentLatestValue
2012-07-06 12:14:25 -07:00
Strahinja Val Markovic
02a1f8780c
Small refactoring of the ShouldAddIdentifier func
2012-05-12 20:42:45 -07:00
Strahinja Val Markovic
5d6e839118
Newly inserted identifiers are added immediately
2012-05-12 15:20:03 -07:00
Strahinja Val Markovic
6430677f4f
Whitespace changes
2012-05-07 21:23:38 -07:00
Strahinja Val Markovic
7cf580a447
Completion suggestions are now fetched async
2012-05-05 23:48:22 -07:00
Strahinja Val Markovic
7468a5a21c
Don't add candidates for "weird" buffers
2012-05-05 18:12:15 -07:00
Strahinja Val Markovic
903452e855
Candidates are now stored per type and filepath
2012-04-29 19:51:20 -07:00
Strahinja Val Markovic
ced1d0ad5a
Adding new candidates is now faster; + more
...
Also fixed a memory leak and started work on adding filepath-aware candidate
repos.
2012-04-29 16:36:31 -07:00
Strahinja Markovic
1a08eb9ce0
Updating copyright line
2012-04-15 20:28:46 -07:00
Strahinja Markovic
156a1882e1
Initial import
2012-04-15 16:57:10 -07:00