Evan Sebastian
d18d515b29
Fix unicode-character filename bug.
...
Issued here https://github.com/Valloric/YouCompleteMe/issues/1069
To reproduce:
1. Create any file with unicode character on its filename, e.g `Ω.c`
2. Open the file and start adding codes until >5 lines (i.e ycm start compiling)
3. YCM will crash due to unicode encoding error. See issue referenced above for complete log.
2014-07-07 22:52:17 +07:00
Alexandre Fonseca
09379b3ff6
Allow '*' in ycm_filetype_specific_completion_to_disable.
...
I love YCM's auto popup with keyword completion when power typing but
would rather not have semantic completion activate unless I really want
it to (most semantic completers are somewhat slow and sometimes end up
breaking my flow). When in API exploration mode, I don't mind having
to press C-Space to force completion and wait a bit more.
Unless I'm mistaken, the current code does not allow wildcards in the
specification of filetypes on which to disable automatic semantic
completion. This change allows the use of '*' to disable automatic
semantic completion in all files.
2014-06-30 15:36:37 +02:00
Strahinja Val Markovic
6cd929c829
Further support for diag line_num < 1
...
Fixes #1028
2014-06-09 10:18:03 -07:00
Strahinja Val Markovic
afbc7869a7
Fix off-by-one error with location list diags
2014-06-09 10:04:07 -07:00
Strahinja Val Markovic
0cdb588207
Updating to latest ycmd
...
Diagnostic & completion 'kind' changed in the REST API.
2014-06-03 14:49:53 -07:00
Strahinja Val Markovic
e9a318fc7c
Update to latest ycmd
...
Upstream completions API changed.
2014-06-02 15:15:45 -07:00
Strahinja Val Markovic
748afecc4a
Handle libclang diags for line_num 0
...
Fixes #978
2014-05-29 13:25:43 -07:00
Strahinja Val Markovic
09d4723fcc
Updating to latest ycmd
...
Top-level 'filetypes' property not needed in request data anymore.
2014-05-29 10:42:46 -07:00
Strahinja Val Markovic
666cf3859a
Better detection of shortmess 'c' availability
...
Also noting that the annoying messages during completion go away with Vim
7.3.314.
Related to #642 .
2014-05-28 15:48:49 -07:00
Strahinja Val Markovic
8615e408b4
Updating to latest ycmd
2014-05-28 11:24:33 -07:00
Strahinja Val Markovic
5d647fec99
Removing erroneous whitespace
2014-05-28 10:20:54 -07:00
Strahinja Val Markovic
6fa49582ed
Fix missing param in OmniCompletionRequest
2014-05-28 00:05:50 -07:00
Strahinja Val Markovic
9100044afc
Refactored completion request creation
...
- OmniCompleter is now more similar to other Completers.
- CompletionRequest doesn't store start_column anymore.
- Calling BuildRequestData only once per request.
2014-05-27 17:38:34 -07:00
Strahinja Val Markovic
876eaf9c33
OmniCompleter requests now have buffer data
...
RequestWrap needs buffer data to produce computed properties.
2014-05-27 15:34:46 -07:00
Strahinja Val Markovic
4cf9cfcdff
Updating to latest ycmd
...
Since ycmd doesn't need 'query', 'start_column' and 'line_value' params, we
don't send them anymore.
2014-05-27 14:30:22 -07:00
Strahinja Val Markovic
3d733dca2d
:YcmCompleter<TAB> now won't print traceback
...
If there's no semantic completer set for the current filetype,
:YcmCompleter<TAB> would print an ugly traceback. Ugh.
Fixes #989 .
2014-05-22 14:12:51 -07:00
Val Markovic
b49ceecedb
Merge pull request #987 from fcelda/ycmd_ipv4
...
Use IPv4 to connect to ycmd
2014-05-22 12:20:48 -07:00
Strahinja Val Markovic
4344ee70a8
run_tests.sh only runs YCM tests, not ycmd ones
2014-05-21 13:41:31 -07:00
Jan Vcelak
5916226f06
use IPv4 to connect to ycmd
2014-05-21 22:40:47 +02:00
Strahinja Val Markovic
26ab52e7a7
Removing clang_includes; now in ycmd repo
2014-05-21 13:10:57 -07:00
David\ Beitey
3bef7977a9
Enable Function syntax for keyword seeding
2014-05-21 13:33:45 +10:00
Strahinja Val Markovic
ec6966236c
GoTo commands now work when spaces in filenames
...
Fixes #977
2014-05-19 12:37:30 -07:00
Strahinja Val Markovic
68f3577b87
Faster drawing of red diagnostic underlines
...
The new version of the regex executes faster.
Fixes #968 .
2014-05-19 11:10:03 -07:00
Strahinja Val Markovic
d7195f6f19
Fixing race condition on server crash
...
Crash handling code tried to read stderr log file, but the file can be deleted
by the server befor we get to look at it. In such a case, we post a different
error message (without the log output).
Point is we do our best to get the error output if the user doesn't have
g:ycm_server_keep_logfiles set. If we can't get the logfile, oh well. We tell
the user to set that flag if they care.
Fixes #974 .
2014-05-16 19:26:46 -07:00
Strahinja Val Markovic
a69bbb3009
Updating code to work with new ycmd location
2014-05-13 13:09:19 -07:00
Strahinja Val Markovic
abfba7a1aa
Moved ycmd-related files to third_party/ycmd
...
This is in preparation of splitting ycmd into a separate project.
2014-05-12 17:00:43 -07:00
Strahinja Val Markovic
7eaafd7ff8
Using OmniSharp from new directory
2014-05-12 16:30:54 -07:00
Strahinja Val Markovic
ea8ef9c34a
Moved OmniSharpServer to third_party folder
2014-05-12 16:14:29 -07:00
Strahinja Val Markovic
1ead914c4e
Fixing OmniCompleter to use 1-based start_column
...
Fixes #963 .
2014-05-12 12:54:19 -07:00
Strahinja Val Markovic
d56ec1ea7a
ycmd's JSON interface now uses 1-based indices
...
This makes far more sense because editors manipulate user-level errors/warnings
on a 1-based system, not a 0-based one.
2014-05-09 15:57:04 -07:00
Strahinja Val Markovic
4529bda5c2
Remove unused import
2014-05-09 12:36:36 -07:00
Strahinja Val Markovic
8fd6296f49
Refactored cs_completer tests some more
...
Common server-wait code is in a helper func now.
2014-05-09 12:19:22 -07:00
Strahinja Val Markovic
52fdf2d09f
Formatting fixes
2014-05-09 12:08:29 -07:00
Strahinja Val Markovic
a4da9ee686
Refactoring tests to use new helper methods
...
Plus minor formatting fixes.
2014-05-09 12:06:56 -07:00
Strahinja Val Markovic
72d91957fc
Formatting fixes
2014-05-09 12:04:15 -07:00
Val Markovic
7aa68d93b6
Merge pull request #956 from mispencer/CsharpErrorDisplay
...
Support for diagnostic for C#
2014-05-09 12:01:43 -07:00
Strahinja Val Markovic
9691bd9236
Encoding the x-ycm-hmac header value as base64.
...
We need to respect RFC 5987.
2014-05-09 10:37:20 -07:00
Strahinja Val Markovic
ec65950a9b
Fixing tests
...
Tests read the default hmac_secret from default_settings.json, and that value is
read as a unicode object by the json parser, not str.
2014-05-09 10:22:00 -07:00
Strahinja Val Markovic
8e40315258
Helper test func for stopping OmniSharp server.
2014-05-08 15:41:07 -07:00
Spencer G. Jones
465019b197
Support for SyntaxErrors in CSharp completer
2014-05-08 15:40:50 -06:00
Strahinja Val Markovic
a1feadece0
indentation fix
2014-05-05 11:11:57 -07:00
Strahinja Val Markovic
ccf0a2ed4d
More secure comparison of HMAC strings
...
To avoid timing attacks. The implementation of SecureCompareStrings is pulled
directly from python 3.4 sources.
2014-05-05 10:35:31 -07:00
Strahinja Val Markovic
b56858d2b0
Error handler now also sets HMAC header.
2014-04-25 12:03:39 -07:00
Strahinja Val Markovic
e965e02847
Client/server communication now uses HMAC for auth
...
This is to prevent a convoluted exploit that can trigger remote code execution.
2014-04-25 11:07:08 -07:00
Strahinja Val Markovic
479ad62555
Prevent setsid() failure from taking down ycmd
2014-04-10 13:02:49 -07:00
Strahinja Val Markovic
e48c5b7f9a
Revert "Remove clang_includes folder"
...
This reverts commit cca4785fb6
.
2014-04-02 15:41:51 -07:00
Strahinja Val Markovic
e17be2f81c
Revert "Don't pass extra include path to libclang"
...
This reverts commit 7bdff8941c
.
2014-04-02 15:41:48 -07:00
Strahinja Val Markovic
9865d479e1
Revert "Add libclang builtin headers for LLVM release 3.3 and 3.4"
...
This reverts commit 2f84503a99
.
2014-04-02 15:41:45 -07:00
Strahinja Val Markovic
cc488d6e3c
Revert "Add builtin includes for AppleClang 5.1"
...
This reverts commit c62bb98f4f
.
2014-04-02 15:41:41 -07:00
Val Markovic
f054fcfc0a
Merge pull request #910 from nickhutchinson/fix-libclang-includes
...
Fix libclang's #include search path
2014-04-01 21:16:09 -07:00
Marc Burns
6df96fcccf
Use OnWindows from utils instead of ad-hoc platform check.
2014-04-01 20:29:20 -04:00
Nicholas Hutchinson
c62bb98f4f
Add builtin includes for AppleClang 5.1
...
Copied from Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib
2014-04-01 21:27:54 +01:00
Nicholas Hutchinson
2f84503a99
Add libclang builtin headers for LLVM release 3.3 and 3.4
...
Copied from the ./lib/clang/3.X/include directories of the prebuilt binary releases at llvm.org, specifically
http://llvm.org/releases/3.3/clang+llvm-3.3-amd64-Ubuntu-12.04.2.tar.gz and http://llvm.org/releases/3.4/clang+llvm-3.4-x86_64-linux-gnu-ubuntu-13.10.tar.xz .
These headers don't appear to be arch dependent, so we should be good.
2014-04-01 19:34:52 +01:00
Marc Burns
8f116b849a
Detach from controlling terminal to avoid receiving SIGINT.
2014-04-01 04:18:22 -04:00
Spencer G. Jones
439450d3bd
CSharp GoTo was off by one column and line
2014-03-31 08:54:46 -06:00
Nicholas Hutchinson
7bdff8941c
Don't pass extra include path to libclang
2014-03-27 08:07:56 +00:00
Val Markovic
136b80cd88
Merge pull request #903 from Valloric/watchdog-fix
...
ycmd watchog timer now wiser about machine sleep
2014-03-26 12:52:56 -07:00
Nicholas Hutchinson
cca4785fb6
Remove clang_includes folder
2014-03-26 10:03:20 +00:00
Val Markovic
9d388ef4b3
Merge pull request #845 from davits/master
...
Added options to choose GoTo commands buffer...
2014-03-24 12:59:35 -07:00
Davit Samvelyan
b4b94429dd
reverted back to the GetBufferOption
2014-03-23 12:33:27 +04:00
Davit Samvelyan
b9109af709
Added check for Vim 'hidden' option when trying to open result in the same buffer
2014-03-22 14:24:16 +04:00
Strahinja Val Markovic
90e097efa4
Implementing the new GoToImprecise command
...
Same as GoTo, but trades correctness for speed. See the docs for details.
2014-03-21 12:37:01 -07:00
Strahinja Val Markovic
9cf566bd8f
Renamed GoToDefinitionElseDeclaration to GoTo
...
The old name still works for the sake of backwards compatibility.
2014-03-21 11:34:00 -07:00
Strahinja Val Markovic
4adf71969d
ycmd watchog timer now wiser about machine sleep
...
We now make sure we don't terminate ycmd if we skipped a watchdog wakeup
time. If we skipped a check, that means the machine probably went to sleep and
the client might still actually be up. In such cases, we give it one more wait
interval to contact us before we die.
2014-03-20 15:44:35 -07:00
Spencer G. Jones
81973caf05
Call OmniSharpServer correctly in Cygwin
...
Cygwin should not call OmniSharpServer with mono
Update OmniSharpServer submodule for new client path mode parameter
Pass client path mode to OmniSharpServer on run
2014-03-20 08:40:43 -06:00
Strahinja Val Markovic
bf0a499093
Fixing more unicode-related issues.
...
This is getting really tedious really fast.
2014-03-19 15:13:35 -07:00
Strahinja Val Markovic
2f051ee9f1
YCM client now sends utf-8 encoded JSON.
...
Previously, we'd just use json.dumps() to dump out JSON. By default,
ensure_ascii is set to true and non-ASCII chars are encoded as \uXXXX.
Problems seem to happen with other text in the data then not being utf8. I'm not
sure why, still can't repro. This should go away now that we explicitly build a
unicode string which we then encode as utf8.
Hopefully fixes #821 .
2014-03-19 13:16:49 -07:00
Strahinja Val Markovic
7a4f5a4a53
Minor var naming changes
2014-03-19 10:27:34 -07:00
Val Markovic
321355b041
Merge pull request #860 from aslater/master
...
Revised fix for ycmd terminate race condition
2014-03-05 17:02:19 -08:00
unknown
b4728f3f93
fixed some comments and opened the logfiles in ascii rather than binary mode
2014-03-04 22:59:34 -06:00
Strahinja Val Markovic
bdec814af9
Resolving a minor lint error
2014-03-04 10:24:21 -08:00
davits
40dc235136
Combined same_buffer and buffer_command options.
2014-03-04 14:47:43 +04:00
unknown
875d6cf282
fix Travis-CI failures
2014-03-03 20:18:44 -06:00
davits
8c6857bf91
missing space
2014-03-03 10:26:06 +04:00
unknown
404c167525
Removed communicate call. Moved log file handling to the server daemon
2014-03-02 00:14:14 -06:00
Strahinja Val Markovic
0d9c11d329
Adding 'mail' filetype (mutt) to blacklist
...
Fixes #847
2014-03-01 10:15:25 -08:00
Spencer G. Jones
2d9c41f527
Expose OmniSharp's ReloadSolution command
2014-02-28 11:46:55 -07:00
unknown
a4e28157c4
Added call to communicate() after terminating server
2014-02-26 22:23:29 -06:00
davits
0102d23bfe
Added options to choose whether GoTo commands result should be opened in the new buffer and in which one.
2014-02-23 17:50:51 +04:00
Val Markovic
55663847ba
Merge pull request #824 from mispencer/OmnisharpServerUpdate
...
Update OmniSharpServer to latest to resolve port issues on windows as non-admin
2014-02-19 13:40:52 -08:00
Spencer G. Jones
ec96a021a4
Refactor cs_completer to reduce complexity
2014-02-19 11:32:00 -07:00
Spencer G. Jones
5b5e182194
Use new Omnisharp Server ready command
2014-02-19 10:45:01 -07:00
Spencer G. Jones
2bf3bd5cac
Update OmniSharpServer to latest to pickup cf35aeab and 53ea4d7fb5
2014-02-19 10:41:11 -07:00
Val Markovic
784ebd68b5
Merge pull request #776 from davits/master
...
Fix for Issue #630
2014-02-18 12:20:20 -08:00
Strahinja Val Markovic
18be5c254a
Increasing worker thread count to 30
...
If it takes a while to compile the user's C++ file, the YCM client/server may
run out of threads. Vim gets laggy then.
This is a stopgap measure until I think of something better.
2014-02-07 12:46:45 -08:00
davits
00ae628443
Added ordering of system path completion entries
2014-02-03 11:43:30 +04:00
davits
8619099756
Fixed completions ordering, this time for real :)
2014-02-01 17:32:09 +04:00
davits
8520c5f5ac
Added tests for filename_completer, fixed ordering of completions
2014-02-01 17:14:45 +04:00
Strahinja Val Markovic
825b3055e5
Force ignoring of SIGINT for YCM client
...
This reduces fallout of pressing ctrl-c in Vim.
2014-01-29 10:18:07 -08:00
Strahinja Val Markovic
9f3a3e3019
Fixing a race condition in Completer
...
Since we use one thread per request, one thread could change the
completions_cache while the other one was depending on the data in it.
2014-01-28 16:31:32 -08:00
Strahinja Val Markovic
6faf0e9c20
Removed unused variable
2014-01-28 14:58:58 -08:00
Val Markovic
d156214f76
Merge pull request #780 from rxwen/master
...
flush the options_file before start the ycmd server
2014-01-21 10:06:00 -08:00
Strahinja Val Markovic
47a0048f34
Fixing str/unicode mismatch
...
Sending a unicode filepath to CompilationDatabase doesn't work and causes
exceptions; it has to be a (utf-8 encoded) str object.
2014-01-17 10:18:29 -08:00
Strahinja Val Markovic
433b3b64f0
Decoding completion strings to utf8 for Vim
...
Fixes #761
Fixes #775
2014-01-15 11:25:57 -08:00
rxwen
5fc4a00b7c
There is no way for a dictionary to return None for non-existing key if
...
a default value is provided
2014-01-14 23:22:48 +08:00
rxwen
62949c42ed
flush the options_file before start the ycmd server
...
- There are cases on windows that the ycmd will read an empty options
file. So, flush the options file before start the ycmd server
2014-01-14 22:05:03 +08:00
Tom Vincent
685b1007b6
Blacklist Pandoc file type
...
Pandoc enhances Markdown and therefore is used for prose, which doesn't suit YCM
well.
2014-01-14 11:59:31 +00:00
Strahinja Val Markovic
b1bba2e201
Changing copyright headers from me to Google
...
When I initially released this project, I released it under my own copyright. I
have since then worked on it in my 20% time at Google (and want to continue
doing this) and my life becomes much simpler if the copyright is Google's.
From the perspective of how this project is run and managed, **NOTHING**
changes. YCM is not a Google product, merely a project run by someone who just
happens to work for Google.
Please note that the license of the project is **NOT** changing.
People sending in future pull requests will have to sign the Google
[CLA](https://developers.google.com/open-source/cla/individual ) (you can sign
online at the bottom of that page) before those pull requests could be merged
in. People who sent in pull requests that were merged in the past will get an
email from me asking them to sign the CLA as well.
2014-01-13 11:08:43 -08:00
Strahinja Val Markovic
e9b3916862
More unicode conversions on the client
2014-01-13 10:00:05 -08:00
Sun Yuanhui
436a834758
fix Issue #761
2014-01-13 21:06:21 +08:00
Strahinja Val Markovic
db4c25c97a
Clang builtin headers now included with -isystem
2014-01-12 12:36:44 -08:00
Strahinja Val Markovic
5c90ef8c9f
Fix module.map to not include missing header
...
This is actually a clang bug that's still present upstream at the time of
writing; the module.map refers to an "anm_neon.h" file that doesn't actually
exist in the folder.
Fixes #769
2014-01-12 12:24:35 -08:00
Strahinja Val Markovic
f30857df22
Updating to clang 3.4 builtin headers
2014-01-11 12:26:29 -08:00
Strahinja Val Markovic
46cf9734e8
Documenting issues with sign unplacing
2014-01-10 14:44:15 -08:00
Strahinja Val Markovic
9d06a3e54c
Revert "Only removing our signs in buffer, no all"
...
This reverts commit 182848050e
.
The reason we are reverting this is because removing signs in a loop causes
flicker. The only non-flicker approach is to remove all signs in a buffer with
"sign unplace buffer=<buffer-num>".
So no compatibility with other plugins for us.
2014-01-10 14:39:52 -08:00
Strahinja Val Markovic
182848050e
Only removing our signs in buffer, no all
...
We used to remove all the signs in a buffer. Now we just remove the ones we set.
This prevents conflicts with other Vim plugins.
2014-01-10 12:54:20 -08:00
Strahinja Val Markovic
8866f798b6
Only clear the diag message echo once
...
Trying to clear it all the time removes other, non-YCM messages as well.
Fixes #766 .
2014-01-10 12:18:24 -08:00
Strahinja Val Markovic
6e6e6043c3
Handling diags pointing to content not in file
...
Also handling no location_extent for diags.
2014-01-09 15:48:48 -08:00
Strahinja Val Markovic
365f67f82c
Docs now mention line highlight depends on signs
2014-01-09 14:11:15 -08:00
Strahinja Val Markovic
dc01ad8240
Ensuring there are no "press enter" prompts
...
This is for the diagnostic echo.
2014-01-09 13:49:06 -08:00
Strahinja Val Markovic
5efd920815
Renaming and documenting the new options.
2014-01-08 19:43:21 -08:00
Strahinja Val Markovic
8090373afd
Now can populate the loclist like Syntastic
2014-01-08 19:09:40 -08:00
Strahinja Val Markovic
cb359c0b6a
New options for controlling the diag ui
2014-01-08 18:43:17 -08:00
Strahinja Val Markovic
c8fd002b66
Removing forgotten debug statement
2014-01-06 15:24:06 -08:00
Strahinja Val Markovic
05552efd19
Now highlighting the full identifier for diag
...
Instead of just underlining the first char of an identifier, we now underline.
the full identifier.
2014-01-06 15:24:06 -08:00
Strahinja Val Markovic
6fdddc861b
Showing clang diag ranges with red squiggles
2014-01-06 15:24:06 -08:00
Strahinja Val Markovic
209d22cfdb
DiagnosticInterface now uses server diag objects
2014-01-06 15:24:06 -08:00
Strahinja Val Markovic
a9ea9d648d
Minor refactoring
2014-01-06 15:24:06 -08:00
Strahinja Val Markovic
3ed8d9883c
Diagnostic ranges now exposed to server clients
...
Still haven't used them in the Vim client though, but will soon.
2014-01-06 15:24:06 -08:00
Strahinja Val Markovic
e5abbdb540
Increasing API version to 8
...
Needed because of recent changes to Diagnostic struct etc.
2014-01-06 15:24:05 -08:00
Strahinja Val Markovic
9656fac2f4
Diagnostic struct now holds source ranges
...
Also, line/column/file info is now in Location. The server API is the same
currently, but will change to reflect all of this soon.
2014-01-06 15:24:05 -08:00
Strahinja Val Markovic
65e6b55268
Now showing red squiggle under diagnostic location
2014-01-06 15:24:05 -08:00
Strahinja Val Markovic
c9e9a640ac
Echoing diag text on when cursor on diag line
2014-01-06 15:24:05 -08:00
Strahinja Val Markovic
6c01881e1a
Replaced Syntastic support with YCM-native code
...
Currently, the only supported Syntastic features are the error signs in the
gutter. Other features will be added in the future.
2014-01-06 15:24:05 -08:00
Strahinja Val Markovic
e8d1a4cef8
Working around a Vim bug that causes flickering.
...
If the user had a hidden buffer and a recent version of Vim, the screen would
flicker every time the user typed. This was caused by a Vim bug.
On every key press, we end up calling GetUnsavedAndCurrentBufferData(), which
calls GetBufferOption( buffer_object, 'ft' ). If the buffer_object represents a
hidden buffer, Vim would flicker.
This would happen because we'd call "buffer_object.options[ 'ft' ]" in recent
versions of Vim, and that line of code causes Vim to flicker. I don't know why.
We're extracting the 'ft' value without going through buffer_object.options, and
that works just fine.
Fixes #669 .
2014-01-06 15:00:51 -08:00
Strahinja Val Markovic
96b28b93a1
Optimizing overlap correction for common case
...
Most of the time there's nothing after the cursor.
2014-01-05 12:16:53 -08:00
Strahinja Val Markovic
a18807d31e
Candidate overlap with buffer text improved
...
Now, "foobar.h" will be changed to insert "foo" if the text after the cursor is
"bar.h". This already worked for "foobar" and "bar", but the overlap search
would stop before a non-word character. This has now been resolved.
2014-01-05 12:07:15 -08:00
Strahinja Val Markovic
91368c09ea
Handling vim.error from omnifunc
...
If the omnifunc encounters a syntax error, we need to handle this without
showing a traceback to the user.
2014-01-04 16:17:44 -08:00
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
b3f70a6c95
Forwarding args for SafePopen to Popen directly
2013-12-24 18:53:23 -08:00
Strahinja Val Markovic
7fac081bea
Merge branch 'fix-omnisharp-launch' of https://github.com/nop00/YouCompleteMe into nop00-fix-omnisharp-launch
2013-12-24 18:47:45 -08:00
davits
619e1c0b83
File&Dir issue fix
2013-12-24 12:25:07 +04: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
Strahinja Val Markovic
1edf22357f
Try to cleanup files only if they stil exist
...
Fixes #738
2013-12-20 13:01:48 -08:00
nop
bc9a283be6
New wrapper function around subprocess.Popen
...
New wrapper function around subprocess.Popen that handles stdin
correctly when on Windows (see issue #637 )
2013-12-11 13:41:04 +01:00
nop
c8b0f466c0
Small stylistic change
2013-12-11 10:27:29 +01:00
nop
96762e2a7e
Removed an unused import
2013-12-10 14:59:44 +01:00
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
Daniel Hahler
3e5e34b633
Only notify about a server crash once
...
Fixes #715
2013-12-09 22:27:11 +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
Val Markovic
7f5dd0fcf0
Merge pull request #680 from nop00/master
...
Omnisharp: smarter solution file finder
2013-12-04 10:32:13 -08:00
Strahinja Val Markovic
e0c7db4ac5
Fix issue with omnifunc mode persisting
...
This can happen when the user inserts a candidate string like "operator[]" which
doesn't end with an identifier char. A very obscure bug, but a bug nonetheless.
2013-12-03 14:39:31 -08:00
nop
93fa3ad7e7
Small stylistic changes
2013-12-03 17:34:10 +01:00
Jamie Liu
f58b06adde
Add -include to INCLUDE_FLAGS
...
The -include flag forces the inclusion of a single file, and is used by
(at least) the Linux kernel's build system.
2013-12-03 00:43:42 -08: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
Val Markovic
447ce97147
Merge pull request #699 from nop00/fix-omnisharp-shutdown
...
Check auto_stop_csharp_server when shutting down
2013-11-29 17:54:40 -08:00
nop00
3da6f5c197
Unit tests for Omnisharp's smarter solution finder
2013-11-29 22:13:04 +01:00
Strahinja Val Markovic
b085ca7c0b
Filtering out "too mary errors emitted" diags
...
Because they're completely useless and incredibly annoying.
2013-11-25 13:33:49 -08:00
Dan Schmidt
457d2a5eac
Add -isysroot to list of INCLUDE_FLAGS.
2013-11-23 09:13:41 -05:00
nop
389e3bfe4c
Check auto_stop_csharp_server when shutting down
...
Check auto_stop_csharp_server instead of auto_start_csharp_server when
shutting down
2013-11-21 17:10:37 +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
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
b4d5b4ffbb
More logging for extra conf store
2013-10-17 12:21:33 -07:00
Strahinja Val Markovic
5b37a2e36d
Don't print traceback when no detailed diagnostic
...
We should only print the message.
2013-10-16 14:37:42 -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
016434e846
Deleting some dead code
2013-10-14 20:46:42 -07:00
Strahinja Val Markovic
98f549aeae
More robust way of picking an unused local port
...
Fixes #584 .
2013-10-14 20:38:45 -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
bc607724f0
Ensuring ident completion works always
...
A bug turned it off when omni completion was available.
Fixes #583 .
2013-10-14 13:29:28 -07:00
Strahinja Val Markovic
a534a58477
Checking if ultisnips data present before using it
...
Mentioned in issue #583 , but it's not the root cause.
2013-10-14 12:32:18 -07:00
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