diff --git a/contentprovider-sample/out/contentProvider.js b/contentprovider-sample/out/contentProvider.js deleted file mode 100644 index 8cce6735..00000000 --- a/contentprovider-sample/out/contentProvider.js +++ /dev/null @@ -1,102 +0,0 @@ -/*--------------------------------------------------------- - * Copyright (C) Microsoft Corporation. All rights reserved. - *--------------------------------------------------------*/ -'use strict'; -var vscode = require('vscode'); -var referencesDocument_1 = require('./referencesDocument'); -var ContentProvider = (function () { - function ContentProvider() { - var _this = this; - this._onDidChange = new vscode.EventEmitter(); - this._documents = new Map(); - this._editorDecoration = vscode.window.createTextEditorDecorationType({ textDecoration: 'underline' }); - // Listen to the following events: - // * closeTextDocument - which means we must clear the corresponding model object - `ReferencesDocument` - // * changeActiveEditor - do decorate with references information - this._subscriptions = vscode.Disposable.from(vscode.workspace.onDidCloseTextDocument(function (doc) { return _this._documents.delete(doc.uri.toString()); }), vscode.window.onDidChangeActiveTextEditor(this._decorateEditor, this)); - } - ContentProvider.prototype.dispose = function () { - this._subscriptions.dispose(); - this._documents.clear(); - this._editorDecoration.dispose(); - this._onDidChange.dispose(); - }; - Object.defineProperty(ContentProvider.prototype, "onDidChange", { - /** - * Expose an event to signal changes of _virtual_ documents - * to the editor - */ - get: function () { - return this._onDidChange.event; - }, - enumerable: true, - configurable: true - }); - /** - * Provider method that takes an uri of the `references`-scheme and - * resolves its content by (1) running the reference search command - * and (2) formatting the results - */ - ContentProvider.prototype.provideTextDocumentContent = function (uri) { - var _this = this; - // already loaded? - var document = this._documents.get(uri.toString()); - if (document) { - return document.value; - } - // Decode target-uri and target-position from the provided uri and execute the - // `reference provider` command (http://code.visualstudio.com/docs/extensionAPI/vscode-api-commands). - // From the result create a references document which is in charge of loading, - // printing, and formatting references - var _a = decodeLocation(uri), target = _a[0], pos = _a[1]; - return vscode.commands.executeCommand('vscode.executeReferenceProvider', target, pos).then(function (locations) { - // sort by locations and shuffle to begin from target resource - var idx = 0; - locations.sort(ContentProvider._compareLocations).find(function (loc, i) { return loc.uri.toString() === target.toString() && (idx = i) && true; }); - locations.push.apply(locations, locations.splice(0, idx)); - // create document and return its early state - var document = new referencesDocument_1.default(uri, locations, _this._onDidChange); - _this._documents.set(uri.toString(), document); - return document.value; - }); - }; - ContentProvider.prototype._decorateEditor = function (editor) { - var _this = this; - // When an editor opens, check if it shows a `location` document - // and decorate the actual references - if (!editor || !vscode.languages.match('locations', editor.document)) { - return; - } - var doc = this._documents.get(editor.document.uri.toString()); - if (doc) { - doc.join().then(function () { return editor.setDecorations(_this._editorDecoration, doc.ranges); }); - } - }; - ContentProvider._compareLocations = function (a, b) { - if (a.uri.toString() < b.uri.toString()) { - return -1; - } - else if (a.uri.toString() > b.uri.toString()) { - return 1; - } - else { - return a.range.start.compareTo(b.range.start); - } - }; - ContentProvider.scheme = 'references'; - return ContentProvider; -}()); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = ContentProvider; -var seq = 0; -function encodeLocation(uri, pos) { - var query = JSON.stringify([uri.toString(), pos.line, pos.character]); - return vscode.Uri.parse(ContentProvider.scheme + ":References.locations?" + query + "#" + seq++); -} -exports.encodeLocation = encodeLocation; -function decodeLocation(uri) { - var _a = JSON.parse(uri.query), target = _a[0], line = _a[1], character = _a[2]; - return [vscode.Uri.parse(target), new vscode.Position(line, character)]; -} -exports.decodeLocation = decodeLocation; -//# sourceMappingURL=contentProvider.js.map \ No newline at end of file diff --git a/contentprovider-sample/out/contentProvider.js.map b/contentprovider-sample/out/contentProvider.js.map deleted file mode 100644 index aab3efcb..00000000 --- a/contentprovider-sample/out/contentProvider.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"contentProvider.js","sourceRoot":"","sources":["../src/contentProvider.ts"],"names":[],"mappings":"AAAA;;4DAE4D;AAC5D,YAAY,CAAC;AAEb,IAAY,MAAM,WAAM,QAAQ,CAAC,CAAA;AACjC,mCAA+B,sBAAsB,CAAC,CAAA;AAEtD;IASI;QATJ,iBAwFC;QApFW,iBAAY,GAAG,IAAI,MAAM,CAAC,YAAY,EAAc,CAAC;QACrD,eAAU,GAAG,IAAI,GAAG,EAA8B,CAAC;QACnD,sBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,8BAA8B,CAAC,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;QAKtG,kCAAkC;QAClC,wGAAwG;QACxG,iEAAiE;QACjE,IAAI,CAAC,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CACxC,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,UAAA,GAAG,IAAI,OAAA,KAAI,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EAA1C,CAA0C,CAAC,EAC1F,MAAM,CAAC,MAAM,CAAC,2BAA2B,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CACxE,CAAC;IACN,CAAC;IAED,iCAAO,GAAP;QACI,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;IAChC,CAAC;IAMD,sBAAI,wCAAW;QAJf;;;WAGG;aACH;YACI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QACnC,CAAC;;;OAAA;IAED;;;;OAIG;IACH,oDAA0B,GAA1B,UAA2B,GAAe;QAA1C,iBAyBC;QAvBG,kBAAkB;QAClB,IAAI,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QACnD,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACX,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1B,CAAC;QAED,8EAA8E;QAC9E,qGAAqG;QACrG,8EAA8E;QAC9E,sCAAsC;QACtC,IAAA,wBAAyC,EAAlC,cAAM,EAAE,WAAG,CAAwB;QAC1C,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAoB,iCAAiC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,UAAA,SAAS;YAEnH,8DAA8D;YAC9D,IAAI,GAAG,GAAG,CAAC,CAAC;YACZ,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,UAAC,GAAG,EAAE,CAAC,IAAK,OAAA,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,IAAI,EAA7D,CAA6D,CAAC,CAAC;YAClI,SAAS,CAAC,IAAI,OAAd,SAAS,EAAS,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAE5C,6CAA6C;YAC7C,IAAI,QAAQ,GAAG,IAAI,4BAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,KAAI,CAAC,YAAY,CAAC,CAAC;YACzE,KAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC9C,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC1B,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,yCAAe,GAAvB,UAAwB,MAAyB;QAAjD,iBAUC;QATG,gEAAgE;QAChE,qCAAqC;QACrC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACnE,MAAM,CAAC;QACX,CAAC;QACD,IAAI,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC9D,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YACN,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,cAAM,OAAA,MAAM,CAAC,cAAc,CAAC,KAAI,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,CAAC,EAAzD,CAAyD,CAAC,CAAC;QACrF,CAAC;IACL,CAAC;IAEc,iCAAiB,GAAhC,UAAiC,CAAkB,EAAE,CAAkB;QACnE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,CAAC,CAAC,CAAC;QACd,CAAC;QAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YAC7C,MAAM,CAAC,CAAC,CAAC;QACb,CAAC;QAAC,IAAI,CAAC,CAAC;YACJ,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QACjD,CAAC;IACL,CAAC;IArFM,sBAAM,GAAG,YAAY,CAAC;IAsFjC,sBAAC;AAAD,CAAC,AAxFD,IAwFC;AAxFD;iCAwFC,CAAA;AAED,IAAI,GAAG,GAAG,CAAC,CAAC;AAEZ,wBAA+B,GAAe,EAAE,GAAoB;IAChE,IAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;IACxE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAI,eAAe,CAAC,MAAM,8BAAyB,KAAK,SAAI,GAAG,EAAI,CAAC,CAAC;AAChG,CAAC;AAHe,sBAAc,iBAG7B,CAAA;AAED,wBAA+B,GAAe;IAC1C,IAAA,0BAA+E,EAA1E,cAAM,EAAE,YAAI,EAAE,iBAAS,CAAoD;IAChF,MAAM,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;AAC5E,CAAC;AAHe,sBAAc,iBAG7B,CAAA"} \ No newline at end of file diff --git a/contentprovider-sample/out/extension.js b/contentprovider-sample/out/extension.js deleted file mode 100644 index 2998cc55..00000000 --- a/contentprovider-sample/out/extension.js +++ /dev/null @@ -1,20 +0,0 @@ -/*--------------------------------------------------------- - * Copyright (C) Microsoft Corporation. All rights reserved. - *--------------------------------------------------------*/ -'use strict'; -var vscode_1 = require('vscode'); -var contentProvider_1 = require('./contentProvider'); -function activate(context) { - var contentProvider = new contentProvider_1.default(); - // register content provider for scheme `references` - var providerRegistration = vscode_1.workspace.registerTextDocumentContentProvider(contentProvider_1.default.scheme, contentProvider); - // register command that crafts an uri with the `references` scheme, - // open the dynamic document, and shows it in the next editor - var commandRegistration = vscode_1.commands.registerTextEditorCommand('editor.printReferences', function (editor) { - var uri = contentProvider_1.encodeLocation(editor.document.uri, editor.selection.active); - return vscode_1.workspace.openTextDocument(uri).then(function (doc) { return vscode_1.window.showTextDocument(doc, editor.viewColumn + 1); }); - }); - context.subscriptions.push(contentProvider, commandRegistration, providerRegistration); -} -exports.activate = activate; -//# sourceMappingURL=extension.js.map \ No newline at end of file diff --git a/contentprovider-sample/out/extension.js.map b/contentprovider-sample/out/extension.js.map deleted file mode 100644 index b76a3a8c..00000000 --- a/contentprovider-sample/out/extension.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"extension.js","sourceRoot":"","sources":["../src/extension.ts"],"names":[],"mappings":"AAAA;;4DAE4D;AAC5D,YAAY,CAAC;AAEb,uBAA4D,QAAQ,CAAC,CAAA;AACrE,gCAA8C,mBAAmB,CAAC,CAAA;AAElE,kBAAyB,OAAyB;IAE9C,IAAM,eAAe,GAAG,IAAI,yBAAe,EAAE,CAAC;IAE9C,oDAAoD;IACpD,IAAM,oBAAoB,GAAG,kBAAS,CAAC,mCAAmC,CAAC,yBAAe,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAEpH,oEAAoE;IACpE,6DAA6D;IAC7D,IAAM,mBAAmB,GAAG,iBAAQ,CAAC,yBAAyB,CAAC,wBAAwB,EAAE,UAAA,MAAM;QAC3F,IAAM,GAAG,GAAG,gCAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACzE,MAAM,CAAC,kBAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAA,GAAG,IAAI,OAAA,eAAM,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,CAAC,CAAC,EAAnD,CAAmD,CAAC,CAAC;IAC5G,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,aAAa,CAAC,IAAI,CACtB,eAAe,EACf,mBAAmB,EACnB,oBAAoB,CACvB,CAAC;AACN,CAAC;AAnBe,gBAAQ,WAmBvB,CAAA"} \ No newline at end of file diff --git a/contentprovider-sample/out/referencesDocument.js b/contentprovider-sample/out/referencesDocument.js deleted file mode 100644 index ef854586..00000000 --- a/contentprovider-sample/out/referencesDocument.js +++ /dev/null @@ -1,123 +0,0 @@ -/*--------------------------------------------------------- - * Copyright (C) Microsoft Corporation. All rights reserved. - *--------------------------------------------------------*/ -'use strict'; -var vscode = require('vscode'); -var ReferencesDocument = (function () { - function ReferencesDocument(uri, locations, emitter) { - this._uri = uri; - this._locations = locations; - // The ReferencesDocument has access to the event emitter from - // the containg provider. This allows it to signal changes - this._emitter = emitter; - // Start with printing a header and start resolving - this._lines = [("Found " + this._locations.length + " references")]; - this._ranges = []; - this._join = this._populate(); - } - Object.defineProperty(ReferencesDocument.prototype, "value", { - get: function () { - return this._lines.join('\n'); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(ReferencesDocument.prototype, "ranges", { - get: function () { - return this._ranges; - }, - enumerable: true, - configurable: true - }); - ReferencesDocument.prototype.join = function () { - return this._join; - }; - ReferencesDocument.prototype._populate = function () { - var _this = this; - if (this._locations.length === 0) { - return; - } - // fetch one by one, update doc asap - return new Promise(function (resolve) { - var index = 0; - var next = function () { - // We have seen all groups - if (index >= _this._locations.length) { - resolve(_this); - return; - } - // We know that this._locations is sorted by uri - // such that we can now iterate and collect ranges - // until the uri changes - var loc = _this._locations[index]; - var uri = loc.uri; - var ranges = [loc.range]; - while (++index < _this._locations.length) { - loc = _this._locations[index]; - if (loc.uri.toString() !== uri.toString()) { - break; - } - else { - ranges.push(loc.range); - } - } - // We have all ranges of a resource so that it be - // now loaded and formatted - _this._fetchAndFormatLocations(uri, ranges).then(function (lines) { - _this._emitter.fire(_this._uri); - next(); - }); - }; - next(); - }); - }; - ReferencesDocument.prototype._fetchAndFormatLocations = function (uri, ranges) { - var _this = this; - // Fetch the document denoted by the uri and format the matches - // with leading and trailing content form the document. Make sure - // to not duplicate lines - return vscode.workspace.openTextDocument(uri).then(function (doc) { - _this._lines.push('', uri.toString()); - for (var i = 0; i < ranges.length; i++) { - var line = ranges[i].start.line; - _this._appendLeading(doc, line, ranges[i - 1]); - _this._appendMatch(doc, line, ranges[i]); - _this._appendTrailing(doc, line, ranges[i + 1]); - } - }, function (err) { - _this._lines.push('', "Failed to load '" + uri.toString() + "'\n\n" + String(err), ''); - }); - }; - ReferencesDocument.prototype._appendLeading = function (doc, line, previous) { - var from = Math.max(0, line - 3, previous && previous.end.line || 0); - while (++from < line) { - var text = doc.lineAt(from).text; - this._lines.push((" " + (from + 1)) + (text && " " + text)); - } - }; - ReferencesDocument.prototype._appendMatch = function (doc, line, match) { - var text = doc.lineAt(line).text; - var preamble = " " + (line + 1) + ": "; - // Append line, use new length of lines-array as line number - // for decoration in the document (should really be a link) - var len = this._lines.push(preamble + text); - this._ranges.push(new vscode.Range(len - 1, preamble.length + match.start.character, len - 1, preamble.length + match.end.character)); - }; - ReferencesDocument.prototype._appendTrailing = function (doc, line, next) { - var to = Math.min(doc.lineCount, line + 3); - if (next && next.start.line - to <= 2) { - return; // next is too close, _appendLeading does the work - } - while (++line < to) { - var text = doc.lineAt(line).text; - this._lines.push((" " + (line + 1)) + (text && " " + text)); - } - if (next) { - this._lines.push(" ..."); - } - }; - return ReferencesDocument; -}()); -Object.defineProperty(exports, "__esModule", { value: true }); -exports.default = ReferencesDocument; -//# sourceMappingURL=referencesDocument.js.map \ No newline at end of file diff --git a/contentprovider-sample/out/referencesDocument.js.map b/contentprovider-sample/out/referencesDocument.js.map deleted file mode 100644 index 656a0e1d..00000000 --- a/contentprovider-sample/out/referencesDocument.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"referencesDocument.js","sourceRoot":"","sources":["../src/referencesDocument.ts"],"names":[],"mappings":"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"} \ No newline at end of file