Commit Graph

378 Commits

Author SHA1 Message Date
micbou
0d476a0164
Refactor diagnostic commands
Move s:ShowDiagnostics and s:ForceCompileAndDiagnostics logic to the Python layer.
Clear message about compilation blocking Vim once it is done.
2017-02-20 18:28:49 +01:00
Homu
1d1a4f4cff Auto merge of #2475 - wincent:still-a-little-lazy, r=Valloric
Don't use VimEnter initialization except when stating gui

# PR Prelude

- [x] I have read and understood YCM's [CONTRIBUTING][cont] document.
- [x] I have read and understood YCM's [CODE_OF_CONDUCT][code] document.
- [x] I have included tests for the changes in my PR. If not, I have included a
  rationale for why I haven't.
- [x] **I understand my PR may be closed if it becomes obvious I didn't
  actually perform all of these steps.**

# Why this change is necessary and useful

This is another attempt at:

https://github.com/Valloric/YouCompleteMe/pull/2473

Which removed the apparently flawed attempt at "lazy" loading of YCM. While it fails to get the load out of the critical startup path, it *does* serve the useful purpose when starting up gvim of avoiding a deadlock situation in gvim.

So, this time, we keep VimEnter, but only for the gui-starting case. We update the comment to explain what is actually happening. And we can keep the docs about how to defer loading.

[cont]: https://github.com/Valloric/YouCompleteMe/blob/master/CONTRIBUTING.md
[code]: https://github.com/Valloric/YouCompleteMe/blob/master/CODE_OF_CONDUCT.md

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/valloric/youcompleteme/2475)
<!-- Reviewable:end -->
2017-02-11 06:48:25 +09:00
Ben Jackson
a8261e986e Update readme for compilation database support 2017-01-08 18:02:35 +00:00
Greg Hurrell
1e3b7bae51 Don't use VimEnter initialization except when stating gui
This is another attempt at:

https://github.com/Valloric/YouCompleteMe/pull/2473

Which removed the apparently flawed attempt at "lazy" loading of YCM.
While it fails to get the load out of the critical startup path, it
*does* serve the useful purpose when starting up gvim of avoiding a
deadlock situation in gvim.

So, this time, we keep VimEnter, but only for the gui-starting case. We
update the comment to explain what is actually happening. And we can
keep the docs about how to defer loading.
2016-12-16 19:21:09 -08:00
Val Markovic
caa4291a9a
Revert "Auto merge of #2473 - wincent:no-lazy, r=Valloric"
This reverts commit c182c0529b, reversing
changes made to 48b7ccef76.
2016-12-15 21:21:35 -08:00
Greg Hurrell
7f76b03e0e doc: Add FAQ entry explaining how to defer loading 2016-12-13 23:51:40 -08:00
Homu
39be8b1aad Auto merge of #2430 - micbou:client-logfile, r=Valloric
[READY] Add client logfile

We have a lot of issue reports with Python exceptions that interrupt user workflow or even worse make the editor unusable and force users to restart it (e.g. issue https://github.com/Valloric/YouCompleteMe/issues/2192). We really want to avoid that but at the same time we can't just silence these exceptions because they are useful to debug the issue. Logging them to Vim `:messages` is not practical because we can't write to it without displaying messages in the status line which, in addition to distract users, may lead to various issues like the infamous `Press ENTER or type command to continue` message. This is why a logfile is needed.

For now, only server crashes are logged but more logging will be added: connection issues with the server (`ConnectTimeout`, `ReadTimeout`, etc. exceptions), UltiSnips unavailability, requests sent to the server, etc.

The behavior of the `:YcmToggleLogs` command is changed to accept multiple arguments where each argument is a logfile name. Each of these files is opened in a separate window or closed if already open. When no argument is given, the list of available logfiles is displayed to the user. Example:
```
Available logfiles are:
ycm_pz83u7.log
ycmd_23830_stderr_gf6j3i.log
ycmd_23830_stdout_gmpa_k.log
```

With this change and PR #2342, we will add the completers logfiles to the list of files that can be opened with the `:YcmToggleLogs` command.

A bunch of tests are added that cover almost all changes introduced by this PR.

<!-- Reviewable:start -->

---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/valloric/youcompleteme/2430)
<!-- Reviewable:end -->
2016-11-28 00:30:18 +09:00
micbou
e179e860b4
Bump Clang version in documentation 2016-11-22 02:13:09 +01:00
micbou
b93c1fd47c
Add client logfile 2016-11-19 18:47:43 +01:00
micbou
9605c1d50a
Add Gitter badge 2016-10-31 18:13:36 +01:00
Homu
c895f09375 Auto merge of #2396 - dpzmick:patch-1, r=micbou
Update README.md

