Commit Graph

329 Commits

Author SHA1 Message Date
Strahinja Val Markovic
1721597f0c GoTo commands now work with C-family macros
Fixes #758
2014-04-07 10:52:46 -07:00
Strahinja Val Markovic
90e097efa4 Implementing the new GoToImprecise command
Same as GoTo, but trades correctness for speed. See the docs for details.
2014-03-21 12:37:01 -07:00
Spencer G. Jones
aa719665da Explicitly disable cygwin win32 legacy mode to avoid warnings 2014-03-20 14:29:48 -06:00
Spencer G. Jones
ae150fbfd3 Windows cmake puts the dlls in RUNTIME_OUTPUT_DIRECTORY 2014-03-20 14:29:40 -06:00
Spencer G. Jones
e5d7c363da Cygwin should build compiled Python modules as dll 2014-03-20 12:12:17 -06:00
Strahinja Val Markovic
18829290a3 Fixing Boost build with Clang 3.4
This applies the following Boost patches that have already been applied
upstream:

6bb71fdd8f.patch
e4bde20f2e.patch

These patches will be in Boost 1.56 but until then we need to make the local
changes.

Fixes #864
2014-03-04 10:15:19 -08:00
Strahinja Val Markovic
fa1d628943 Updating to Boost 1.55 2014-03-01 11:00:20 -08:00
Strahinja Val Markovic
3da402fdf9 Using EXTERNAL_LIBCLANG_PATH less error-prone
The user can now also specify USE_CLANG_COMPLETER along with
EXTERNAL_LIBCLANG_PATH.
2014-02-20 19:12:31 -08:00
Val Markovic
56e69412e3 Merge pull request #796 from JIghtuse/master
Fix url for Clang 3.3 for 32-bit Linux
2014-01-22 18:01:11 -08:00
Val Markovic
27ac8bcd0a Merge pull request #793 from inDigiNeous/master
Add XCode system library path to fix --system-libclang building
2014-01-22 12:30:26 -08:00
asmodai
dd44d99949 Add FreeBSD to the HAS_LIBCXX11 case. 2014-01-22 12:11:39 +01:00
Boris Egorov
3b12f4cb27 Fix url for Clang 3.3 for 32-bit Linux 2014-01-22 14:39:22 +07:00
Sakari Lehtonen
95860122fe Add XCode system library path to fix --system-libclang building 2014-01-21 06:14:14 +02:00
Strahinja Val Markovic
b1bba2e201 Changing copyright headers from me to Google
When I initially released this project, I released it under my own copyright. I
have since then worked on it in my 20% time at Google (and want to continue
doing this) and my life becomes much simpler if the copyright is Google's.

From the perspective of how this project is run and managed, **NOTHING**
changes. YCM is not a Google product, merely a project run by someone who just
happens to work for Google.

Please note that the license of the project is **NOT** changing.

