@@ -28,6 +28,7 @@ import { overviewRulerError, overviewRulerInfo, overviewRulerWarning } from 'vs/
2828import { IConfigurationService } from 'vs/platform/configuration/common/configuration' ;
2929import { IMarker , IMarkerService , MarkerSeverity , MarkerTag } from 'vs/platform/markers/common/markers' ;
3030import { ThemeColor , themeColorFromId } from 'vs/platform/theme/common/themeService' ;
31+ import { localize } from 'vs/nls' ;
3132
3233function MODEL_ID ( resource : URI ) : string {
3334 return resource . toString ( ) ;
@@ -197,44 +198,34 @@ class ModelMarkerHandler {
197198 // Disable markdown renderer sanitize to allow html
198199 // Hence, escape all input strings
199200 hoverMessage . sanitize = false ;
200- if ( source ) {
201- hoverMessage . appendMarkdown ( `<span style='opacity: 0.6'>[${ escape ( source ) } ]</span>` ) ;
202- hoverMessage . appendText ( ' ' ) ;
203- }
204201
205- hoverMessage . appendMarkdown ( `<span style='font-family: Monaco, Menlo, Consolas, "Droid Sans Mono", "Inconsolata", "Courier New", monospace, "Droid Sans Fallback"; white-space: pre-wrap;'>` ) ;
206- message = escape ( message . trim ( ) ) ;
207- const lines = message . split ( / \r \n | \r | \n / g) ;
208- if ( lines . length > 1 ) {
209- if ( source ) {
210- hoverMessage . appendMarkdown ( `</br>` ) ;
211- }
212- for ( const line of lines ) {
213- hoverMessage . appendText ( line ) ;
214- hoverMessage . appendMarkdown ( `</br>` ) ;
215- }
216- } else {
217- hoverMessage . appendText ( message ) ;
218- }
219- hoverMessage . appendMarkdown ( `</span>` ) ;
202+ hoverMessage . appendMarkdown ( `<div style='font-family: Monaco, Menlo, Consolas, "Droid Sans Mono", "Inconsolata", "Courier New", monospace, "Droid Sans Fallback"; white-space: pre-wrap;'>` ) ;
203+ hoverMessage . appendMarkdown ( `<span>${ escape ( message . trim ( ) ) } </span>` ) ;
204+ hoverMessage . appendMarkdown ( `</div>` ) ;
220205
221- if ( code ) {
222- if ( lines . length === 1 ) {
223- hoverMessage . appendText ( ' ' ) ;
206+ if ( isNonEmptyArray ( relatedInformation ) ) {
207+ hoverMessage . appendMarkdown ( `<ul>` ) ;
208+ for ( const { message, resource, startLineNumber, startColumn } of relatedInformation ) {
209+ hoverMessage . appendMarkdown ( `<li>` ) ;
210+ hoverMessage . appendMarkdown ( `<a href='#' data-href='${ resource . toString ( false ) } #${ startLineNumber } ,${ startColumn } '>${ escape ( basename ( resource . path ) ) } (${ startLineNumber } , ${ startColumn } )</a>` ) ;
211+ hoverMessage . appendMarkdown ( `<span>: ${ escape ( message ) } </span>` ) ;
212+ hoverMessage . appendMarkdown ( `</li>` ) ;
224213 }
225- hoverMessage . appendMarkdown ( `<span style='opacity: 0.6'>[ ${ escape ( code ) } ]</span >` ) ;
214+ hoverMessage . appendMarkdown ( `</ul >` ) ;
226215 }
227216
228- if ( isNonEmptyArray ( relatedInformation ) ) {
229- hoverMessage . appendMarkdown ( `\n` ) ;
230- for ( const { message, resource, startLineNumber, startColumn } of relatedInformation ) {
231- hoverMessage . appendMarkdown (
232- escape ( `* [${ basename ( resource . path ) } (${ startLineNumber } , ${ startColumn } )](${ resource . toString ( false ) } #${ startLineNumber } ,${ startColumn } ): ` )
233- ) ;
234- hoverMessage . appendText ( `${ escape ( message ) } ` ) ;
235- hoverMessage . appendMarkdown ( `\n` ) ;
217+ if ( source || code ) {
218+ hoverMessage . appendMarkdown ( `<div style='margin-top: 4px'>` ) ;
219+ if ( source ) {
220+ hoverMessage . appendMarkdown ( `<span style='opacity: 0.6; padding-right:4px;'>${ localize ( 'source' , "Source" ) } :</span><span>${ escape ( source ) } </span>` ) ;
221+ if ( code ) {
222+ hoverMessage . appendMarkdown ( `<span style='padding-right:4px;'>,</span>` ) ;
223+ }
224+ }
225+ if ( code ) {
226+ hoverMessage . appendMarkdown ( `<span style='opacity: 0.6; padding-right:4px;'>${ localize ( 'code' , "Code" ) } :</span><span>${ escape ( code ) } </span>` ) ;
236227 }
237- hoverMessage . appendMarkdown ( `\n ` ) ;
228+ hoverMessage . appendMarkdown ( `</div> ` ) ;
238229 }
239230 }
240231
0 commit comments