Strahinja Val Markovic
c3fcaf2b29
Strict 0.5s time budget for completion requests
...
Vim still loves to block the main GUI thread on occasion when asking for
completions... to counteract this stupidity, we enforce a hard budget of 0.5s
for all completion requests. If the server doesn't respond by then (it should,
unless something really bad happened), we give up.
2013-10-14 11:08:15 -07:00
Strahinja Val Markovic
a04ae37ead
Client & server threads increased from 4 to 10
2013-10-11 20:12:04 -07:00
Strahinja Val Markovic
f6432e1498
Releasing Python's GIL in C++ code where possible
...
Without this, all requests to the server become effectively serialized.
2013-10-11 19:27:04 -07:00
Strahinja Val Markovic
3ae10395ea
Preventing Vim thread block on file save
...
Syntastic would run SyntasticCheck on file save, which would unconditionally
call _latest_file_parse_request.Response() and thus block until the request
returned from the server. We don't want that, so we throw in an explicit check
for the request being ready.
2013-10-11 19:09:21 -07:00
Strahinja Val Markovic
db45e243dd
Getting path to python exe on Windows correctly
...
Fixes #581 .
2013-10-11 11:11:02 -07:00
Strahinja Val Markovic
78e3607b00
We now only run extra conf preload for global file
...
This changes functionality, but since this is an undocumented, non-public API,
it's fine. The reason this is required is because of issue #579 ; if we try to
run extra conf preload on non-global extra conf, we might not have the
permission to load it. The global extra conf is something the user explicitly
has to set so it's always fine to load that.
2013-10-10 12:55:49 -07:00
Strahinja Val Markovic
7a73eb14d8
Fix problems with unknown extra conf at ycmd start
...
Fixes #579 .
2013-10-10 11:32:20 -07:00
Strahinja Val Markovic
8ce07f508c
<c-space> again filters the semantic completions
...
Fixes #576 .
2013-10-09 20:20:34 -07:00
Strahinja Val Markovic
98ef568359
Refactored the popen call for ycmd
...
Also removed shell = true in the other branch that calls popen
2013-10-09 19:28:27 -07:00
Strahinja Val Markovic
9482ad189e
Using full path to Python in popen call
...
This is the root of the problem in issue #577 .
Fixes #577 .
2013-10-09 19:18:36 -07:00
Strahinja Val Markovic
a25ed01a7c
Starting ycmd without shell = True
...
This should make it easier to shut down the server on some machines.
Fixes #577 .
2013-10-09 17:00:28 -07:00
Strahinja Val Markovic
70a51be209
Making the cs_completer test less flaky
2013-10-09 13:17:53 -07:00
Strahinja Val Markovic
3b057cc667
Basic integration test for the cs_completer
2013-10-08 21:30:53 -07:00
Strahinja Val Markovic
d84f2b0e8e
cs_completer works again
2013-10-08 20:52:04 -07:00
Strahinja Val Markovic
7afd76b4d4
Better url joining in base_request
2013-10-08 20:49:00 -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
3dbd407f7a
Adding forgotten test file
2013-10-08 19:02:20 -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
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
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
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
88a260d448
ycmd now uses Waitress instead of CherryPy
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
afa1afc49b
Handling no diagnostic data from event response
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