Commit Graph

455 Commits

Author SHA1 Message Date
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
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