Strahinja Val Markovic
6b11edb2e2
Fix use-after-free bugs
...
UnsavedFile should now actually be storing the data, not just the pointers to
it.
2013-10-07 11:03:29 -07:00
Strahinja Val Markovic
c274b7d4f8
Fixing the diagnostic-related race conditions
...
Now, every FileReadyToParse event returns diagnostics, if any. This is instead
of the previous system where the diagnostics were being fetched in a different
request (this caused race conditions).
2013-10-07 11:03:29 -07:00
Strahinja Val Markovic
b9bb788a2a
Diagnostics work again... somewhat.
...
There appear to be timing issues for the diag requests. Somehow, we're sending
out-of-date diagnostics and then not updating the UI when things change.
That needs to be fixed.
2013-10-07 11:03:29 -07:00
Strahinja Val Markovic
d63843ea4c
Clang completer method params are const ref again
...
They were temporarily all passed by-value until server-side threading issues
were resolved.
2013-10-07 11:03:28 -07:00
Strahinja Val Markovic
531e564a88
Removing Concurrent* & Future classes
...
They're not needed anymore.
2013-10-07 11:03:28 -07:00
Strahinja Val Markovic
46360219f8
Removed threads & async API in CompilationDatabase
...
This is not needed anymore; the server request merely blocks when waiting for
flags.
2013-10-07 11:03:28 -07:00
Strahinja Val Markovic
6c53bad58f
No more threading in completers!
...
The server is multi-threaded and will spawn a new thread for each new request.
Thus, the completers need not manage their own threads or even provide async
APIs; we _want_ them to block because now were implementing the request-response
networking API.
The client gets the async API through the network (i.e., it can do something
else while the request is pending).
2013-10-07 11:03:28 -07:00
Strahinja Val Markovic
29bb90a6b4
Decoupling completers from Vim; still WIP & broken
...
Note to self: squash this commit before merging into master.
2013-10-07 11:03:25 -07:00
Vitaly Takmazov
aadf5dd2b7
Fix class casting
2013-09-07 22:56:24 +04:00
Vitaly Takmazov
79b3e97abe
Fix 'vector subscription out of range' MSVC assertions
2013-09-07 15:14:13 +04:00
Strahinja Val Markovic
938e2391e2
Fixing bizarre compilation error on recent clang
2013-08-16 14:49:00 -07:00
Strahinja Val Markovic
76aa87cb22
Ensuring TUs expire when compilation flags change.
2013-08-16 14:49:00 -07:00
Strahinja Val Markovic
0f7d9ec131
Some minor refactoring of TU store
2013-08-16 14:49:00 -07:00
Strahinja Val Markovic
a215f933a9
Refactoring out TU storage into own class
...
This makes the code more readable, maintainable and robust since we're now
encapsulating the mutex to filename_to_translation_unit_.
2013-08-16 14:49:00 -07:00
Strahinja Val Markovic
b5ffac655b
code style fixes
2013-05-29 22:23:19 -07:00
Strahinja Val Markovic
7f676f85ae
Code style fixes
2013-05-05 09:47:56 -07:00
Stanislav Golovanov
6b018db10f
fix compiling with clang on Windows
...
This fixes a Visual Studio problem when it cant correctly select
bind and make_shared boost methods due to Argument-dependent name lookup.
Relevant to #19
2013-04-29 21:41:49 +04:00
Strahinja Val Markovic
7ff4774e96
Possible fix for random hang on Vim close
...
Reparse would take the clang lock and then possibly call Destroy while still
holding the lock. Destroy would try to take that same lock, and the mutex is not
recursive. Unpleasantness ensues.
I _think_ this is the root cause of #218 , but I can't be sure. Such is life with
threads.
Fixes #218 .
2013-04-10 19:45:50 -07:00
Matthew Wesley
a00535f078
Return an empty location instead of segfaulting
2013-04-03 14:58:37 -04:00
Strahinja Val Markovic
1676a3b2a4
Style fixes for C++
2013-04-01 19:09:37 -07:00
Strahinja Val Markovic
1f094e50d0
GoToDefinition/Declaration commands for C-family
...
These are accessible through the :YcmCompleter command. The docs have more
information.
2013-03-31 20:38:29 -07:00
Strahinja Val Markovic
a3a3250f76
Style fixes for C++ code
2013-03-23 10:47:30 -07:00
Strahinja Val Markovic
4cb9f17c5f
Cache deletion is now async
2013-03-16 12:10:24 -07:00
Strahinja Val Markovic
c391bdcc62
Reducing RAM consumption by deleting unused caches
...
When the user deletes a buffer, we can delete the clang caches for that file.
Fixes #184 .
2013-03-16 10:41:47 -07:00
Strahinja Val Markovic
a6e83bfe76
Smart-case sensitive filtering
...
Fixes #120
2013-03-01 22:18:43 -08:00
Strahinja Val Markovic
eb7bec4fdd
Refactoring ClangCompleter to use ResultAnd<>
2013-02-23 17:54:04 -08:00
Strahinja Val Markovic
fb62030122
A few more clang cursorkinds supported
...
Now C-family completion will have fewer compeletion strings labeled as 'u' kind.
2013-02-23 17:34:10 -08:00
Strahinja Val Markovic
e1584a33b0
Code style fixes
2013-02-23 15:54:44 -08:00
Strahinja Val Markovic
90dc16bb99
Destroying clang data last, after threads done
...
Otherwise this will cause issues if the clang threads are still trying to
access the clang data.
2013-02-16 12:25:29 -08:00
Strahinja Val Markovic
2ff85a5a60
Only joining threads if they are created
2013-02-16 12:25:29 -08:00
Strahinja Val Markovic
30d5a3b8a5
Wrapping boost threads in scoped_ptr
...
Boost.Thread deprecated the copy ctor for threads; this is a better approach.
2013-02-16 12:25:29 -08:00
Strahinja Val Markovic
9dfa2f4e11
Fixing thread segfault issues with new Boost 1.53
...
The answer was to use boost::move() on the functors, but since there is AFAIK no
move emulation support for Boost.Function, the fix may only work on C++11
compilers. That needs to be looked into.
2013-02-16 12:25:29 -08:00
Strahinja Val Markovic
786e6182ff
Initial version of omnifunc-based omni_completer
...
Still a work in progress (needs better triggering and bug fixes)
2013-02-10 20:03:56 -08:00
Strahinja Val Markovic
41854ded3a
Removing an obsolete comment
2013-02-09 15:49:08 -08:00
Strahinja Val Markovic
8b22c4372a
Fixing code style issues
2013-02-02 21:50:05 -08:00
Strahinja Val Markovic
e8b60fd537
Adding the YcmDebugInfo command
2013-01-26 11:45:14 -08:00
Strahinja Val Markovic
90c495a9c7
Making sure clang crash recovery is turned on
2013-01-26 11:45:14 -08:00
Strahinja Val Markovic
8cc9c9ca76
Race condition fix; caused latency on first load
...
The issue was that the user could open a C-family file and have it start
compiling in the background. While it is still compiling, he could trigger the
completion system with a member dot operator. Because the file was still
compiling for the very first time, the TranslationUnit object was yet not
created. Sadly, this meant that UpdatingTranslationUnit would return false, and
a new query request would be created, the GUI would hang until it was done
aaaaand terrible lag until the file was compiled.
This was a very rare edge case that could also only be triggered if it takes a
considerable amount of time to compile the file.
2013-01-24 18:37:44 -08:00
Strahinja Val Markovic
90fe31f98e
Async querying of CompilationDatabase supported
2013-01-23 17:23:51 -08:00
Strahinja Val Markovic
0b60b8d03b
More stlye formatting fixes
2013-01-23 17:23:38 -08:00
Strahinja Val Markovic
3706750b40
astyle format update
2013-01-22 19:42:44 -08:00
Strahinja Val Markovic
ee919417af
Managing memory from the C interface better
2013-01-22 19:40:05 -08:00
Strahinja Val Markovic
970b2fb56c
Kiling a memory leak... I hate C interfaces
2013-01-22 17:29:05 -08:00
Strahinja Val Markovic
013a56c25c
Formatting the a part of the source with astyle
2013-01-19 20:03:32 -08:00
Strahinja Val Markovic
c1119c001f
Adding CompilationDatabase support (still WIP)
2013-01-18 17:22:36 -08:00
Strahinja Val Markovic
56f96b6c08
Hide clang pragmas behind an #ifdef
2013-01-17 14:58:50 -08:00
Strahinja Val Markovic
29cddc5adc
Removing unnecessary declaration
2012-09-06 14:00:33 -07:00
Strahinja Val Markovic
ae57c9c39b
ClanUtils functions are now all in one place
...
Also, internal ClanUtils functions are now in an unnamed namespace
2012-09-06 12:09:32 -07:00
Strahinja Val Markovic
b48111bb2f
Adding a missing header
...
This compiled previously by accident.
2012-09-06 12:08:34 -07:00
Strahinja Val Markovic
909450ec13
Adding a few run-time asserts
2012-09-06 11:58:02 -07:00