Commit Graph

156 Commits

Author SHA1 Message Date
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
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
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
d84f2b0e8e cs_completer works again 2013-10-08 20:52:04 -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
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
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
ff7fa74fc9 <c-space> works again (forces semantic completion) 2013-10-07 13:09:34 -07:00
Strahinja Val Markovic
a836f68142 Fileype completer calls InCFamilyFile correctly 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
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
c43327d176 YcmShowDetailedDiagnostic works again 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
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
Strahinja Val Markovic
3ca758a581 Getting debug info works again 2013-10-07 11:03:28 -07:00
Strahinja Val Markovic
c9b4e9ed3a Minor code style changes 2013-10-07 11:03:28 -07:00
Strahinja Val Markovic
a6a364de41 Fix bug in cache clear clang completer subcommand 2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
4a95c2fc7c GoTo commands for clang completer work again 2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
fe0c0a1607 GoTo commands work again 2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
4c6a69b432 The UltiSnips completer works again 2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
c01bc0481a Refactoring the server tests to use a helper func
This makes the tests smaller, less repetitive and easier to maintain.
2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
3b9b9ed036 Ident completer loads syntax keywords again 2013-10-07 11:03:27 -07:00
Strahinja Val Markovic
088eb4d0d2 Cleaner server shutdown
Listening for VimLeave was sub-optimal. popen.terminate() is much cleaner.
2013-10-07 11:03:26 -07:00
Strahinja Val Markovic
1730660555 A (barely) working version of ycmd + client
Still a lot of work to do.
2013-10-07 11:03:26 -07:00
Strahinja Val Markovic
fba4477ca3 Deleting a stray 'print' statement
This was put in for debugging at some point.
2013-10-07 11:03:26 -07:00
Strahinja Val Markovic
1d29a9a3bd Updating Jedi to v0.7.0 2013-10-07 11:03:26 -07:00
Strahinja Val Markovic
f5ad981f67 Converting Jedi unicode data to strings 2013-10-07 11:03:26 -07:00
Strahinja Val Markovic
6acc381262 Identifier completer now fully decoupled from Vim 2013-10-07 11:03:26 -07:00
Strahinja Val Markovic
a7c609efd7 More python unicode object support in ycm_core 2013-10-07 11:03:26 -07:00
Strahinja Val Markovic
3f0b719846 Encoding data to utf8 if 'unicode' object
ycm_core only deals with utf8 and the functions only accept python string
objects.
2013-10-07 11:03:26 -07:00
Strahinja Val Markovic
29bb90a6b4 Decoupling completers from Vim; still WIP & broken
Note to self: squash this commit before merging into master.
2013-10-07 11:03:25 -07:00
Strahinja Val Markovic
28c3d9648c Deleting some dead code 2013-10-07 11:03:25 -07:00
Strahinja Val Markovic
a26243092f Now more explicit about accessing user options
We don't inspect the Vim process anymore when we want an option; we parse the
options on startup and then use that data structure.
2013-10-07 11:03:25 -07:00
Strahinja Val Markovic
1d224eb8b4 Indentation fix 2013-10-07 11:03:25 -07:00
Strahinja Val Markovic
22256f361d ShouldUseNow now takes a current_line param
This is now used instead of examining the vim.current.line property.
2013-10-07 11:03:25 -07:00
Strahinja Val Markovic
9d34fad24f Now parsing file on every normal mode cursor move
This is still fast & efficient because if we detect that the buffer hasn't been
changed (by examining b:changedtick), the parse doesn't proceed.

