mirror of
https://github.com/microsoft/vscode.git
synced 2026-05-22 08:09:42 +01:00
Remove unused go outline stuff
This commit is contained in:
@@ -1,60 +0,0 @@
|
||||
/*---------------------------------------------------------
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import cp = require('child_process');
|
||||
import path = require('path');
|
||||
import { getBinPath } from './goPath';
|
||||
|
||||
import { TreeViewNode } from './treeViewModel';
|
||||
|
||||
// Keep in sync with https://github.com/lukehoban/go-outline
|
||||
export interface GoOutlineRange {
|
||||
start: number;
|
||||
end: number;
|
||||
}
|
||||
|
||||
export interface GoOutlineDeclaration {
|
||||
label: string;
|
||||
type: string;
|
||||
receiverType?: string;
|
||||
icon?: string; // icon class or null to use the default images based on the type
|
||||
start: number;
|
||||
end: number;
|
||||
children?: GoOutlineDeclaration[];
|
||||
signature?: GoOutlineRange;
|
||||
comment?: GoOutlineRange;
|
||||
}
|
||||
|
||||
// function documentSymbolToSymbolStat(decl: GoOutlineDeclaration): TreeViewNode {
|
||||
// const children = decl.children && decl.children.length > 0
|
||||
// ? decl.children.map(documentSymbolToSymbolStat)
|
||||
// : [];
|
||||
|
||||
// return new TreeViewNode(decl.label, decl.type, decl.start, decl.end, children);
|
||||
// }
|
||||
|
||||
// export function documentSymbols(filename: string): Promise<TreeViewNode[]> {
|
||||
// return new Promise<GoOutlineDeclaration[]>((resolve, reject) => {
|
||||
// let gooutline = getBinPath('go-outline');
|
||||
// // Spawn `go-outline` process
|
||||
// let p = cp.execFile(gooutline, ['-f', filename], {}, (err, stdout, stderr) => {
|
||||
// try {
|
||||
// if (err && (<any>err).code === 'ENOENT') {
|
||||
// console.log('Go-outline not installed');
|
||||
// // promptForMissingTool('go-outline');
|
||||
// }
|
||||
// if (err) return resolve(null);
|
||||
// let result = stdout.toString();
|
||||
// let decls = <GoOutlineDeclaration[]>JSON.parse(result);
|
||||
// let symbols = decls.map(documentSymbolToSymbolStat);
|
||||
// return resolve(symbols);
|
||||
// } catch (e) {
|
||||
// reject(e);
|
||||
// }
|
||||
// });
|
||||
// });
|
||||
// }
|
||||
@@ -1,78 +0,0 @@
|
||||
/*---------------------------------------------------------
|
||||
* Copyright (C) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------*/
|
||||
|
||||
'use strict';
|
||||
|
||||
import fs = require('fs');
|
||||
import path = require('path');
|
||||
import os = require('os');
|
||||
|
||||
let binPathCache: { [bin: string]: string; } = {};
|
||||
let runtimePathCache: string = null;
|
||||
|
||||
export function getBinPath(binname: string) {
|
||||
binname = correctBinname(binname);
|
||||
if (binPathCache[binname]) return binPathCache[binname];
|
||||
|
||||
// First search each GOPATH workspace's bin folder
|
||||
if (process.env['GOPATH']) {
|
||||
let workspaces = process.env['GOPATH'].split(path.delimiter);
|
||||
for (let i = 0; i < workspaces.length; i++) {
|
||||
let binpath = path.join(workspaces[i], 'bin', binname);
|
||||
if (fs.existsSync(binpath)) {
|
||||
binPathCache[binname] = binpath;
|
||||
return binpath;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Then search PATH parts
|
||||
if (process.env['PATH']) {
|
||||
let pathparts = process.env['PATH'].split(path.delimiter);
|
||||
for (let i = 0; i < pathparts.length; i++) {
|
||||
let binpath = path.join(pathparts[i], binname);
|
||||
if (fs.existsSync(binpath)) {
|
||||
binPathCache[binname] = binpath;
|
||||
return binpath;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Finally check GOROOT just in case
|
||||
if (process.env['GOROOT']) {
|
||||
let binpath = path.join(process.env['GOROOT'], 'bin', binname);
|
||||
if (fs.existsSync(binpath)) {
|
||||
binPathCache[binname] = binpath;
|
||||
return binpath;
|
||||
}
|
||||
}
|
||||
|
||||
// Else return the binary name directly (this will likely always fail downstream)
|
||||
binPathCache[binname] = binname;
|
||||
return binname;
|
||||
}
|
||||
|
||||
function correctBinname(binname: string) {
|
||||
if (process.platform === 'win32')
|
||||
return binname + '.exe';
|
||||
else
|
||||
return binname;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns Go runtime binary path.
|
||||
*
|
||||
* @return the path to the Go binary.
|
||||
*/
|
||||
export function getGoRuntimePath(): string {
|
||||
if (runtimePathCache) return runtimePathCache;
|
||||
if (process.env['GOROOT']) {
|
||||
runtimePathCache = path.join(process.env['GOROOT'], 'bin', correctBinname('go'));
|
||||
} else if (process.env['PATH']) {
|
||||
let pathparts = (<string>process.env.PATH).split(path.delimiter);
|
||||
runtimePathCache = pathparts.map(dir => path.join(dir, correctBinname('go'))).filter(candidate => fs.existsSync(candidate))[0];
|
||||
}
|
||||
return runtimePathCache;
|
||||
}
|
||||
Reference in New Issue
Block a user