Commit Graph

882 Commits

Author SHA1 Message Date
Strahinja Val Markovic
f0650ddc7f Minor style fixes 2013-10-07 16:53:41 -07:00
Strahinja Val Markovic
ebb1627f2e Resolving a minor TODO
/filetype_completion_available handler renamed to /semantic_completion_available
2013-10-07 16:28:40 -07:00
Strahinja Val Markovic
5000d2e4ae NativeFiletypeCompletionAvailable now a local call
It used to block on the server to get the data. Now it doesn't anymore. This
speeds up Vim startup.
2013-10-07 16:10:48 -07:00
Strahinja Val Markovic
c7be1f1b47 Omni completion works again 2013-10-07 15:47:48 -07:00
Strahinja Val Markovic
4b73739b09 Removing some obsolete todos 2013-10-07 14:21:46 -07:00
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