Commit Graph

77 Commits

Author SHA1 Message Date
Strahinja Val Markovic
e424d75c42 Preventing traceback for detailed diagnostic
Previously we'd show a Python traceback if the user asked for a detailed
diagnostic in a file that wasn't supported by Clang (something written in Python
perhaps). Now we show an nice, far less scary message informing the user of
this.

Fixes #748.
2014-01-02 14:24:17 -08:00
Strahinja Val Markovic
b1d71bbb91 Better handling of unknown extra conf files
Previously, we'd implicitly turn off future notices about unknown extra conf
files if we already raised one exception about it. This breaks when the user
ends up not receiving the "unknown extra conf, load?" message.

Now we only turn off the notice as a result of the user saying "don't load this"
so that if the first request fails to reach them, they'll get a second (and
third etc) request about it.

Fixes #615
2013-12-21 11:19:39 -08:00
Val Markovic
7f5dd0fcf0 Merge pull request #680 from nop00/master
Omnisharp: smarter solution file finder
2013-12-04 10:32:13 -08:00
nop
93fa3ad7e7 Small stylistic changes 2013-12-03 17:34:10 +01:00
Strahinja Val Markovic
aeb2c5c227 Adding the g:ycm_auto_trigger option
Toggling this option off turns off the identifier completer and the semantic
triggers.

Fixes #597
2013-12-02 16:37:59 -08:00
nop00
3da6f5c197 Unit tests for Omnisharp's smarter solution finder 2013-11-29 22:13:04 +01: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
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
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
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
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
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
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
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
5070835d01 Ensuring server cleanup on OS signals
atexit won't run registered functions for SIGTERM which we send to the server.
This prevents clean shutdown.

Also making sure that the server logfiles are deleted as well.
2013-10-17 12:21:59 -07:00
Strahinja Val Markovic
18002e17df Better handling of crashed ycmd; restart command
Previously the YCM Vim client would go bonkers when ycmd crashed. Now the user
can continue using Vim just without YCM functionality.

Also added a :YcmRestartServer command to let the user restart ycmd if it
crashed. With a little luck, this will be rarely necessary.
2013-10-15 15:27:54 -07:00
Strahinja Val Markovic
436017bd4d Now using new ycm_client_support shared lib
This means we can now load just ycm_client_support (which is a much smaller
library) into Vim and ycm_core into ycmd. Since ycm_client_support never depends
on libclang.so, we never have to load that into Vim which makes things much,
much easier.
2013-10-15 14:15:04 -07:00
Strahinja Val Markovic
b903867cdd ycm_core now imported after extra conf preload 2013-10-14 15:29:00 -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
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
8ce07f508c <c-space> again filters the semantic completions
Fixes #576.
2013-10-09 20:20:34 -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
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
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
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
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
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
c43327d176 YcmShowDetailedDiagnostic works 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