diff --git a/src/vs/workbench/parts/explorers/common/goOutline.ts b/src/vs/workbench/parts/explorers/common/goOutline.ts deleted file mode 100644 index 88bde4d2969..00000000000 --- a/src/vs/workbench/parts/explorers/common/goOutline.ts +++ /dev/null @@ -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 { -// return new Promise((resolve, reject) => { -// let gooutline = getBinPath('go-outline'); -// // Spawn `go-outline` process -// let p = cp.execFile(gooutline, ['-f', filename], {}, (err, stdout, stderr) => { -// try { -// if (err && (err).code === 'ENOENT') { -// console.log('Go-outline not installed'); -// // promptForMissingTool('go-outline'); -// } -// if (err) return resolve(null); -// let result = stdout.toString(); -// let decls = JSON.parse(result); -// let symbols = decls.map(documentSymbolToSymbolStat); -// return resolve(symbols); -// } catch (e) { -// reject(e); -// } -// }); -// }); -// } \ No newline at end of file diff --git a/src/vs/workbench/parts/explorers/common/goPath.ts b/src/vs/workbench/parts/explorers/common/goPath.ts deleted file mode 100644 index 07e51376aa0..00000000000 --- a/src/vs/workbench/parts/explorers/common/goPath.ts +++ /dev/null @@ -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 = (process.env.PATH).split(path.delimiter); - runtimePathCache = pathparts.map(dir => path.join(dir, correctBinname('go'))).filter(candidate => fs.existsSync(candidate))[0]; - } - return runtimePathCache; -} \ No newline at end of file