Giter Site home page Giter Site logo

supports-hyperlinks's Introduction

supports-hyperlinks Build Status codecov

Detect whether a terminal emulator supports hyperlinks

Terminal emulators are starting to support hyperlinks. While many terminals have long detected URL's and linkified them, allowing you to Command-Click or Control-Click them to open a browser, you were forced to print the long unsightly URL's on the screen. As of spring 2017 a few terminals began supporting HTML like links, where the link text and destination could be specified separately.

This module allows you to detect if hyperlinks are supported in the current Terminal.

As this is a new development, we anticipate the list of supported Terminals to grow rapidly. Please open an issue or submit a PR as new Terminals implement support.

Install

$ npm install supports-hyperlinks

Usage

const supportsHyperlinks = require('supports-hyperlinks');

if (supportsHyperlinks.stdout) {
	console.log('Terminal stdout supports hyperlinks');
}

if (supportsHyperlinks.stderr) {
	console.log('Terminal stderr supports hyperlinks');
}

API

Returns an Object with a stdout and stderr property for testing either streams. Each property is a boolean, indicating whether or not hyperlinks are supported.

Info

Obeys the --no-hyperlinks, --hyperlink=always, and --hyperlink=never CLI flags.

Can be overridden by the user with the flags --hyperlinks=always and --no-hyperlinks. For situations where using those flags are not possible, add the environment variable FORCE_HYPERLINK=1 to forcefully enable hyperlinks or FORCE_HYPERLINK=0 to forcefully disable. The use of FORCE_HYPERLINK overrides all other hyperlink support checks.

Related

License

MIT © James Talmage

supports-hyperlinks's People

Contributors

ehmicky avatar jamestalmage avatar litomore avatar orta avatar sindresorhus avatar tyriar avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.