Commit Graph

37 Commits

Author SHA1 Message Date
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
Strahinja Val Markovic
fc3bc60fae Moving the Result.h include out of Candidate.h 2012-09-06 11:37:22 -07:00
Strahinja Val Markovic
f4d7d6ffdf ClangCompleter can now not be compiled
One more thing needs to be done though: the clang_completer.py file needs to not
trigger at all when YCM has been compiled without cpp support. FIX THAT!
2012-08-17 13:32:42 -07:00