Commit Graph

311 Commits

Author SHA1 Message Date
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
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
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
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
Strahinja Val Markovic
08a9ff59b6 Using os.getcwd instead of getcwd from vimscript 2013-10-07 11:03:26 -07:00
Strahinja Val Markovic
b6c311c4dd Code typo fix 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
a7c609efd7 More python unicode object support in ycm_core 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
bd374a7096 Completer access now through CompletionRequest
This will make it easier to put Completers in the server.
2013-10-07 11:03:25 -07:00