nullMode.js 1.3 KB

12345678910111213141516171819202122232425262728
  1. /*---------------------------------------------------------------------------------------------
  2. * Copyright (c) Microsoft Corporation. All rights reserved.
  3. * Licensed under the MIT License. See License.txt in the project root for license information.
  4. *--------------------------------------------------------------------------------------------*/
  5. import { Token, TokenizationResult, TokenizationResult2 } from '../core/token.js';
  6. class NullStateImpl {
  7. clone() {
  8. return this;
  9. }
  10. equals(other) {
  11. return (this === other);
  12. }
  13. }
  14. export const NULL_STATE = new NullStateImpl();
  15. export const NULL_MODE_ID = 'vs.editor.nullMode';
  16. export function nullTokenize(languageId, buffer, state, deltaOffset) {
  17. return new TokenizationResult([new Token(deltaOffset, '', languageId)], state);
  18. }
  19. export function nullTokenize2(languageId, buffer, state, deltaOffset) {
  20. let tokens = new Uint32Array(2);
  21. tokens[0] = deltaOffset;
  22. tokens[1] = ((languageId << 0 /* LANGUAGEID_OFFSET */)
  23. | (0 /* Other */ << 8 /* TOKEN_TYPE_OFFSET */)
  24. | (0 /* None */ << 11 /* FONT_STYLE_OFFSET */)
  25. | (1 /* DefaultForeground */ << 14 /* FOREGROUND_OFFSET */)
  26. | (2 /* DefaultBackground */ << 23 /* BACKGROUND_OFFSET */)) >>> 0;
  27. return new TokenizationResult2(tokens, state === null ? NULL_STATE : state);
  28. }