In effect, we now make sure we parse the file after every change to the buffer
as soon as that change happens. This means that compilation error feedback will
now be much, MUCH quicker.
2013-08-16 14:49:00 -07:00
Chiel92
44786c58ef Merge https://github.com/Valloric/YouCompleteMe 2013-08-16 21:03:39 +02:00
Chiel92
3c5a720835 Some minor fixes 2013-08-16 21:00:26 +02:00
Chiel92
cd6491290f flake fix and readme update 2013-08-16 11:11:32 +02:00
Chris
039ffa5a75 OmniSharp completer error message using incorrect naming format
The not found message used to instruct users on how to install the OmniSharp completer was using an underscore while the argument to the install script uses a hyphen. The message now uses the correct naming format.
2013-08-15 21:29:27 -07:00
Chiel92
6b73f3fde4 Goto definition implemented 2013-08-15 12:17:42 +02:00
Chiel92
bba97eb38b ServerIsRunning pitfall eliminated 2013-08-15 11:50:54 +02:00
Strahinja Val Markovic
0215a5b8c5 Show server location for C# completer debug output 2013-08-14 19:21:20 -07:00
Strahinja Val Markovic
40146b923d Minor code style changes 2013-08-14 18:57:41 -07:00
Chiel92
66f4136526 minor style fixes 2013-08-14 17:02:10 +02:00
Chiel92
8f63ec9e09 Merge https://github.com/Valloric/YouCompleteMe 2013-08-14 16:35:55 +02:00
Chiel92
b2c85d7060 simple debug info added 2013-08-14 16:34:44 +02:00
Chiel92
253c5b39ac default logfiles and some refactoring 2013-08-14 15:40:43 +02:00
svermeulen
65bca8b56a Added option to control whether YCM should auto-stop the omnisharp server upon leaving Vim or leave it running. 2013-08-12 16:11:19 -03:00
Strahinja Val Markovic
4374da616e Fix crash: posting Vim message from thread
Vim is not thread-safe so posting a message to Vim from a non-GUI thread causes
a crash *sometimes*. I was aware of this problem before, but didn't catch this
instance of it in code review.

Fixes #479.
2013-07-30 11:20:52 -07:00
Chiel92
60e52f1a39 style fixes 2013-07-19 12:16:16 +02:00
Chiel92
a56041156e Merge branch 'C#MultipleOmniSharps' of https://github.com/mispencer/YouCompleteMe into multiple_sln
Conflicts:
	python/ycm/completers/cs/cs_completer.py
2013-07-19 11:55:25 +02:00
Chiel92
3f23893576 Merge branch 'master' of https://github.com/Chiel92/YouCompleteMe into multiple_sln
Conflicts:
	python/ycm/completers/cs/cs_completer.py
2013-07-19 11:31:52 +02:00
Chiel92
92032d7f54 Merge branch 'master' of https://github.com/Chiel92/YouCompleteMe into multiple_sln 2013-07-19 10:25:30 +02:00
Hinidu
e6183d6402 Fix code style 2013-07-18 18:18:17 +03:00
Hinidu
642572130c Add mono to command for non-windows systems 2013-07-18 13:35:46 +03:00
Strahinja Val Markovic
7aa01b9c09 More style fixes + more status reporting to :mes 2013-07-17 19:29:43 -07:00
Strahinja Val Markovic
33a05a4b42 Minor style fixes 2013-07-17 18:30:56 -07:00
Chiel92
44eaf5a0da Merge https://github.com/Valloric/YouCompleteMe
Conflicts:
	install.sh
