Commit Graph

45 Commits

Author SHA1 Message Date
Nicholas Hutchinson
7bdff8941c Don't pass extra include path to libclang 2014-03-27 08:07:56 +00: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
Strahinja Val Markovic
9cf566bd8f Renamed GoToDefinitionElseDeclaration to GoTo
The old name still works for the sake of backwards compatibility.
2014-03-21 11:34:00 -07:00
Strahinja Val Markovic
47a0048f34 Fixing str/unicode mismatch
Sending a unicode filepath to CompilationDatabase doesn't work and causes
exceptions; it has to be a (utf-8 encoded) str object.
2014-01-17 10:18:29 -08: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
db4c25c97a Clang builtin headers now included with -isystem 2014-01-12 12:36:44 -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
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
b1d71bbb91 Better handling of unknown extra conf files
Previously, we'd implicitly turn off future notices about unknown extra conf
files if we already raised one exception about it. This breaks when the user
ends up not receiving the "unknown extra conf, load?" message.

Now we only turn off the notice as a result of the user saying "don't load this"
so that if the first request fails to reach them, they'll get a second (and
third etc) request about it.

Fixes #615
2013-12-21 11:19:39 -08:00
Jamie Liu
f58b06adde Add -include to INCLUDE_FLAGS
The -include flag forces the inclusion of a single file, and is used by
(at least) the Linux kernel's build system.
2013-12-03 00:43:42 -08:00
Strahinja Val Markovic
b085ca7c0b Filtering out "too mary errors emitted" diags
Because they're completely useless and incredibly annoying.
2013-11-25 13:33:49 -08:00
Dan Schmidt
457d2a5eac Add -isysroot to list of INCLUDE_FLAGS. 2013-11-23 09:13:41 -05:00
Strahinja Val Markovic
5ae3a573b9 Workaround for annoying clang bug with pragma once
Fixes #216
2013-11-17 17:59:39 -08:00
Strahinja Val Markovic
757602becf Workaround for header flags with compilation db 2013-11-17 14:17:20 -08:00
Strahinja Val Markovic
19a5bf0500 Notifying user if no flags come from extra conf 2013-11-17 13:32:43 -08:00
Strahinja Val Markovic
2caf90637d Better handling of bad flags from extra conf 2013-11-17 13:10:16 -08:00
Strahinja Val Markovic
207a0779c3 Ensuring filename is a plain Python string
We don't want to send a unicode string to the user's ycm_extra_conf.py file.
This should fix problems with sending the filename to YCM's CompilationDatabase
API.
2013-11-05 10:28:40 -08: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
78107361b3 Killing some dead code 2013-10-22 13:48:15 -07:00
Strahinja Val Markovic
daa0d50655 Removed the logging code from Clang completer
The exceptions are already logged by Bottle so what's the point.
Also removed an outdated TODO.
2013-10-08 20:20:15 -07:00
Strahinja Val Markovic
3d55748400 Correctly handling ycm_extra_conf files now
The user is asked about loading unknown extra conf files, as they were before.
2013-10-08 16:21:43 -07:00
Strahinja Val Markovic
cb98dc8537 Fixing python 2.6 compatibility
string.format() requires the number inside '{}' for Python 2.6.
2013-10-07 11:03:30 -07:00
Strahinja Val Markovic
c43327d176 YcmShowDetailedDiagnostic works again 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
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
3ca758a581 Getting debug info works again 2013-10-07 11:03:28 -07:00
Strahinja Val Markovic
a6a364de41 Fix bug in cache clear clang completer subcommand 2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
4a95c2fc7c GoTo commands for clang completer work again 2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
fe0c0a1607 GoTo commands 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
Strahinja Val Markovic
6acc381262 Identifier completer now fully decoupled from Vim 2013-10-07 11:03:26 -07:00
Strahinja Val Markovic
3f0b719846 Encoding data to utf8 if 'unicode' object
ycm_core only deals with utf8 and the functions only accept python string
objects.
2013-10-07 11:03:26 -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
Strahinja Val Markovic
a26243092f Now more explicit about accessing user options
We don't inspect the Vim process anymore when we want an option; we parse the
options on startup and then use that data structure.
2013-10-07 11:03:25 -07:00
Strahinja Val Markovic
22256f361d ShouldUseNow now takes a current_line param
This is now used instead of examining the vim.current.line property.
2013-10-07 11:03:25 -07:00
Strahinja Val Markovic
9d34fad24f Now parsing file on every normal mode cursor move
This is still fast & efficient because if we detect that the buffer hasn't been
changed (by examining b:changedtick), the parse doesn't proceed.

In effect, we now make sure we parse the file after every change to the buffer
as soon as that change happens. This means that compilation error feedback will
now be much, MUCH quicker.
2013-08-16 14:49:00 -07:00
Strahinja Val Markovic
cbc6c07a1a Encouraging the user to read the docs even more
Apparently we weren't encouraging enough before. Related to issue #415.
2013-07-01 11:34:25 -07:00
Strahinja Val Markovic
3948b6efe2 Check for empty flags list
IndexErrors are not fun.
2013-05-28 09:43:13 -07:00
Strahinja Val Markovic
38faa0e94e Adding the ClearCompilationFlagCache subcommand
With this command the user can clean the in-memory cache of the compilation
flags that the clang completer uses.
2013-05-24 14:48:46 -07:00
Strahinja Val Markovic
d9f45d576f Fix breakage of some compile_commands.json users
Depending on the user, the PrepareClangFlags rewrite of a few commits ago could
break users with an extra "clang: 'linker' input not used" (or similar) error
message because the compiler executable string was not removed from flags
upstream if the user prepended some flags to the output of PrepareClangFlags
before returning it to the caller of FlagsForFile.

Since the rewrite was supposed to be backwards compatible, this needs
to be handled.
2013-05-24 14:29:33 -07:00
Strahinja Val Markovic
11a7746753 Preventing possible TypeError with StringVec
It was possible to get a traceback if results[ 'flags' ] was a StringVec; the
code would try to perform results[ 'flags' ] += self.special_clang_flags and
this would then fail because the clang flags would be a Python list.
2013-05-22 15:47:30 -07:00
Strahinja Val Markovic
381b86d595 Fixing python tests broken in rename 2013-05-19 20:06:14 -07:00
Strahinja Val Markovic
faa225fdc4 Moving everything under pytho/ycm 2013-05-19 19:44:42 -07:00