Commit Graph

227 Commits

Author SHA1 Message Date
nop
fd6338fa88 Fixed OmniSharp launch under Windows (again)
We pass shell=True to Popen so that OmniSharp is not started inside a
new visible window under Windows. And since we use shell=True, we pass
the command to execute as a string, as recommended by Python's docs
(also, it won't work when passed as a sequence anyway :) ).
2013-12-10 12:46:05 +01:00
nop
ee90d9b09b Fix faulty logic in previous commit
Previous commit is 9b8781322e
2013-12-10 12:35:33 +01:00
nop
9b8781322e Small refactoring
Use the dedicated function to check if we're running on Windows instead
of checking the platform directly.
2013-12-05 10:25:55 +01:00
nop00
d4829f1ef9 Fix OmniSharp launch under Windows 2013-12-04 22:01:35 +01:00
nop
93fa3ad7e7 Small stylistic changes 2013-12-03 17:34:10 +01:00
nop00
3da6f5c197 Unit tests for Omnisharp's smarter solution finder 2013-11-29 22:13:04 +01:00
nop
aa7801b850 Omnisharp: smarter solution file finder
When loading the Omnisharp server, YCM tries to find a suitable solution
file to feed it. Instead of giving up when finding multiple solution
files, it now tries to find one named like the edited files' folder at
the solution level, e.g. if we have bla/Project.sln and we are editing
bla/Project/Folder/Whatever/File.cs, we use bla/Project.sln.
2013-11-21 15:31:38 +01:00
Strahinja Val Markovic
cf6211055e Removing the server_idle_suicide_seconds option
This option existed so that the user can tweak it if they found the default idle
timeout too short, for instance if they leave their machine on over the weekend.

This use case is now covered by the new YcmdKeepalive system that pings ycmd
every 10 minutes as long as Vim is running. This prevents ycmd shutting down if
one leaves their Vim instance alone for a long time.

Thus the old option is useless now; ycmd now shuts down after 3 hours of
inactivity, which should only ever happen when its corresponding Vim instance
has shut down abnormally.
2013-11-20 12:33:57 -08:00
Strahinja Val Markovic
5ae3a573b9 Workaround for annoying clang bug with pragma once
Fixes #216
2013-11-17 17:59:39 -08:00
Strahinja Val Markovic
757602becf Workaround for header flags with compilation db 2013-11-17 14:17:20 -08:00
Strahinja Val Markovic
76f9c42d6e Minor whitespace fix 2013-11-17 13:46:14 -08:00
Strahinja Val Markovic
1f23171c08 Test for exception on no flags from extra conf 2013-11-17 13:45:39 -08:00
Strahinja Val Markovic
19a5bf0500 Notifying user if no flags come from extra conf 2013-11-17 13:32:43 -08:00
Strahinja Val Markovic
2caf90637d Better handling of bad flags from extra conf 2013-11-17 13:10:16 -08:00
Strahinja Val Markovic
64078f20a0 Added the g:ycm_use_ultisnips_completer option
This can be used to turn off UltiSnips completion candidates.

Fixes #596.
2013-11-15 16:22:20 -08:00
Strahinja Val Markovic
d41a011198 Deleting some dead code 2013-11-15 15:48:55 -08:00
Strahinja Val Markovic
450403044b Adding new g:ycm_path_to_python_interpreter option
Fixes #663
2013-11-14 10:50:53 -08:00
Strahinja Val Markovic
0226ba4c90 ycmd using Vim stdin on Windows
This resolves YCM crash problems. Fixes #637.
2013-11-07 14:53:15 -08:00
Strahinja Val Markovic
4aa207c2ad Checking for 'pythonw' only on Windows
On Mac OS X, checking for pythonw can return a path to an ancient 2.4 version of
Python in some cases. We don't want that.
2013-11-05 15:30:34 -08:00
Strahinja Val Markovic
207a0779c3 Ensuring filename is a plain Python string
We don't want to send a unicode string to the user's ycm_extra_conf.py file.
This should fix problems with sending the filename to YCM's CompilationDatabase
API.
2013-11-05 10:28:40 -08:00
Strahinja Val Markovic
aa0ccdb925 Better client notice when ycmd crashes
Now we only show the last 30 lines of stderr instead of everything in it which
was not very useful. We also tell the user about :YcmRestartServer.
2013-11-04 11:15:03 -08:00
Strahinja Val Markovic
9ea0c39279 Forcing requests to ycmd to ignore local proxies
Fixes #641
2013-11-04 10:34:42 -08:00
Strahinja Val Markovic
ca90d10ff7 Minor logic refactor for path to Python func 2013-11-01 10:53:16 -07:00
Strahinja Val Markovic
7bfb4c3402 Use a thread pool that doesn't join workers
By default, a ThreadPoolExecutor will wait at Python interpreter shutdown for
all the threads to stop by themselves before letting the interpreter shut down.

We don't want that for the network requests thread pool, it causes a shutdown
latency if there are outstanding requests. Killing the threads in our pool is
perfectly safe so we can avoid the latency by introducing an
UnsafeThreadPoolExecutor.
2013-10-30 18:08:35 -07:00
Sascha G.
2ea2444e66 Upping ycmd max request size to 1000kb 2013-10-30 22:50:58 +01:00
Tom Vincent
15b7e7683a Blacklist vimwiki filetype
[vimwiki][] has a markdown-like syntax, which doesn't bode well with YCM
(flickering "pattern not found" messages, performance hits with long prose).

[vimwiki]: https://github.com/vimwiki/vimwiki
2013-10-30 01:35:17 +00:00
Strahinja Val Markovic
9734c473e2 Upping ycmd max request size to 500kb
Fixes #624
2013-10-29 12:16:46 -07:00
Strahinja Val Markovic
f91790e2ee Only importing ycm_core in ycmd
I'm not sure, but it seems that loading both ycm_client_support and ycm_core
into the same process is causing random ycmd crashes.
2013-10-28 12:17:18 -07:00
Strahinja Val Markovic
6e782508b3 Now possible to sent Vim data to FlagsForFile func
Fixes #612.
2013-10-26 16:22:43 -07:00
Strahinja Val Markovic
dda1a83c09 Turning off the omnisharp server after test 2013-10-26 12:30:49 -07:00
Strahinja Val Markovic
63534e1a6f Fixing some cs completer subcommands failing
The subcommand would execute correctly, but since there would be no return
statement, it would hit the bottom of the function and raise an error.
2013-10-26 12:28:10 -07:00
Strahinja Val Markovic
3795f4f11c Split server tests into multiple files 2013-10-26 12:15:56 -07:00
Strahinja Val Markovic
17d149e899 ycmd loads default options when none provided 2013-10-25 13:26:33 -07:00
Strahinja Val Markovic
2b8ee37bf5 ycmd uses a random free port when running vim-free
Previously the default was 6666, which was temporary.
2013-10-25 13:11:13 -07:00
Strahinja Val Markovic
77b8adf0a9 Minor refactoring for readability 2013-10-24 20:24:08 -07:00
Strahinja Val Markovic
2a42e2ccdf Better way of locating the Python 2.6/2.7 bin
It appears we can't trust sys.executable on some Unix machines as well.

Fixes #607.
2013-10-24 20:21:03 -07:00
Strahinja Val Markovic
a0f85f0b6c The ycm_temp dir is now accessible by all
Fixes #606
2013-10-24 10:26:55 -07:00
Strahinja Val Markovic
4af2ba0faa Option "shutdown_secs" is now "suicide_secs"
Calling the option server_idle_suicide_seconds should be easier to understand.
2013-10-23 12:33:27 -07:00
Strahinja Val Markovic
b2aa5e3d3f Moving client-only settings out of settings JSON
Since these options are only used on the client, they shouldn't be in
default_settings.json.
2013-10-23 12:30:13 -07:00
Strahinja Val Markovic
262d8aad03 New ycmd watchdog kills server when idle too long
Defaults are kill server after 12 hours of inactivity; the reason why it's 12
hours and not less is because we don't want to kill the server when the user
just left his machine (and Vim) on during the night.
2013-10-23 12:21:33 -07:00
Strahinja Val Markovic
78107361b3 Killing some dead code 2013-10-22 13:48:15 -07:00
Strahinja Val Markovic
5b76bcf8b7 GetDetailedDiagnostic actually takes 2 params
The Completer class version of the func only took 1 by mistake.
2013-10-22 13:46:24 -07:00
Strahinja Val Markovic
ce96a47098 Printing server PID in YcmDebugInfo 2013-10-22 10:53:31 -07:00
Strahinja Val Markovic
6d9969fa9c Surfacing ycmd server PID to user scripts
To get the PID, call function youcompleteme#ServerPid().
2013-10-22 10:51:37 -07:00
Strahinja Val Markovic
9d8fdac518 Minor cleanup of Completer comments 2013-10-18 12:35:40 -07:00
Strahinja Val Markovic
f6ca040cf7 Nth attempt at correct shutdown procedure.
If we install an explicit signal handler for SIGTERM and SIGINT and then call
sys.exit ourselves, atexit handlers are run. If we don't call sys.exit from the
handler, ycmd never shuts down. So fixed... I think. We'll see.

Fixes #577... again.
2013-10-17 22:15:17 -07:00
Strahinja Val Markovic
a5fb6b7509 Removing unsupported signal() calls on Windows
SIGQUIT and SIGHUP are not supported.

For details, see Python docs: http://docs.python.org/2/library/signal.html#signal.signal
2013-10-17 20:16:44 -07:00
Strahinja Val Markovic
6e9a16e90e Signal handler must take 2 params
Otherwise we get a TypeError
2013-10-17 20:14:56 -07:00
Strahinja Val Markovic
acae8e4e9d Tweaked the request retries logic.
We now send more retry requests that are less spaced apart.
2013-10-17 14:45:53 -07:00
Strahinja Val Markovic
40464f6e0d Resolving issues with event requests timing out
It appears that the issue comes from sending a None timeout to Requests. It
seems it's a bug in Requests/urllib3. So we just pick an arbitrary long timeout
of 30s as the default.
2013-10-17 14:21:37 -07:00