Strahinja Val Markovic
1db0e720bc
Refactored the server tests for simplicity
2013-10-07 13:59:01 -07:00
Strahinja Val Markovic
ff7fa74fc9
<c-space> works again (forces semantic completion)
2013-10-07 13:09:34 -07:00
Strahinja Val Markovic
99b0f018b3
Adding a minor TODO
2013-10-07 11:03:30 -07:00
Strahinja Val Markovic
a836f68142
Fileype completer calls InCFamilyFile correctly
2013-10-07 11:03:30 -07:00
Strahinja Val Markovic
a9d7105e1b
YCM now working on new buffers with ft set
...
We used to demand a name be set for the buffer.
Fixes #568 .
2013-10-07 11:03:30 -07:00
Strahinja Val Markovic
915d092364
Prefixing clang version with "Clang version"
...
It's easier to know what that magic string is actually referring to.
2013-10-07 11:03:30 -07:00
Strahinja Val Markovic
1bba4a38cc
Ensuring the temp dir exists before returning it
2013-10-07 11:03:30 -07:00
Strahinja Val Markovic
f0c9878f87
Ensuring we are serializing real Python objects
...
Trying to json.dump Vim dictionaries fails.
2013-10-07 11:03:30 -07:00
Strahinja Val Markovic
60aa5581c1
Adding python-futures to third_party
...
Download source: https://pythonfutures.googlecode.com/archive/05e0c9c1b3d493f0c7e5833723a1ea99d024bad4.zip
2013-10-07 11:03:30 -07:00
Strahinja Val Markovic
8856af0970
Adding argparse to third_party (for Python 2.6)
...
argparse is in the Python stdlib for Python 2.7+, but not 2.6 which we try to
support.
2013-10-07 11:03:30 -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
ddef46fdbe
Removing usage of 'realpath' from run_test
...
It's not portable to other systems because it's Debian specific.
2013-10-07 11:03:30 -07:00
Strahinja Val Markovic
070d39b2a9
Adding a run_tests script
...
This is now also used by Travis CI.
2013-10-07 11:03:30 -07:00
Strahinja Val Markovic
9747bbc26f
Removing the sys.path changes from jedi_completer
...
This not needed anymore, the correct path to jedi is added to sys.path in
ycmd.py
2013-10-07 11:03:30 -07:00
Strahinja Val Markovic
da723b1425
Moving Jedi under third_party
2013-10-07 11:03:30 -07:00
Strahinja Val Markovic
5902a5e521
frozendict now as submodule in third_party
2013-10-07 11:03:30 -07:00
Strahinja Val Markovic
6e0f3247e1
Adding Bottle to third_party
2013-10-07 11:03:30 -07:00
Strahinja Val Markovic
88a260d448
ycmd now uses Waitress instead of CherryPy
2013-10-07 11:03:29 -07:00
Strahinja Val Markovic
d7904a7eb1
Adding the Waitress webserver to third_party
2013-10-07 11:03:29 -07:00
Strahinja Val Markovic
8bc888d711
Vim now loads most defaults from the json file
2013-10-07 11:03:29 -07:00
Strahinja Val Markovic
534f6f57d4
Fix issue with slow cursor moving in Python
...
This happened when moving the cursor in normal mode. The problem was that we
were calling SyntasticCheck on every cursor move because YCM would think that
the FileReadyToParse event processing returned diagnostics... but YCM only
integrates with Syntastic for C-family files.
Fixed by only triggering SyntasticCheck in C-family files.
2013-10-07 11:03:29 -07:00
Strahinja Val Markovic
afa1afc49b
Handling no diagnostic data from event response
2013-10-07 11:03:29 -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
c43327d176
YcmShowDetailedDiagnostic works again
2013-10-07 11:03:29 -07:00
Strahinja Val Markovic
159a8ecdfa
YcmDiags and ForceCompilation work again
2013-10-07 11:03:29 -07:00
Strahinja Val Markovic
62f813367d
settings.json has integers for 1/0, not strings
2013-10-07 11:03:29 -07:00
Strahinja Val Markovic
54255318f1
Changing line endings for settings.json to unix
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
e44fd87582
Added 'gitcommit' to filetype-completion blacklist
2013-10-07 11:03:29 -07:00
Strahinja Val Markovic
5ef945fa0a
Adding 'qf' (quickfix) filetype to ignore list
2013-10-07 11:03:29 -07:00
Strahinja Val Markovic
7248979bb4
We now handle the starting FileReadyToParse event
...
The problem was that when you start vim like "vim foo.cc", the FileReadyToParse
event is sent to the server before it's actually started up. Basically, a race
condition.
We _really_ don't want to miss that event. For C++ files, it tells the server to
start compiling the file.
So now PostDataToHandlerAsync in BaseRequest will retry the request 3 times
(with exponential backoff) before failing, thus giving the server time to boot.
2013-10-07 11:03:29 -07:00
Strahinja Val Markovic
9742302cbd
'get_completions' handler is now 'completions'
2013-10-07 11:03:28 -07:00
Strahinja Val Markovic
9d0a6c96d7
Event and completion request are now async
...
This results in a much snappier Vim.
2013-10-07 11:03:28 -07:00
Strahinja Val Markovic
e08dd4ab33
Adding Requests as submodule to third_party
2013-10-07 11:03:28 -07:00
Strahinja Val Markovic
a2657f5af8
Adding requests-futures subrepo to third_party
2013-10-07 11:03:28 -07:00
Strahinja Val Markovic
5dd6782970
Vim doesn't execute extra conf preload
...
This is executed inside the server now, as it should be.
2013-10-07 11:03:28 -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
fe94ed6b1c
Removing an outdate TODO
2013-10-07 11:03:28 -07:00
Strahinja Val Markovic
ec920b2758
Adding WebTest to pip test dependencies
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
e38d145a47
Added debug info about the server
...
Location where running + logfiles location
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
c9b4e9ed3a
Minor code style changes
2013-10-07 11:03:28 -07:00
Strahinja Val Markovic
1027de73fb
Using a constant for server error instead of 500
2013-10-07 11:03:28 -07:00
Strahinja Val Markovic
446d02f66e
Subcommand name completion works again
2013-10-07 11:03:28 -07:00