# PR Prelude

Thank you for working on YCM! :)

**Please complete these steps and check these boxes (by putting an `x` inside
the brackets) _before_ filing your PR:**

- [x] I have read and understood YCM's [CONTRIBUTING][cont] document.
- [x] I have read and understood YCM's [CODE_OF_CONDUCT][code] document.
- [x] I have included tests for the changes in my PR. If not, I have included a
  rationale for why I haven't.
- [x] **I understand my PR may be closed if it becomes obvious I didn't
  actually perform all of these steps.**

[cont]: https://github.com/Valloric/YouCompleteMe/blob/master/CONTRIBUTING.md
[code]: https://github.com/Valloric/YouCompleteMe/blob/master/CODE_OF_CONDUCT.md

# Why this change is necessary and useful
ycmd has this support: https://github.com/Valloric/ycmd/pull/628

no tests needed, only a change to docs

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/valloric/youcompleteme/2396)
<!-- Reviewable:end -->
2016-10-28 15:47:24 +09:00
David Zmick
0acafe7fc7 Update README.md
https://github.com/Valloric/ycmd/pull/628
2016-10-27 20:14:49 -05:00
dhleong
7e12c127cf Wrap README.md to 80 chars 2016-10-23 12:29:29 -04:00
dhleong
bb793826b6 Refactor filter spec to filter_diagnostics; update tests, README 2016-10-22 23:31:46 -04:00
micbou
9d6a17b140
Add coverage support
Use codecov for coverage reports. Add badge to README.
2016-10-12 23:03:37 +02:00
micbou
a68f59410f
Bump Ubuntu version to 14.10 in documentation
Ubuntu 14.10 has Vim 7.4.273.
2016-10-03 13:00:54 +02:00
Ben Jackson
94a81144af Update ycmd. Update docs for GetTypeImprecise and GetDocImprecise 2016-10-02 18:36:11 +01:00
Homu
cd6a16f0ae Auto merge of #1901 - oblitum:use-TextChangedI-when-available, r=micbou
[READY] Bumps required Vim to 7.4.143 and adopts TextChangedI.

Long and personal experience, when TextChangedI gets used, YCM seems
to perform better, diagnostics will trigger much less frequently at
inappropriate occasions, even less with whitespace agnostic triggers,
if I recall correctly...

There's a previous discussion at #1337. At the time this change was bundled in
a single pull request with other changes.

It has gone through the test of the time, sole issue I've stumbled upon was reported
by @puremourning at https://github.com/oblitum/YouCompleteMe/issues/10. This
is what me and other users of my fork use daily.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/valloric/youcompleteme/1901)
<!-- Reviewable:end -->
2016-10-01 21:46:05 +09:00
Homu
f928f7dd97 Auto merge of #2346 - micbou:documentation-server-subcommand, r=Valloric
[READY] Update miscellaneous commands in documentation

With PR https://github.com/Valloric/ycmd/pull/506, we removed the `StartServer` subcommand in favor of the `RestartServer` one and we hid the `StopServer` subcommand from the user. Update the documentation to reflect this.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/valloric/youcompleteme/2346)
<!-- Reviewable:end -->
2016-09-21 06:02:13 +09:00
Homu
d2cda80398 Auto merge of #2344 - micbou:documentation-semantic-completion-other-languages, r=Valloric
[READY] Mention all natively supported languages in documentation

We mention all supported languages except C-family languages and JavaScript in the `Semantic Completion for Other Languages` section of the documentation. Add them.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/valloric/youcompleteme/2344)
<!-- Reviewable:end -->
2016-09-21 06:00:54 +09:00
Francisco Lopes
54474c448c Remove obsolete FAQ entry 2016-09-19 18:36:41 -03:00
micbou
35f594ff1c
Update miscellaneous commands in documentation
Remove StartServer and StopServer subcommands from documentation.
Update the list of languages supporting the RestartServer subcommand.
2016-09-19 15:33:32 +02:00
micbou
1a93583a4a
Mention all natively supported languages 2016-09-18 15:11:12 +02:00
Francisco Lopes
362e4df713 Better wording 2016-09-17 19:30:54 -03:00
Francisco Lopes
5576c9cf09 Bump Vim version a bit more to 7.4.143.
Reason:

  A fix has been applied to bring back triggering of TextChangedI events.

