Skip to content

rahulakrishna/launch-editor

 
 

Repository files navigation

launch-editor

Coverage Status NPM version NPM downloads

✏️ Launch your code editor using Node.js.

Feature

  • support async/await
  • error handlers and codes
  • support more editors and platforms.
  • specify the editor to launch

Install

$ npm install @umijs/launch-editor -S

Usage

Commonjs

const launchEditor = require('@umijs/launch-editor');

(async () => {
  try {
   const res = await launchEditor.default(config)
  } catch (e) {}
})()

ES6 / TypeScript

import launchEditor from '@umijs/launch-editor';

(async () => {
  try {
   const res = await launchEditor(config)
  } catch (e) {}
})()

Configuration

launchEditor(path, [options]): Promise

path

Type: string | object | Array<string | object>

files or project path you want to open in the editor.

options

Type: object

editor

Type: string | string[] Default: Auto-detected (current process or existed editors, envs)

the function return a Promise, if having an error when launching the editor, there are some error code and message, editor (if you specify) you might use.

code message
EPERM the path is permission denied
UNKNOWN couldn't find your editor, might not install
OTHER unknown error couldn't catch
editorOpts

Type: object Default: []

Extra options for the specified editor params, e.g., VSCode using ["-n"] to force to open a new window.

getEditors(): void

guess how many editors you have in current system.

Commonjs

const { getEditors }  = require('@umijs/launch-editor');

guessEditor();

=>

[
  { name: 'subl', commands: [''] },
  { name: 'vscode', commands: [''] },
  { name: 'idea', commands: [''] },
  { name: 'atom', commands: [''] },
]

Development

$ npm install
$ npm run dev

Test

$ npm install
$ npm run test

Supported editors

Value Editor Linux Windows OSX
code Visual Studio Code
atom Atom
code-insiders Visual Studio Code Insiders
sublime Sublime Text
webstorm WebStorm
idea IDEA

About

Open project and file in your editor

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 92.1%
  • JavaScript 7.9%