Skip to content

Commit 060d2ef

Browse files
authored
Merge branch 'master' into tyriar/minimist
2 parents a8e7528 + 3f244d4 commit 060d2ef

41 files changed

Lines changed: 1374 additions & 583 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

extensions/github-authentication/src/github.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
*--------------------------------------------------------------------------------------------*/
55

66
import * as vscode from 'vscode';
7+
import * as uuid from 'uuid';
78
import { keychain } from './common/keychain';
89
import { GitHubServer } from './githubServer';
910
import Logger from './common/logger';
@@ -122,7 +123,7 @@ export class GitHubAuthenticationProvider {
122123
private async tokenToSession(token: string, scopes: string[]): Promise<vscode.AuthenticationSession> {
123124
const userInfo = await this._githubServer.getUserInfo(token);
124125
return {
125-
id: userInfo.id,
126+
id: uuid(),
126127
getAccessToken: () => Promise.resolve(token),
127128
accountName: userInfo.accountName,
128129
scopes: scopes

extensions/vscode-account/package.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,11 @@
3838
"typescript": "^3.7.4",
3939
"tslint": "^5.12.1",
4040
"@types/node": "^10.12.21",
41-
"@types/keytar": "^4.0.1"
41+
"@types/keytar": "^4.0.1",
42+
"@types/uuid": "^3.4.6"
4243
},
4344
"dependencies": {
45+
"uuid": "^3.3.3",
4446
"vscode-nls": "^4.1.1"
4547
}
4648
}

extensions/vscode-account/src/AADHelper.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import * as crypto from 'crypto';
77
import * as https from 'https';
88
import * as querystring from 'querystring';
99
import * as vscode from 'vscode';
10+
import * as uuid from 'uuid';
1011
import { createServer, startServer } from './authServer';
1112
import { keychain } from './keychain';
1213
import Logger from './logger';
@@ -407,7 +408,7 @@ export class AzureActiveDirectoryService {
407408
accessToken: json.access_token,
408409
refreshToken: json.refresh_token,
409410
scope,
410-
sessionId: `${claims.tid}/${(claims.oid || (claims.altsecid || '' + claims.ipd || ''))}/${scope}`,
411+
sessionId: `${claims.tid}/${(claims.oid || (claims.altsecid || '' + claims.ipd || ''))}/${uuid()}`,
411412
accountName: claims.email || claims.unique_name || 'user@example.com'
412413
};
413414
}

extensions/vscode-account/yarn.lock

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@
3030
resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.13.tgz#ccebcdb990bd6139cd16e84c39dc2fb1023ca90c"
3131
integrity sha512-pMCcqU2zT4TjqYFrWtYHKal7Sl30Ims6ulZ4UFXxI4xbtQqK/qqKwkDoBFCfooRqqmRu9vY3xaJRwxSh673aYg==
3232

33+
"@types/uuid@^3.4.6":
34+
version "3.4.8"
35+
resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-3.4.8.tgz#4ba887fcef88bd9a7515ca2de336d691e3e18318"
36+
integrity sha512-zHWce3allXWSmRx6/AGXKCtSOA7JjeWd2L3t4aHfysNk8mouQnWCocveaT7a4IEIlPVHp81jzlnknqTgCjCLXA==
37+
3338
ansi-regex@^2.0.0:
3439
version "2.1.1"
3540
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
@@ -635,6 +640,11 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1:
635640
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
636641
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
637642

643+
uuid@^3.3.3:
644+
version "3.4.0"
645+
resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
646+
integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
647+
638648
vscode-nls@^4.1.1:
639649
version "4.1.1"
640650
resolved "https://registry.yarnpkg.com/vscode-nls/-/vscode-nls-4.1.1.tgz#f9916b64e4947b20322defb1e676a495861f133c"

src/vs/base/common/buffer.ts

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,14 @@ export class VSBuffer {
9494
return new VSBuffer(this.buffer.subarray(start!/*bad lib.d.ts*/, end));
9595
}
9696

