@@ -32,7 +32,7 @@ import { BracketsUtils, RichEditBracket, RichEditBrackets } from 'vs/editor/comm
3232import { ITheme , ThemeColor } from 'vs/platform/theme/common/themeService' ;
3333import { withUndefinedAsNull } from 'vs/base/common/types' ;
3434import { VSBufferReadableStream , VSBuffer } from 'vs/base/common/buffer' ;
35- import { TokensStore , MultilineTokens , countEOL } from 'vs/editor/common/model/tokensStore' ;
35+ import { TokensStore , MultilineTokens , countEOL , MultilineTokens2 , TokensStore2 } from 'vs/editor/common/model/tokensStore' ;
3636import { Color } from 'vs/base/common/color' ;
3737
3838function createTextBufferBuilder ( ) {
@@ -276,7 +276,7 @@ export class TextModel extends Disposable implements model.ITextModel {
276276 private _languageIdentifier : LanguageIdentifier ;
277277 private readonly _languageRegistryListener : IDisposable ;
278278 private readonly _tokens : TokensStore ;
279- private readonly _tokens2 : TokensStore ;
279+ private readonly _tokens2 : TokensStore2 ;
280280 private readonly _tokenization : TextModelTokenization ;
281281 //#endregion
282282
@@ -340,7 +340,7 @@ export class TextModel extends Disposable implements model.ITextModel {
340340 this . _trimAutoWhitespaceLines = null ;
341341
342342 this . _tokens = new TokensStore ( ) ;
343- this . _tokens2 = new TokensStore ( ) ;
343+ this . _tokens2 = new TokensStore2 ( ) ;
344344 this . _tokenization = new TextModelTokenization ( this ) ;
345345 }
346346
@@ -1721,8 +1721,14 @@ export class TextModel extends Disposable implements model.ITextModel {
17211721 } ) ;
17221722 }
17231723
1724- public setSemanticTokens ( tokens : MultilineTokens [ ] ) : void {
1725-
1724+ public setSemanticTokens ( tokens : MultilineTokens2 [ ] ) : void {
1725+ this . _tokens2 . set ( tokens ) ;
1726+
1727+ // TODO@semantic : could we reduce the event here?
1728+ this . _emitModelTokensChangedEvent ( {
1729+ tokenizationSupportChanged : false ,
1730+ ranges : [ { fromLineNumber : 1 , toLineNumber : this . getLineCount ( ) } ]
1731+ } ) ;
17261732 }
17271733
17281734 public tokenizeViewport ( startLineNumber : number , endLineNumber : number ) : void {
@@ -1785,7 +1791,8 @@ export class TextModel extends Disposable implements model.ITextModel {
17851791
17861792 private _getLineTokens ( lineNumber : number ) : LineTokens {
17871793 const lineText = this . getLineContent ( lineNumber ) ;
1788- return this . _tokens . getTokens ( this . _languageIdentifier . id , lineNumber - 1 , lineText ) ;
1794+ const syntacticTokens = this . _tokens . getTokens ( this . _languageIdentifier . id , lineNumber - 1 , lineText ) ;
1795+ return this . _tokens2 . addSemanticTokens ( lineNumber , syntacticTokens ) ;
17891796 }
17901797
17911798 public getLanguageIdentifier ( ) : LanguageIdentifier {
0 commit comments