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
Strahinja Val Markovic
718e9974b7
Resolving symlinks in GoTo target filepath
2013-10-07 11:03:27 -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
13b86563f0
Minor code formatting changes
2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
5b4b3ed281
LOGGER now set to None by default
...
Init happens in test setup func or Main
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
bf5708c422
NativeFiletypeCompletionAvailable works again
2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
967a4dd519
Adding a script that prints all YCM TODOs
2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
bdd769d043
default_settings.json now actually has defaults
2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
4ac5466d80
Renaming server.py to ycmd.py
2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
dd2445db06
Passing user options as file to server
...
This is a much better idea than starting the server in a default state, and then
resetting the state with a POST request.
2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
10469d318d
Passing user options to server now
2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
387621d957
Moving SendCommandRequest into appropriate module
2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
c01bc0481a
Refactoring the server tests to use a helper func
...
This makes the tests smaller, less repetitive and easier to maintain.
2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
3b9b9ed036
Ident completer loads syntax keywords again
2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
c527cda436
Only calling Shutdown on valid Completers
2013-10-07 11:03:26 -07:00
Strahinja Val Markovic
c29dc44b38
Whitespace fix
2013-10-07 11:03:26 -07:00
Strahinja Val Markovic
9a4707f2c6
Ignoring failed event notifications
...
These happen rarely and are not a big deal when they do. We still log them to
the Vim message area, but we don't annoy the user with the default, in-your-face
Python traceback.
2013-10-07 11:03:26 -07:00
Strahinja Val Markovic
17716ff51f
Whitespace fix
2013-10-07 11:03:26 -07:00
Strahinja Val Markovic
088eb4d0d2
Cleaner server shutdown
...
Listening for VimLeave was sub-optimal. popen.terminate() is much cleaner.
2013-10-07 11:03:26 -07:00
Strahinja Val Markovic
f51a687297
Server now shuts down cleanly on VimClose
2013-10-07 11:03:26 -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
02b88dccf1
extra conf store now vim-free
2013-10-07 11:03:26 -07:00
Strahinja Val Markovic
fba4477ca3
Deleting a stray 'print' statement
...
This was put in for debugging at some point.
2013-10-07 11:03:26 -07:00
Strahinja Val Markovic
1d29a9a3bd
Updating Jedi to v0.7.0
2013-10-07 11:03:26 -07:00
Strahinja Val Markovic
f5ad981f67
Converting Jedi unicode data to strings
2013-10-07 11:03:26 -07:00
Strahinja Val Markovic
9698bf8789
Bump ycm_core.so API version
2013-10-07 11:03:26 -07:00