Fix diagnostic highlighting with invalid location extent

Ignore location extent when starting column is zero. Do not highlight warnings
as errors when location extent is invalid.
This commit is contained in:
micbou 2017-04-06 02:22:04 +02:00
parent 2febf9bacc
commit 47f3f9d2c6
No known key found for this signature in database
GPG Key ID: C7E8FD1F3BDA1E05
2 changed files with 5 additions and 5 deletions

View File

@ -138,11 +138,12 @@ def _UpdateSquiggles( buffer_number_to_line_to_diags ):
location_extent = diag[ 'location_extent' ]
is_error = _DiagnosticIsError( diag )
if location_extent[ 'start' ][ 'line_num' ] < 0:
if location_extent[ 'start' ][ 'line_num' ] <= 0:
location = diag[ 'location' ]
vimsupport.AddDiagnosticSyntaxMatch(
location[ 'line_num' ],
location[ 'column_num' ] )
location[ 'line_num' ],
location[ 'column_num' ],
is_error = is_error )
else:
vimsupport.AddDiagnosticSyntaxMatch(
location_extent[ 'start' ][ 'line_num' ],

View File

@ -520,8 +520,7 @@ def YouCompleteMe_UpdateDiagnosticInterface_PrioritizeErrorsOverWarnings_test(
contains(
VimMatch( 'YcmWarningSection', '\%3l\%5c\_.\{-}\%3l\%7c' ),
VimMatch( 'YcmWarningSection', '\%3l\%3c\_.\{-}\%3l\%9c' ),
# FIXME: match should be inserted at the end of line 3 (missing ";").
VimMatch( 'YcmErrorSection', '\%0l\%0c' )
VimMatch( 'YcmErrorSection', '\%3l\%8c' )
)
)