Skip to content

Commit fdeff7d

Browse files
committed
Merge branch 'master' into git-api
2 parents c252511 + 4754fea commit fdeff7d

133 files changed

Lines changed: 2404 additions & 2266 deletions

File tree

Some content is hidden

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

build/gulpfile.extensions.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ const tasks = compilations.map(function (tsconfigFile) {
8989
.pipe(tsFilter)
9090
.pipe(util.loadSourcemaps())
9191
.pipe(compilation())
92-
.pipe(build ? nlsDev.rewriteLocalizeCalls({ keepFilenames: true }) : es.through())
92+
.pipe(build ? nlsDev.rewriteLocalizeCalls() : es.through())
9393
.pipe(build ? util.stripSourceMappingURL() : es.through())
9494
.pipe(sourcemaps.write('.', {
9595
sourceMappingURL: !build ? null : f => `${baseUrl}/${f.relative}.map`,

extensions/css-language-features/server/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
"node": "*"
99
},
1010
"dependencies": {
11-
"vscode-css-languageservice": "^3.0.10-next.2",
11+
"vscode-css-languageservice": "^3.0.10-next.3",
1212
"vscode-languageserver": "^4.4.0"
1313
},
1414
"devDependencies": {

extensions/css-language-features/server/src/cssServerMain.ts

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@
77
import {
88
createConnection, IConnection, TextDocuments, InitializeParams, InitializeResult, ServerCapabilities, ConfigurationRequest, WorkspaceFolder
99
} from 'vscode-languageserver';
10-
10+
import URI from 'vscode-uri';
1111
import { TextDocument, CompletionList } from 'vscode-languageserver-types';
1212

1313
import { getCSSLanguageService, getSCSSLanguageService, getLESSLanguageService, LanguageSettings, LanguageService, Stylesheet } from 'vscode-css-languageservice';
1414
import { getLanguageModelCache } from './languageModelCache';
15-
import { formatError, runSafe } from './utils/runner';
16-
import URI from 'vscode-uri';
1715
import { getPathCompletionParticipant } from './pathCompletion';
16+
import { formatError, runSafe } from './utils/runner';
17+
import { getDocumentContext } from './utils/documentContext';
1818

1919
export interface Settings {
2020
css: LanguageSettings;
@@ -86,6 +86,9 @@ connection.onInitialize((params: InitializeParams): InitializeResult => {
8686
referencesProvider: true,
8787
definitionProvider: true,
8888
documentHighlightProvider: true,
89+
documentLinkProvider: {
90+
resolveProvider: false
91+
},
8992
codeActionProvider: true,
9093
renameProvider: true,
9194
colorProvider: {},
@@ -227,29 +230,43 @@ connection.onDocumentSymbol((documentSymbolParams, token) => {
227230
}, [], `Error while computing document symbols for ${documentSymbolParams.textDocument.uri}`, token);
228231
});
229232

230-
connection.onDefinition((documentSymbolParams, token) => {
233+
connection.onDefinition((documentDefinitionParams, token) => {
231234
return runSafe(() => {
232-
const document = documents.get(documentSymbolParams.textDocument.uri);
235+
const document = documents.get(documentDefinitionParams.textDocument.uri);
233236
if (document) {
234237

235238
const stylesheet = stylesheets.get(document);
236-
return getLanguageService(document).findDefinition(document, documentSymbolParams.position, stylesheet);
239+
return getLanguageService(document).findDefinition(document, documentDefinitionParams.position, stylesheet);
237240
}
238241
return null;
239-
}, null, `Error while computing definitions for ${documentSymbolParams.textDocument.uri}`, token);
242+
}, null, `Error while computing definitions for ${documentDefinitionParams.textDocument.uri}`, token);
240243
});
241244

242-
connection.onDocumentHighlight((documentSymbolParams, token) => {
245+
connection.onDocumentHighlight((documentHighlightParams, token) => {
243246
return runSafe(() => {
244-
const document = documents.get(documentSymbolParams.textDocument.uri);
247+
const document = documents.get(documentHighlightParams.textDocument.uri);
248+
if (document) {
249+
const stylesheet = stylesheets.get(document);
250+
return getLanguageService(document).findDocumentHighlights(document, documentHighlightParams.position, stylesheet);
251+
}
252+
return [];
253+
}, [], `Error while computing document highlights for ${documentHighlightParams.textDocument.uri}`, token);
254+
});
255+
256+
257+
connection.onDocumentLinks((documentLinkParams, token) => {
258+
return runSafe(() => {
259+
const document = documents.get(documentLinkParams.textDocument.uri);
245260
if (document) {
261+
const documentContext = getDocumentContext(document.uri, workspaceFolders);
246262
const stylesheet = stylesheets.get(document);
247-
return getLanguageService(document).findDocumentHighlights(document, documentSymbolParams.position, stylesheet);
263+
return getLanguageService(document).findDocumentLinks(document, stylesheet, documentContext);
248264
}
249265
return [];
250-
}, [], `Error while computing document highlights for ${documentSymbolParams.textDocument.uri}`, token);
266+
}, [], `Error while computing document links for ${documentLinkParams.textDocument.uri}`, token);
251267
});
252268

269+
253270
connection.onReferences((referenceParams, token) => {
254271
return runSafe(() => {
255272
const document = documents.get(referenceParams.textDocument.uri);
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
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+
'use strict';
6+
7+
import { DocumentContext } from 'vscode-css-languageservice';
8+
import { endsWith, startsWith } from '../utils/strings';
9+
import * as url from 'url';
10+
import { WorkspaceFolder } from 'vscode-languageserver';
11+
12+
export function getDocumentContext(documentUri: string, workspaceFolders: WorkspaceFolder[]): DocumentContext {
13+
function getRootFolder(): string | undefined {
14+
for (let folder of workspaceFolders) {
15+
let folderURI = folder.uri;
16+
if (!endsWith(folderURI, '/')) {
17+
folderURI = folderURI + '/';
18+
}
19+
if (startsWith(documentUri, folderURI)) {
20+
return folderURI;
21+
}
22+
}
23+
return void 0;
24+
}
25+
26+
return {
27+
resolveReference: (ref, base = documentUri) => {
28+
if (ref[0] === '/') { // resolve absolute path against the current workspace folder
29+
if (startsWith(base, 'file://')) {
30+
let folderUri = getRootFolder();
31+
if (folderUri) {
32+
return folderUri + ref.substr(1);
33+
}
34+
}
35+
}
36+
return url.resolve(base, ref);
37+
},
38+
};
39+
}
40+

extensions/css-language-features/server/yarn.lock

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -194,11 +194,11 @@ supports-color@5.4.0:
194194
dependencies:
195195
has-flag "^3.0.0"
196196

197-
vscode-css-languageservice@^3.0.10-next.2:
198-
version "3.0.10-next.2"
199-
resolved "https://registry.yarnpkg.com/vscode-css-languageservice/-/vscode-css-languageservice-3.0.10-next.2.tgz#b703af89be433507836178efd7f88bb0669fc4e8"
197+
vscode-css-languageservice@^3.0.10-next.3:
198+
version "3.0.10-next.3"
199+
resolved "https://registry.yarnpkg.com/vscode-css-languageservice/-/vscode-css-languageservice-3.0.10-next.3.tgz#d663f03b8a9bf11222bd2cd39e9aa05e1a58c58d"
200200
dependencies:
201-
vscode-languageserver-types "^3.10.0"
201+
vscode-languageserver-types "^3.10.1"
202202
vscode-nls "^3.2.4"
203203

204204
vscode-jsonrpc@^3.6.2:
@@ -216,6 +216,10 @@ vscode-languageserver-types@^3.10.0:
216216
version "3.10.0"
217217
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.10.0.tgz#944e5308f3b36a3f372c766f1a344e903ec9c389"
218218

219+
vscode-languageserver-types@^3.10.1:
220+
version "3.10.1"
221+
resolved "https://registry.yarnpkg.com/vscode-languageserver-types/-/vscode-languageserver-types-3.10.1.tgz#d5d5f44f688a3b2aa9857dc53cb9cacca73fe35a"
222+
219223
vscode-languageserver@^4.4.0:
220224
version "4.4.0"
221225
resolved "https://registry.yarnpkg.com/vscode-languageserver/-/vscode-languageserver-4.4.0.tgz#b6e8b37a739ccb629d92f3635f0099d191c856fa"

extensions/emmet/extension.webpack.config.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@
55

66
'use strict';
77

8-
const sharedConfig = require('../shared.webpack.config');
8+
const withDefaults = require('../shared.webpack.config');
99

1010
const myConfig = {
11+
context: __dirname,
1112
entry: {
1213
extension: './src/extension.ts',
1314
},
1415
externals: {
15-
'vscode': 'commonjs vscode', // ignored because it doesn't exist
1616
'@emmetio/css-parser': 'commonjs @emmetio/css-parser',
1717
'@emmetio/html-matcher': 'commonjs @emmetio/html-matcher',
1818
'@emmetio/math-expression': 'commonjs @emmetio/math-expression',
@@ -21,4 +21,4 @@ const myConfig = {
2121
},
2222
};
2323

24-
module.exports = { ...sharedConfig(__dirname), ...myConfig };
24+
module.exports = withDefaults(myConfig);

extensions/git/extension.webpack.config.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,16 +5,17 @@
55

66
'use strict';
77

8-
const sharedConfig = require('../shared.webpack.config');
8+
const withDefaults = require('../shared.webpack.config');
99
const CopyWebpackPlugin = require('copy-webpack-plugin');
1010

1111
const myConfig = {
12+
context: __dirname,
1213
node: {
1314
__dirname: false // leave the __dirname-behaviour intact
1415
},
1516
entry: {
16-
main: './out/main.js',
17-
['askpass-main']: './out/askpass-main.js'
17+
main: './src/main.ts',
18+
['askpass-main']: './src/askpass-main.ts'
1819
},
1920
plugins: [
2021
new CopyWebpackPlugin([
@@ -23,7 +24,6 @@ const myConfig = {
2324
])
2425
],
2526
externals: {
26-
'vscode': 'commonjs vscode', // ignored because it doesn't exist
2727
"byline": 'commonjs byline',
2828
"file-type": 'commonjs file-type',
2929
"iconv-lite": 'commonjs iconv-lite',
@@ -34,4 +34,4 @@ const myConfig = {
3434
},
3535
};
3636

37-
module.exports = { ...sharedConfig(__dirname, false), ...myConfig };
37+
module.exports = withDefaults(myConfig);

0 commit comments

Comments
 (0)