- e21b6b2a8d
2016-09-16 17:41:40 -03:00
Francisco Lopes
85bdbdb206 Bump minimun Vim version to 7.4. 2016-09-16 17:41:40 -03:00
micbou
5dca552d5d
Do not depend on UltiSnips internals
Use UltiSnips#SnippetsInCurrentScope to fetch snippets.
Add an entry in the FAQ about the :UltiSnipsAddFiletypes command.
2016-09-11 17:11:32 +02:00
Homu
e8047050cd Auto merge of #2324 - micbou:documentation-faq-entry-issue, r=puremourning
[READY] Fix FAQ entry in README

Wrong section level for this FAQ entry.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/valloric/youcompleteme/2324)
<!-- Reviewable:end -->
2016-09-12 00:00:16 +09:00
micbou
333958c5c4
Fix FAQ entry in README 2016-09-11 11:14:14 +02:00
Olaf Lessenich
b53ada758f Update instructions for FreeBSD
Newer version of clang and llvm is required now.
2016-09-08 11:58:52 +02:00
micbou
5cbf76456f Update Omnisharp instructions in documentation
The /property:Configuration=Release option is not mentioned when
building the OmniSharp server in the full installation guide.
2016-08-18 18:29:20 +02:00
micbou
77843d7624 Recommend a more recent version for Python bug 2016-08-11 20:08:10 +02:00
Ben Jackson
cfd4bbd531 Support selecting from the list of FixIts when multiple are supplied 2016-07-11 21:52:41 +01:00
Val Markovic
9c287cde91
NeoBundle has been abandoned.
Also deleting the super-obsolete Bitdeli badge.
2016-06-18 18:22:06 -07:00
Andrea Cedraro
240184eb72 Document find first executable for ycm_python_binary_path 2016-06-15 23:29:14 +02:00
micbou
805911b56b Use SetQuickFixList for GoTo* subcommands
Open the quickfix window to full width at the bottom of the screen with
its height set to fit all entries. This behavior can be overridden by
using the YcmQuickFixOpened autocommand.
Add a new section for autocommands in the documentation.
Update GoTo and ReplaceChunks tests.
2016-06-13 00:25:12 +02:00
micbou
4bbda99cc0 Minor changes to README
Add capital letters to languages when appropriate.
Be more specific with the tools needed in the PATH when using the
--all option.
2016-06-11 05:18:19 +02:00
micbou
93381b1d72 Add instructions to install Mono in README 2016-06-11 05:17:49 +02:00
Homu
454a564510 Auto merge of #2128 - 3e4:patch-2, r=Valloric
Add warning about Python 2.7.11 bug to FAQ

# PR Prelude

Thank you for working on YCM! :)

**Please complete these steps and check these boxes (by putting an `x` inside
the brackets) _before_ filing your PR:**

- [x] I have read and understood YCM's [CONTRIBUTING][cont] document.
- [x] I have read and understood YCM's [CODE_OF_CONDUCT][code] document.
- [x] I have included tests for the changes in my PR. If not, I have included a
  rationale for why I haven't.
- [x] **I understand my PR may be closed if it becomes obvious I didn't
  actually perform all of these steps.**

# Why this change is necessary and useful

[Please explain **in detail** why the changes in this PR are needed.]

[cont]: https://github.com/Valloric/YouCompleteMe/blob/master/CONTRIBUTING.md
[code]: https://github.com/Valloric/YouCompleteMe/blob/master/CODE_OF_CONDUCT.md

There is a bug in vim with Python 2.7.11 on Windows. Adding information in the FAQ.

