UNPKG

vscode-no-unsupported

Version:

An extension for removing [Unsupported] from the titlebar

73 lines (42 loc) 1.45 kB
/* IMPORT */ import * as _ from 'lodash'; import * as fs from 'fs'; import * as mkdirp from 'mkdirp'; import * as path from 'path'; import * as pify from 'pify'; import * as vscode from 'vscode'; import * as Commands from './commands'; /* UTILS */ const Utils = { initCommands ( context: vscode.ExtensionContext ) { const {commands} = vscode.extensions.getExtension ( 'fabiospampinato.vscode-no-unsupported' ).packageJSON.contributes; commands.forEach ( ({ command, title }) => { const commandName = _.last ( command.split ( '.' ) ) as string, handler = Commands[commandName], disposable = vscode.commands.registerCommand ( command, () => handler () ); context.subscriptions.push ( disposable ); }); return Commands; }, file: { open ( filepath ) { return vscode.commands.executeCommand ( 'vscode.open', vscode.Uri.parse ( `file://${filepath}` ) ); }, async make ( filepath, content ) { await pify ( mkdirp )( path.dirname ( filepath ) ); return Utils.file.write ( filepath, content ); }, async read ( filepath ) { try { return ( await pify ( fs.readFile )( filepath, { encoding: 'utf8' } ) ).toString (); } catch ( e ) { return; } }, async write ( filepath, content ) { return pify ( fs.writeFile )( filepath, content, {} ); } } }; /* EXPORT */ export default Utils;