97-
set(array: VSBuffer, offset?: number): void {
98-
this.buffer.set(array.buffer, offset);
97+
set(array: VSBuffer, offset?: number): void;
98+
set(array: Uint8Array, offset?: number): void;
99+
set(array: VSBuffer | Uint8Array, offset?: number): void {
100+
if (array instanceof VSBuffer) {
101+
this.buffer.set(array.buffer, offset);
102+
} else {
103+
this.buffer.set(array, offset);
104+
}
99105
}
100106

101107
readUInt32BE(offset: number): number {
@@ -106,6 +112,14 @@ export class VSBuffer {
106112
writeUInt32BE(this.buffer, value, offset);
107113
}
108114

115+
readUInt32LE(offset: number): number {
116+
return readUInt32LE(this.buffer, offset);
117+
}
118+
119+
writeUInt32LE(value: number, offset: number): void {
120+
writeUInt32LE(this.buffer, value, offset);
121+
}
122+
109123
readUInt8(offset: number): number {
110124
return readUInt8(this.buffer, offset);
111125
}
@@ -117,15 +131,15 @@ export class VSBuffer {
117131

118132
export function readUInt16LE(source: Uint8Array, offset: number): number {
119133
return (
120-
source[offset]
121-
+ source[offset + 1] * 2 ** 8
134+
((source[offset + 0] << 0) >>> 0) |
135+
((source[offset + 1] << 8) >>> 0)
122136
);
123137
}
124138

125139
export function writeUInt16LE(destination: Uint8Array, value: number, offset: number): void {
126-
destination[offset] = value;
140+
destination[offset + 0] = (value & 0b11111111);
127141
value = value >>> 8;
128-
destination[offset + 1] = value;
142+
destination[offset + 1] = (value & 0b11111111);
129143
}
130144

131145
export function readUInt32BE(source: Uint8Array, offset: number): number {
@@ -147,6 +161,25 @@ export function writeUInt32BE(destination: Uint8Array, value: number, offset: nu
147161
destination[offset] = value;
148162
}
149163

164+
export function readUInt32LE(source: Uint8Array, offset: number): number {
165+
return (
166+
((source[offset + 0] << 0) >>> 0) |
167+
((source[offset + 1] << 8) >>> 0) |
168+
((source[offset + 2] << 16) >>> 0) |
169+
((source[offset + 3] << 24) >>> 0)
170+
);
171+
}
172+
173+
export function writeUInt32LE(destination: Uint8Array, value: number, offset: number): void {
174+
destination[offset + 0] = (value & 0b11111111);
175+
value = value >>> 8;
176+
destination[offset + 1] = (value & 0b11111111);
177+
value = value >>> 8;
178+
destination[offset + 2] = (value & 0b11111111);
179+
value = value >>> 8;
180+
destination[offset + 3] = (value & 0b11111111);
181+
}
182+
150183
export function readUInt8(source: Uint8Array, offset: number): number {
151184
return source[offset];
152185
}

src/vs/css.build.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ var CSSBuildLoaderPlugin;
5353
BrowserCSSLoader.prototype._insertLinkNode = function (linkNode) {
5454
this._pendingLoads++;
5555
var head = document.head || document.getElementsByTagName('head')[0];
56-
var other = head.getElementsByTagName('link') || document.head.getElementsByTagName('script');
56+
var other = head.getElementsByTagName('link') || head.getElementsByTagName('script');
5757
if (other.length > 0) {
5858
head.insertBefore(linkNode, other[other.length - 1]);
5959
}

src/vs/css.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ var CSSLoaderPlugin;
5151
BrowserCSSLoader.prototype._insertLinkNode = function (linkNode) {
5252
this._pendingLoads++;
5353
var head = document.head || document.getElementsByTagName('head')[0];
54-
var other = head.getElementsByTagName('link') || document.head.getElementsByTagName('script');
54+
var other = head.getElementsByTagName('link') || head.getElementsByTagName('script');
5555
if (other.length > 0) {
5656
head.insertBefore(linkNode, other[other.length - 1]);
5757
}

src/vs/editor/common/model.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -827,7 +827,17 @@ export interface ITextModel {
827827
/**
828828
* @internal
829829
*/
830-
setSemanticTokens(tokens: MultilineTokens2[] | null): void;
830+
setSemanticTokens(tokens: MultilineTokens2[] | null, isComplete: boolean): void;
831+
832+
/**
833+
* @internal
834+
*/
835+
setPartialSemanticTokens(range: Range, tokens: MultilineTokens2[] | null): void;
836+
837+
/**
838+
* @internal
839+
*/
840+
hasSemanticTokens(): boolean;
831841

832842
/**
833843
* Flush all tokenization state.

src/vs/editor/common/model/editStack.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,13 @@ import { EndOfLineSequence, ICursorStateComputer, IIdentifiedSingleEditOperation
1010
import { TextModel } from 'vs/editor/common/model/textModel';
1111
import { IUndoRedoService, IResourceUndoRedoElement, UndoRedoElementType, IWorkspaceUndoRedoElement } from 'vs/platform/undoRedo/common/undoRedo';
1212
import { URI } from 'vs/base/common/uri';
13-
import { getComparisonKey as uriGetComparisonKey } from 'vs/base/common/resources';
1413
import { TextChange, compressConsecutiveTextChanges } from 'vs/editor/common/model/textChange';
1514
import * as buffer from 'vs/base/common/buffer';
1615

16+
function uriGetComparisonKey(resource: URI): string {
17+
return resource.toString();
18+
}
19+
1720
class SingleModelEditStackData {
1821

1922
public static create(model: ITextModel, beforeCursorState: Selection[] | null): SingleModelEditStackData {

src/vs/editor/common/model/textModel.ts

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1793,8 +1793,8 @@ export class TextModel extends Disposable implements model.ITextModel {
17931793
}
17941794
}
17951795

1796-
public setSemanticTokens(tokens: MultilineTokens2[] | null): void {
1797-
this._tokens2.set(tokens);
1796+
public setSemanticTokens(tokens: MultilineTokens2[] | null, isComplete: boolean): void {
1797+
this._tokens2.set(tokens, isComplete);
17981798

17991799
this._emitModelTokensChangedEvent({
18001800
tokenizationSupportChanged: false,
@@ -1803,6 +1803,23 @@ export class TextModel extends Disposable implements model.ITextModel {
18031803
});
18041804
}
18051805

1806+
public hasSemanticTokens(): boolean {
1807+
return this._tokens2.isComplete();
1808+
}
1809+
1810+
public setPartialSemanticTokens(range: Range, tokens: MultilineTokens2[]): void {
1811+
if (this.hasSemanticTokens()) {
1812+
return;
1813+
}
1814+
const changedRange = this._tokens2.setPartial(range, tokens);
1815+
1816+
this._emitModelTokensChangedEvent({
1817+
tokenizationSupportChanged: false,
1818+
semanticTokensApplied: true,
1819+
ranges: [{ fromLineNumber: changedRange.startLineNumber, toLineNumber: changedRange.endLineNumber }]
1820+
});
1821+
}
1822+
18061823
public tokenizeViewport(startLineNumber: number, endLineNumber: number): void {
18071824
startLineNumber = Math.max(1, startLineNumber);
18081825
endLineNumber = Math.min(this._buffer.getLineCount(), endLineNumber);

0 commit comments

Comments
 (0)