@@ -1807,6 +1807,7 @@ namespace ts.server {
1807
1807
1808
1808
if ( ! simplifiedResult ) return references ;
1809
1809
1810
+ const preferences = this . getPreferences ( file ) ;
1810
1811
const defaultProject = this . getDefaultProject ( args ) ;
1811
1812
const scriptInfo = defaultProject . getScriptInfoForNormalizedPath ( file ) ! ;
1812
1813
const nameInfo = defaultProject . getLanguageService ( ) . getQuickInfoAtPosition ( file , position ) ;
@@ -1815,14 +1816,15 @@ namespace ts.server {
1815
1816
const symbolStartOffset = nameSpan ? scriptInfo . positionToLineOffset ( nameSpan . start ) . offset : 0 ;
1816
1817
const symbolName = nameSpan ? scriptInfo . getSnapshot ( ) . getText ( nameSpan . start , textSpanEnd ( nameSpan ) ) : "" ;
1817
1818
const refs : readonly protocol . ReferencesResponseItem [ ] = flatMap ( references , referencedSymbol => {
1818
- return referencedSymbol . references . map ( entry => referenceEntryToReferencesResponseItem ( this . projectService , entry ) ) ;
1819
+ return referencedSymbol . references . map ( entry => referenceEntryToReferencesResponseItem ( this . projectService , entry , preferences ) ) ;
1819
1820
} ) ;
1820
1821
return { refs, symbolName, symbolStartOffset, symbolDisplayString } ;
1821
1822
}
1822
1823
1823
1824
private getFileReferences ( args : protocol . FileRequestArgs , simplifiedResult : boolean ) : protocol . FileReferencesResponseBody | readonly ReferenceEntry [ ] {
1824
1825
const projects = this . getProjects ( args ) ;
1825
1826
const fileName = args . file ;
1827
+ const preferences = this . getPreferences ( toNormalizedPath ( fileName ) ) ;
1826
1828
1827
1829
const references : ReferenceEntry [ ] = [ ] ;
1828
1830
const seen = createDocumentSpanSet ( ) ;
@@ -1842,7 +1844,7 @@ namespace ts.server {
1842
1844
} ) ;
1843
1845
1844
1846
if ( ! simplifiedResult ) return references ;
1845
- const refs = references . map ( entry => referenceEntryToReferencesResponseItem ( this . projectService , entry ) ) ;
1847
+ const refs = references . map ( entry => referenceEntryToReferencesResponseItem ( this . projectService , entry , preferences ) ) ;
1846
1848
return {
1847
1849
refs,
1848
1850
symbolName : `"${ args . file } "`
@@ -3516,11 +3518,10 @@ namespace ts.server {
3516
3518
return text ;
3517
3519
}
3518
3520
3519
- function referenceEntryToReferencesResponseItem ( projectService : ProjectService , { fileName, textSpan, contextSpan, isWriteAccess, isDefinition } : ReferencedSymbolEntry ) : protocol . ReferencesResponseItem {
3521
+ function referenceEntryToReferencesResponseItem ( projectService : ProjectService , { fileName, textSpan, contextSpan, isWriteAccess, isDefinition } : ReferencedSymbolEntry , { disableLineTextInReferences } : protocol . UserPreferences ) : protocol . ReferencesResponseItem {
3520
3522
const scriptInfo = Debug . checkDefined ( projectService . getScriptInfo ( fileName ) ) ;
3521
3523
const span = toProtocolTextSpanWithContext ( textSpan , contextSpan , scriptInfo ) ;
3522
- const lineSpan = scriptInfo . lineToTextSpan ( span . start . line - 1 ) ;
3523
- const lineText = scriptInfo . getSnapshot ( ) . getText ( lineSpan . start , textSpanEnd ( lineSpan ) ) . replace ( / \r | \n / g, "" ) ;
3524
+ const lineText = disableLineTextInReferences ? undefined : getLineText ( scriptInfo , span ) ;
3524
3525
return {
3525
3526
file : fileName ,
3526
3527
...span ,
@@ -3530,6 +3531,11 @@ namespace ts.server {
3530
3531
} ;
3531
3532
}
3532
3533
3534
+ function getLineText ( scriptInfo : ScriptInfo , span : protocol . TextSpanWithContext ) {
3535
+ const lineSpan = scriptInfo . lineToTextSpan ( span . start . line - 1 ) ;
3536
+ return scriptInfo . getSnapshot ( ) . getText ( lineSpan . start , textSpanEnd ( lineSpan ) ) . replace ( / \r | \n / g, "" ) ;
3537
+ }
3538
+
3533
3539
function isCompletionEntryData ( data : any ) : data is CompletionEntryData {
3534
3540
return data === undefined || data && typeof data === "object"
3535
3541
&& typeof data . exportName === "string"
0 commit comments