2013-07-16 20:59:26 +02:00
Chiel92
485457af5d Apparently tested an unsaved file -_- 2013-07-16 16:12:40 +02:00
Chiel92
3617ce69db style fixes 2013-07-16 12:33:07 +02:00
Spencer G. Jones
1a7da1650c Find a free port for OmniSharp if another OmniSharp is using the default port 2013-07-15 09:12:32 -06:00
Chiel92
e15ec6ee93 minor refactoring PR #2 2013-07-13 20:11:59 +02:00
Spencer G. Jones
3737ca2ef4 Optionally write OmniSharp stdout and stderr to log files 2013-07-12 14:46:33 -06:00
Chiel92
a6a9fa10c3 pointed submodule to newest commit 2013-07-10 11:27:55 +02:00
Strahinja Val Markovic
ddd0287436 Code style fixes 2013-07-08 16:00:06 -07:00
Strahinja Val Markovic
a011eb6aa0 Fix duplicate entries in filename completion
We could just remove the "dup: 1" part in the completion dict, but that would
leave the duplicate removal up to Vim which would be slow. Also, we might not
end up returning the correct number of results then.
2013-07-08 15:56:54 -07:00
Chiel92
3227e6dc73 checkalivestatus rename 2013-07-08 14:39:43 +02:00
Chiel92
9250f55952 minor fix 2013-07-08 11:44:06 +02:00
Chiel92
bdd95ff43f variable for csharp server port added 2013-07-08 11:39:17 +02:00
Chiel92
6ec038870b ServerIsRunning fixed and variable defaults set 2013-07-08 11:22:17 +02:00
Chiel92
34c24129d2 Merge https://github.com/Valloric/YouCompleteMe 2013-07-07 22:37:10 +02:00
Chiel92
2f207cb4c6 autostart/stop server 2013-07-07 22:36:05 +02:00
Val Markovic
f7ef1aa041 Merge pull request #424 from beards/master
fix jedi DeprecationWarning
2013-07-07 11:13:22 -07:00
Strahinja Val Markovic
451acc0073 Adding OnVimLeave support to Completer class 2013-07-07 11:00:45 -07:00
Chiel92
d2a7fe9c0e choice for multiple solutionfiles implemented 2013-07-07 13:28:28 +02:00
Chiel92
2743f96529 Starting subprocess is working now 2013-07-07 13:06:07 +02:00
simon_hsiung
a95195c8e8 fix jedi DeprecationWarning 2013-07-05 08:52:53 +00:00
Strahinja Val Markovic
cbc6c07a1a Encouraging the user to read the docs even more
Apparently we weren't encouraging enough before. Related to issue #415.
2013-07-01 11:34:25 -07:00
Strahinja Val Markovic
5496984931 Option to set min length for suggestions
Only works with the identifier completer. Fixes #387.
2013-06-29 15:43:10 -07:00
Strahinja Val Markovic
04ca6ec4de g:ycm_semantic_triggers now only adds new triggers
Fixes #164.
2013-06-29 11:53:16 -07:00
Chiel92
e453c2b772 bugfix in solutionfile detector 2013-06-29 10:41:45 +02:00
Chiel92
faa6cf3f36 several fixes 2013-06-28 21:15:05 +02:00
Chiel92
37eb1b7521 added omnisharp server as submodule 2013-06-26 11:51:52 +02:00
Chiel92
a69d827934 solution file detection ported 2013-06-21 22:26:11 +02:00
Chiel92
6dc4b38625 first throw 2013-06-13 23:34:34 +02:00
Strahinja Val Markovic
e740bac1f6 Better completion in the middle of a word
For instance (`|` represents the cursor):
  1. Buffer state: `foo.|bar`
  2. A completion candidate of `zoobar` is shown and the user selects it.
  3. Buffer state: `foo.zoobar|bar` instead of `foo.zoo|bar` which is what the
  user wanted.

This commit resolves that issue.

It could be argued that the user actually wants the final buffer state to be
`foo.zoobar|` (the cursor at the end), but that would be much more difficult
to implement and is probably not worth doing.

Fixes #374.
2013-06-09 19:00:49 -07:00
Chiel92
48a4b324f4 moved vim.eval to init 2013-06-09 11:22:11 +02:00
Chiel92
1f91c59938 echoerr replaced by postvim message 2013-06-08 10:16:22 +02:00
Chiel92
a6424c22d8 displaytext and description swapped 2013-06-07 11:45:36 +02:00
Chiel92
7d7349142c completer rewritten to fit in the changed api 2013-06-04 12:14:12 +02:00
Strahinja Val Markovic
3948b6efe2 Check for empty flags list
IndexErrors are not fun.
2013-05-28 09:43:13 -07:00
Strahinja Val Markovic
973064d0bd Can now seed identifier database with keywords
By toggling the g:ycm_seed_identifiers_with_syntax option, the user can now tell
YCM to seed the identifier database with the language's keywords.

This is off by default because it can be noisy. Since the identifier completer
collects identifiers from buffers as the user visits them, the keywords that the
user cares about will already be in the database, regardless of the state of the
new option. So the only keywords added will be the ones the user is not using.

Meh. But people want it so there.

Fixes #142.
2013-05-27 00:08:21 -07:00
Strahinja Val Markovic
454a961318 The identifier completer now reads tags files
See the docs for details. Fixes #135.
2013-05-26 13:33:40 -07:00
Strahinja Val Markovic
38faa0e94e Adding the ClearCompilationFlagCache subcommand
With this command the user can clean the in-memory cache of the compilation
flags that the clang completer uses.
2013-05-24 14:48:46 -07:00