People sending in future pull requests will have to sign the Google
[CLA](https://developers.google.com/open-source/cla/individual) (you can sign
online at the bottom of that page) before those pull requests could be merged
in. People who sent in pull requests that were merged in the past will get an
email from me asking them to sign the CLA as well.
2014-01-13 11:08:43 -08:00
Strahinja Val Markovic
2c92e80969 Removing path to system clang builtin headers
YCM ships clang builtin headers for libclang.
2014-01-12 12:48:56 -08:00
Strahinja Val Markovic
1c42b04d1a CMake now downloads clang 3.4 instead of 3.3 2014-01-11 12:19:19 -08:00
Strahinja Val Markovic
05552efd19 Now highlighting the full identifier for diag
Instead of just underlining the first char of an identifier, we now underline.
the full identifier.
2014-01-06 15:24:06 -08:00
Strahinja Val Markovic
3ed8d9883c Diagnostic ranges now exposed to server clients
Still haven't used them in the Vim client though, but will soon.
2014-01-06 15:24:06 -08:00
Strahinja Val Markovic
e5abbdb540 Increasing API version to 8
Needed because of recent changes to Diagnostic struct etc.
2014-01-06 15:24:05 -08:00
Strahinja Val Markovic
9656fac2f4 Diagnostic struct now holds source ranges
Also, line/column/file info is now in Location. The server API is the same
currently, but will change to reflect all of this soon.
2014-01-06 15:24:05 -08:00
Strahinja Val Markovic
df161cff52 Adding more include paths to YCM's ycm_extra_conf 2014-01-04 20:45:52 -08:00
Strahinja Val Markovic
737109e7aa Check for libc++ before using it.
Fixes #731.
2013-12-17 18:35:03 -08:00
Leszek Swirski
b279b2b672 Fix --system-libclang on Ubuntu/Debian 2013-12-09 12:29:19 +00:00
Tom Hacohen
3543b4dd8d Fixed usage of database file in example .ycm_extra_conf.py.
Checking the path is set is not enough, we should also check the path
exists. This allows people to have a general-purpose
.ycm_extra_conf.conf that automatically loads a database file if exists,
and falls back to the manual flags if not.
2013-11-27 15:41:03 +00:00
Strahinja Val Markovic
0185147ba4 Better Clang support in CustomAssert 2013-11-23 16:54:21 -08:00
Strahinja Val Markovic
757602becf Workaround for header flags with compilation db 2013-11-17 14:17:20 -08:00
Strahinja Val Markovic
1c1fb47d7e Fixing typo in YCM extra conf comment 2013-11-17 13:18:11 -08:00
Strahinja Val Markovic
9c43634190 Force clang color output when building with Ninja 2013-11-17 11:23:16 -08:00
Leszek Swirski
f6b31e5284 Use locale overload of std::isupper 2013-11-14 01:13:47 +00:00
Strahinja Val Markovic
de0a8b613a Candidate ranking prefers lowercase chars
We have a path preferring candidates that all all-lowercase, but so far we
didn't prefer "fooBar" over "FooBar", which we should have.
2013-11-07 14:37:06 -08:00
Strahinja Val Markovic
227cceae8a Running style_format.sh on codebase 2013-10-29 19:13:52 -07:00
Zhao Cai
a99969bb95 Fix --system-libclang installation in Mac OSX 10.9 2013-10-29 18:18:18 -04:00
Strahinja Val Markovic
3a6b87bf6d Making global string constants actually constant
Well this is embarrasing.
2013-10-28 13:28:00 -07:00
Strahinja Val Markovic
6e782508b3 Now possible to sent Vim data to FlagsForFile func
Fixes #612.
2013-10-26 16:22:43 -07:00
Strahinja Val Markovic
f20448d89e Fix rare issue with static initialization
ycmd would sometimes crash on startup with a coredump and a message from glibc
on how free() was called for an invalid pointer. A gdb session pointed out that
the problem was with static initialization order.
2013-10-25 13:03:00 -07:00
Strahinja Val Markovic
436017bd4d Now using new ycm_client_support shared lib
This means we can now load just ycm_client_support (which is a much smaller
library) into Vim and ycm_core into ycmd. Since ycm_client_support never depends
on libclang.so, we never have to load that into Vim which makes things much,
much easier.
2013-10-15 14:15:04 -07:00
Strahinja Val Markovic
6331df95cc compilation db caller can now know if db busy 2013-10-14 10:22:57 -07:00
Strahinja Val Markovic
f6432e1498 Releasing Python's GIL in C++ code where possible
Without this, all requests to the server become effectively serialized.
2013-10-11 19:27:04 -07:00
Strahinja Val Markovic
a471ce761f Minor code style changes 2013-10-07 11:03:29 -07:00
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
f56ced6374 Using add_definitions, workaround cmake warning
We haven't been building LLVM in-tree for many months now so we can use this now
just fine.
2013-10-07 11:03:28 -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
4a95c2fc7c GoTo commands for clang completer work again 2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
4c6a69b432 The UltiSnips completer works again 2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
1730660555 A (barely) working version of ycmd + client
Still a lot of work to do.
2013-10-07 11:03:26 -07:00