This is a modification of this pull request: https://github.com/Valloric/YouCompleteMe/pull/2122.

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/valloric/youcompleteme/2128)
<!-- Reviewable:end -->
2016-06-11 05:49:18 +09:00
Stefan VanBuren
6f418a84d1 Added go-install to other sections 2016-06-01 15:50:22 -04:00
Stefan VanBuren
efe0fcf00b Update go installation details to match others 2016-06-01 15:25:43 -04:00
micbou
68815a4e4e Fix broken links in README TOC 2016-05-16 17:54:22 +02:00
3e4
68d81e47f0 Link fixed and format corrected
In response to https://github.com/Valloric/YouCompleteMe/pull/2128#issuecomment-212183780
2016-04-20 10:10:04 +09:00
3e4
e0a3f724e8 Add warning about Python 2.7.11 bug to FAQ
There is a bug in vim with Python 2.7.11 on Windows. Adding information in the FAQ.
2016-04-20 08:48:46 +09:00
micbou
4824b8fd4b Update Clang version in documentation 2016-04-07 11:16:01 +02:00
micbou
5a938ec82f Add TypeScript RefactorRename to documentation 2016-04-06 05:33:19 +02:00
Homu
1b76af4386 Auto merge of #2083 - puremourning:readme-pyenv, r=vheon
Add how to build python to avoid startup problems (in particular, pyenv)

# PR Prelude

Thank you for working on YCM! :)

**Please complete these steps and check these boxes (by putting an `x` inside
the brackets) _before_ filing your PR:**

- [X] I have read and understood YCM's [CONTRIBUTING][cont] document.
- [X] I have read and understood YCM's [CODE_OF_CONDUCT][code] document.
- [X] I have included tests for the changes in my PR. If not, I have included a
  rationale for why I haven't.
- [X] **I understand my PR may be closed if it becomes obvious I didn't
  actually perform all of these steps.**

# Why this change is necessary and useful

I spent a while trying to find where I had written the instructions for building python with pyenv to work with YCM, then I thought the README was a good place for it.

ycmd must use pythons with `--enable-shared` or `--enable-framework` else boom.

[cont]: https://github.com/Valloric/YouCompleteMe/blob/master/CONTRIBUTING.md
[code]: https://github.com/Valloric/YouCompleteMe/blob/master/CODE_OF_CONDUCT.md

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/valloric/youcompleteme/2083)
<!-- Reviewable:end -->
2016-03-27 03:28:18 +09:00
Homu
0648068b37 Auto merge of #2054 - vheon:rename-python-interpreter-options, r=Valloric
[READY] Rename ycmd python option

# PR Prelude

Thank you for working on YCM! :)

**Please complete these steps and check these boxes (by putting an `x` inside
the brackets) _before_ filing your PR:**

- [x] I have read and understood YCM's [CONTRIBUTING][cont] document.
- [x] I have read and understood YCM's [CODE_OF_CONDUCT][code] document.
- [x] I have included tests for the changes in my PR. If not, I have included a
  rationale for why I haven't.
- [x] **I understand my PR may be closed if it becomes obvious I didn't
  actually perform all of these steps.**

# Why this change is necessary and useful

[Please explain **in detail** why the changes in this PR are needed.]

[cont]: https://github.com/Valloric/YouCompleteMe/blob/master/CONTRIBUTING.md
[code]: https://github.com/Valloric/YouCompleteMe/blob/master/CODE_OF_CONDUCT.md

As requested in https://github.com/Valloric/YouCompleteMe/issues/2052#issuecomment-195631106 I'm sending this PR. I've marked it as WIP because I've renamed only the `ycmd` option and that is because keeping the backward compatibility here was straight forward since is a client only option. For the jedihttp option instead I would like some opinion on how to procede: should we keep the backward compatibility here on the client or should we make the backward compatibility layer on the ycmd side? Keeping it here would be easier but it would mean that other clients should implement this theirself. Thoughts?

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Review on Reviewable"/>](https://reviewable.io/reviews/valloric/youcompleteme/2054)
<!-- Reviewable:end -->
2016-03-27 03:16:07 +09:00
Andrea Cedraro
9e6645f515 Rename ycmd python option
- Rename ycm_path_to_python_interpreter to ycm_ycmd_python_interpreter
- Keep ycm_path_to_python_interpreter backward compatible
2016-03-26 19:15:08 +01:00
Ben Jackson
366b11c7be Add how to build python to avoid startup problems (in particular, pyenv) 2016-03-26 15:24:47 +00:00