New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

emphasize

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

emphasize - npm Package Compare versions

Comparing version 4.2.0 to 5.0.0

index.d.ts

299

index.js

@@ -1,298 +0,1 @@

'use strict'
var emphasize = require('./lib/core.js')
module.exports = emphasize
emphasize.registerLanguage('1c', require('highlight.js/lib/languages/1c'))
emphasize.registerLanguage('abnf', require('highlight.js/lib/languages/abnf'))
emphasize.registerLanguage(
'accesslog',
require('highlight.js/lib/languages/accesslog')
)
emphasize.registerLanguage(
'actionscript',
require('highlight.js/lib/languages/actionscript')
)
emphasize.registerLanguage('ada', require('highlight.js/lib/languages/ada'))
emphasize.registerLanguage(
'angelscript',
require('highlight.js/lib/languages/angelscript')
)
emphasize.registerLanguage('apache', require('highlight.js/lib/languages/apache'))
emphasize.registerLanguage(
'applescript',
require('highlight.js/lib/languages/applescript')
)
emphasize.registerLanguage('arcade', require('highlight.js/lib/languages/arcade'))
emphasize.registerLanguage('arduino', require('highlight.js/lib/languages/arduino'))
emphasize.registerLanguage('armasm', require('highlight.js/lib/languages/armasm'))
emphasize.registerLanguage('xml', require('highlight.js/lib/languages/xml'))
emphasize.registerLanguage('asciidoc', require('highlight.js/lib/languages/asciidoc'))
emphasize.registerLanguage('aspectj', require('highlight.js/lib/languages/aspectj'))
emphasize.registerLanguage(
'autohotkey',
require('highlight.js/lib/languages/autohotkey')
)
emphasize.registerLanguage('autoit', require('highlight.js/lib/languages/autoit'))
emphasize.registerLanguage('avrasm', require('highlight.js/lib/languages/avrasm'))
emphasize.registerLanguage('awk', require('highlight.js/lib/languages/awk'))
emphasize.registerLanguage('axapta', require('highlight.js/lib/languages/axapta'))
emphasize.registerLanguage('bash', require('highlight.js/lib/languages/bash'))
emphasize.registerLanguage('basic', require('highlight.js/lib/languages/basic'))
emphasize.registerLanguage('bnf', require('highlight.js/lib/languages/bnf'))
emphasize.registerLanguage(
'brainfuck',
require('highlight.js/lib/languages/brainfuck')
)
emphasize.registerLanguage('c-like', require('highlight.js/lib/languages/c-like'))
emphasize.registerLanguage('c', require('highlight.js/lib/languages/c'))
emphasize.registerLanguage('cal', require('highlight.js/lib/languages/cal'))
emphasize.registerLanguage(
'capnproto',
require('highlight.js/lib/languages/capnproto')
)
emphasize.registerLanguage('ceylon', require('highlight.js/lib/languages/ceylon'))
emphasize.registerLanguage('clean', require('highlight.js/lib/languages/clean'))
emphasize.registerLanguage('clojure', require('highlight.js/lib/languages/clojure'))
emphasize.registerLanguage(
'clojure-repl',
require('highlight.js/lib/languages/clojure-repl')
)
emphasize.registerLanguage('cmake', require('highlight.js/lib/languages/cmake'))
emphasize.registerLanguage(
'coffeescript',
require('highlight.js/lib/languages/coffeescript')
)
emphasize.registerLanguage('coq', require('highlight.js/lib/languages/coq'))
emphasize.registerLanguage('cos', require('highlight.js/lib/languages/cos'))
emphasize.registerLanguage('cpp', require('highlight.js/lib/languages/cpp'))
emphasize.registerLanguage('crmsh', require('highlight.js/lib/languages/crmsh'))
emphasize.registerLanguage('crystal', require('highlight.js/lib/languages/crystal'))
emphasize.registerLanguage('csharp', require('highlight.js/lib/languages/csharp'))
emphasize.registerLanguage('csp', require('highlight.js/lib/languages/csp'))
emphasize.registerLanguage('css', require('highlight.js/lib/languages/css'))
emphasize.registerLanguage('d', require('highlight.js/lib/languages/d'))
emphasize.registerLanguage('markdown', require('highlight.js/lib/languages/markdown'))
emphasize.registerLanguage('dart', require('highlight.js/lib/languages/dart'))
emphasize.registerLanguage('delphi', require('highlight.js/lib/languages/delphi'))
emphasize.registerLanguage('diff', require('highlight.js/lib/languages/diff'))
emphasize.registerLanguage('django', require('highlight.js/lib/languages/django'))
emphasize.registerLanguage('dns', require('highlight.js/lib/languages/dns'))
emphasize.registerLanguage(
'dockerfile',
require('highlight.js/lib/languages/dockerfile')
)
emphasize.registerLanguage('dos', require('highlight.js/lib/languages/dos'))
emphasize.registerLanguage('dsconfig', require('highlight.js/lib/languages/dsconfig'))
emphasize.registerLanguage('dts', require('highlight.js/lib/languages/dts'))
emphasize.registerLanguage('dust', require('highlight.js/lib/languages/dust'))
emphasize.registerLanguage('ebnf', require('highlight.js/lib/languages/ebnf'))
emphasize.registerLanguage('elixir', require('highlight.js/lib/languages/elixir'))
emphasize.registerLanguage('elm', require('highlight.js/lib/languages/elm'))
emphasize.registerLanguage('ruby', require('highlight.js/lib/languages/ruby'))
emphasize.registerLanguage('erb', require('highlight.js/lib/languages/erb'))
emphasize.registerLanguage(
'erlang-repl',
require('highlight.js/lib/languages/erlang-repl')
)
emphasize.registerLanguage('erlang', require('highlight.js/lib/languages/erlang'))
emphasize.registerLanguage('excel', require('highlight.js/lib/languages/excel'))
emphasize.registerLanguage('fix', require('highlight.js/lib/languages/fix'))
emphasize.registerLanguage('flix', require('highlight.js/lib/languages/flix'))
emphasize.registerLanguage('fortran', require('highlight.js/lib/languages/fortran'))
emphasize.registerLanguage('fsharp', require('highlight.js/lib/languages/fsharp'))
emphasize.registerLanguage('gams', require('highlight.js/lib/languages/gams'))
emphasize.registerLanguage('gauss', require('highlight.js/lib/languages/gauss'))
emphasize.registerLanguage('gcode', require('highlight.js/lib/languages/gcode'))
emphasize.registerLanguage('gherkin', require('highlight.js/lib/languages/gherkin'))
emphasize.registerLanguage('glsl', require('highlight.js/lib/languages/glsl'))
emphasize.registerLanguage('gml', require('highlight.js/lib/languages/gml'))
emphasize.registerLanguage('go', require('highlight.js/lib/languages/go'))
emphasize.registerLanguage('golo', require('highlight.js/lib/languages/golo'))
emphasize.registerLanguage('gradle', require('highlight.js/lib/languages/gradle'))
emphasize.registerLanguage('groovy', require('highlight.js/lib/languages/groovy'))
emphasize.registerLanguage('haml', require('highlight.js/lib/languages/haml'))
emphasize.registerLanguage(
'handlebars',
require('highlight.js/lib/languages/handlebars')
)
emphasize.registerLanguage('haskell', require('highlight.js/lib/languages/haskell'))
emphasize.registerLanguage('haxe', require('highlight.js/lib/languages/haxe'))
emphasize.registerLanguage('hsp', require('highlight.js/lib/languages/hsp'))
emphasize.registerLanguage('htmlbars', require('highlight.js/lib/languages/htmlbars'))
emphasize.registerLanguage('http', require('highlight.js/lib/languages/http'))
emphasize.registerLanguage('hy', require('highlight.js/lib/languages/hy'))
emphasize.registerLanguage('inform7', require('highlight.js/lib/languages/inform7'))
emphasize.registerLanguage('ini', require('highlight.js/lib/languages/ini'))
emphasize.registerLanguage('irpf90', require('highlight.js/lib/languages/irpf90'))
emphasize.registerLanguage('isbl', require('highlight.js/lib/languages/isbl'))
emphasize.registerLanguage('java', require('highlight.js/lib/languages/java'))
emphasize.registerLanguage(
'javascript',
require('highlight.js/lib/languages/javascript')
)
emphasize.registerLanguage(
'jboss-cli',
require('highlight.js/lib/languages/jboss-cli')
)
emphasize.registerLanguage('json', require('highlight.js/lib/languages/json'))
emphasize.registerLanguage('julia', require('highlight.js/lib/languages/julia'))
emphasize.registerLanguage(
'julia-repl',
require('highlight.js/lib/languages/julia-repl')
)
emphasize.registerLanguage('kotlin', require('highlight.js/lib/languages/kotlin'))
emphasize.registerLanguage('lasso', require('highlight.js/lib/languages/lasso'))
emphasize.registerLanguage('latex', require('highlight.js/lib/languages/latex'))
emphasize.registerLanguage('ldif', require('highlight.js/lib/languages/ldif'))
emphasize.registerLanguage('leaf', require('highlight.js/lib/languages/leaf'))
emphasize.registerLanguage('less', require('highlight.js/lib/languages/less'))
emphasize.registerLanguage('lisp', require('highlight.js/lib/languages/lisp'))
emphasize.registerLanguage(
'livecodeserver',
require('highlight.js/lib/languages/livecodeserver')
)
emphasize.registerLanguage(
'livescript',
require('highlight.js/lib/languages/livescript')
)
emphasize.registerLanguage('llvm', require('highlight.js/lib/languages/llvm'))
emphasize.registerLanguage('lsl', require('highlight.js/lib/languages/lsl'))
emphasize.registerLanguage('lua', require('highlight.js/lib/languages/lua'))
emphasize.registerLanguage('makefile', require('highlight.js/lib/languages/makefile'))
emphasize.registerLanguage(
'mathematica',
require('highlight.js/lib/languages/mathematica')
)
emphasize.registerLanguage('matlab', require('highlight.js/lib/languages/matlab'))
emphasize.registerLanguage('maxima', require('highlight.js/lib/languages/maxima'))
emphasize.registerLanguage('mel', require('highlight.js/lib/languages/mel'))
emphasize.registerLanguage('mercury', require('highlight.js/lib/languages/mercury'))
emphasize.registerLanguage('mipsasm', require('highlight.js/lib/languages/mipsasm'))
emphasize.registerLanguage('mizar', require('highlight.js/lib/languages/mizar'))
emphasize.registerLanguage('perl', require('highlight.js/lib/languages/perl'))
emphasize.registerLanguage(
'mojolicious',
require('highlight.js/lib/languages/mojolicious')
)
emphasize.registerLanguage('monkey', require('highlight.js/lib/languages/monkey'))
emphasize.registerLanguage(
'moonscript',
require('highlight.js/lib/languages/moonscript')
)
emphasize.registerLanguage('n1ql', require('highlight.js/lib/languages/n1ql'))
emphasize.registerLanguage('nginx', require('highlight.js/lib/languages/nginx'))
emphasize.registerLanguage('nim', require('highlight.js/lib/languages/nim'))
emphasize.registerLanguage('nix', require('highlight.js/lib/languages/nix'))
emphasize.registerLanguage(
'node-repl',
require('highlight.js/lib/languages/node-repl')
)
emphasize.registerLanguage('nsis', require('highlight.js/lib/languages/nsis'))
emphasize.registerLanguage(
'objectivec',
require('highlight.js/lib/languages/objectivec')
)
emphasize.registerLanguage('ocaml', require('highlight.js/lib/languages/ocaml'))
emphasize.registerLanguage('openscad', require('highlight.js/lib/languages/openscad'))
emphasize.registerLanguage('oxygene', require('highlight.js/lib/languages/oxygene'))
emphasize.registerLanguage('parser3', require('highlight.js/lib/languages/parser3'))
emphasize.registerLanguage('pf', require('highlight.js/lib/languages/pf'))
emphasize.registerLanguage('pgsql', require('highlight.js/lib/languages/pgsql'))
emphasize.registerLanguage('php', require('highlight.js/lib/languages/php'))
emphasize.registerLanguage(
'php-template',
require('highlight.js/lib/languages/php-template')
)
emphasize.registerLanguage(
'plaintext',
require('highlight.js/lib/languages/plaintext')
)
emphasize.registerLanguage('pony', require('highlight.js/lib/languages/pony'))
emphasize.registerLanguage(
'powershell',
require('highlight.js/lib/languages/powershell')
)
emphasize.registerLanguage(
'processing',
require('highlight.js/lib/languages/processing')
)
emphasize.registerLanguage('profile', require('highlight.js/lib/languages/profile'))
emphasize.registerLanguage('prolog', require('highlight.js/lib/languages/prolog'))
emphasize.registerLanguage(
'properties',
require('highlight.js/lib/languages/properties')
)
emphasize.registerLanguage('protobuf', require('highlight.js/lib/languages/protobuf'))
emphasize.registerLanguage('puppet', require('highlight.js/lib/languages/puppet'))
emphasize.registerLanguage(
'purebasic',
require('highlight.js/lib/languages/purebasic')
)
emphasize.registerLanguage('python', require('highlight.js/lib/languages/python'))
emphasize.registerLanguage(
'python-repl',
require('highlight.js/lib/languages/python-repl')
)
emphasize.registerLanguage('q', require('highlight.js/lib/languages/q'))
emphasize.registerLanguage('qml', require('highlight.js/lib/languages/qml'))
emphasize.registerLanguage('r', require('highlight.js/lib/languages/r'))
emphasize.registerLanguage('reasonml', require('highlight.js/lib/languages/reasonml'))
emphasize.registerLanguage('rib', require('highlight.js/lib/languages/rib'))
emphasize.registerLanguage('roboconf', require('highlight.js/lib/languages/roboconf'))
emphasize.registerLanguage('routeros', require('highlight.js/lib/languages/routeros'))
emphasize.registerLanguage('rsl', require('highlight.js/lib/languages/rsl'))
emphasize.registerLanguage(
'ruleslanguage',
require('highlight.js/lib/languages/ruleslanguage')
)
emphasize.registerLanguage('rust', require('highlight.js/lib/languages/rust'))
emphasize.registerLanguage('sas', require('highlight.js/lib/languages/sas'))
emphasize.registerLanguage('scala', require('highlight.js/lib/languages/scala'))
emphasize.registerLanguage('scheme', require('highlight.js/lib/languages/scheme'))
emphasize.registerLanguage('scilab', require('highlight.js/lib/languages/scilab'))
emphasize.registerLanguage('scss', require('highlight.js/lib/languages/scss'))
emphasize.registerLanguage('shell', require('highlight.js/lib/languages/shell'))
emphasize.registerLanguage('smali', require('highlight.js/lib/languages/smali'))
emphasize.registerLanguage(
'smalltalk',
require('highlight.js/lib/languages/smalltalk')
)
emphasize.registerLanguage('sml', require('highlight.js/lib/languages/sml'))
emphasize.registerLanguage('sqf', require('highlight.js/lib/languages/sqf'))
emphasize.registerLanguage('sql', require('highlight.js/lib/languages/sql'))
emphasize.registerLanguage('stan', require('highlight.js/lib/languages/stan'))
emphasize.registerLanguage('stata', require('highlight.js/lib/languages/stata'))
emphasize.registerLanguage('step21', require('highlight.js/lib/languages/step21'))
emphasize.registerLanguage('stylus', require('highlight.js/lib/languages/stylus'))
emphasize.registerLanguage('subunit', require('highlight.js/lib/languages/subunit'))
emphasize.registerLanguage('swift', require('highlight.js/lib/languages/swift'))
emphasize.registerLanguage(
'taggerscript',
require('highlight.js/lib/languages/taggerscript')
)
emphasize.registerLanguage('yaml', require('highlight.js/lib/languages/yaml'))
emphasize.registerLanguage('tap', require('highlight.js/lib/languages/tap'))
emphasize.registerLanguage('tcl', require('highlight.js/lib/languages/tcl'))
emphasize.registerLanguage('thrift', require('highlight.js/lib/languages/thrift'))
emphasize.registerLanguage('tp', require('highlight.js/lib/languages/tp'))
emphasize.registerLanguage('twig', require('highlight.js/lib/languages/twig'))
emphasize.registerLanguage(
'typescript',
require('highlight.js/lib/languages/typescript')
)
emphasize.registerLanguage('vala', require('highlight.js/lib/languages/vala'))
emphasize.registerLanguage('vbnet', require('highlight.js/lib/languages/vbnet'))
emphasize.registerLanguage('vbscript', require('highlight.js/lib/languages/vbscript'))
emphasize.registerLanguage(
'vbscript-html',
require('highlight.js/lib/languages/vbscript-html')
)
emphasize.registerLanguage('verilog', require('highlight.js/lib/languages/verilog'))
emphasize.registerLanguage('vhdl', require('highlight.js/lib/languages/vhdl'))
emphasize.registerLanguage('vim', require('highlight.js/lib/languages/vim'))
emphasize.registerLanguage('x86asm', require('highlight.js/lib/languages/x86asm'))
emphasize.registerLanguage('xl', require('highlight.js/lib/languages/xl'))
emphasize.registerLanguage('xquery', require('highlight.js/lib/languages/xquery'))
emphasize.registerLanguage('zephir', require('highlight.js/lib/languages/zephir'))
export {emphasize} from './lib/common.js'

@@ -1,24 +0,34 @@

'use strict'
/**
* @typedef {import('lowlight/lib/core.js').LowlightRoot} LowlightRoot
* @typedef {import('lowlight/lib/core.js').LowlightElementSpan} LowlightElementSpan
* @typedef {import('lowlight/lib/core.js').LowlightAutoOptions} LowlightAutoOptions
* @typedef {import('lowlight/lib/core.js').Text} Text
*/
var chalk = require('chalk')
var lowlight = require('lowlight/lib/core.js')
/**
* @typedef {LowlightRoot['data'] & {value: string}} Result
* @typedef {(value: string) => string} Style
* @typedef {Object.<string, Style>} Sheet
* @typedef {{sheet?: Sheet, subset?: string[]}} AutoOptions
*/
var high = lowlight.highlight
var auto = lowlight.highlightAuto
import chalk from 'chalk'
import {lowlight} from 'lowlight/lib/core.js'
// Inherit.
function Lowlight() {}
const own = {}.hasOwnProperty
Lowlight.prototype = lowlight
export const emphasize = {
highlight,
highlightAuto,
registerLanguage: lowlight.registerLanguage,
listLanguages: lowlight.listLanguages,
registerAlias: lowlight.registerAlias
}
var emphasize = new Lowlight()
// Expose.
module.exports = emphasize
emphasize.highlight = highlight
emphasize.highlightAuto = highlightAuto
// Default style sheet.
var defaultSheet = {
/**
* Default style sheet.
*
* @type {Sheet}
*/
const defaultSheet = {
comment: chalk.gray,

@@ -70,20 +80,36 @@ quote: chalk.gray,

// Highlight `value` as `language`.
/**
* Highlight `value` as `language`.
*
* @param {string} language Language name
* @param {string} value Code value
* @param {Sheet} [sheet] Style sheet
* @returns {Result}
*/
function highlight(language, value, sheet) {
var result = high.call(this, language, value)
result.value = all(sheet || defaultSheet, result.value)
return result
const result = lowlight.highlight(language, value)
return {...result.data, value: visit(sheet || defaultSheet, result)}
}
// Highlight `value` and guess its syntax.
/**
* Guess `value`s syntax.
*
* @param {string} value Code value
* @param {Sheet|AutoOptions} [options] Style sheet or options
* @returns {Result}
*/
function highlightAuto(value, options) {
var result
var sheet
var config
/** @type {Sheet} */
let sheet
/** @type {LowlightAutoOptions} */
let config
if (options) {
if (options.subset) {
if ('subset' in options || 'sheet' in options) {
// @ts-expect-error Looks like options.
sheet = options.sheet
// @ts-expect-error Looks like options.
config = {subset: options.subset}
} else {
// @ts-expect-error Looks like options.
sheet = options

@@ -93,52 +119,48 @@ }

if (!sheet) {
sheet = defaultSheet
}
result = auto.call(this, value, config)
result.value = all(sheet, result.value)
if (result.secondBest) {
result.secondBest.value = all(sheet, result.secondBest.value)
}
return result
const result = lowlight.highlightAuto(value, config)
return {...result.data, value: visit(sheet || defaultSheet, result)}
}
// Visit one `node`.
/**
* Visit one `node`.
*
* @param {Sheet} sheet
* @param {LowlightRoot|LowlightElementSpan|Text} node
*/
function visit(sheet, node) {
var name = (node.properties || {}).className
var scoped = {}
var key
var parts
var color
var style
var content
const names = new Set(
node.type === 'element'
? node.properties.className.map((d) => d.replace(/^hljs-/, ''))
: []
)
/** @type {Sheet} */
const scoped = {}
/** @type {Style} */
let style
/** @type {string} */
let content = ''
/** @type {string} */
let key
// Always just one class.
name = name ? name[0].replace(/hljs-/, '') : ''
for (key in sheet) {
parts = key.split(' ')
color = sheet[key]
if (own.call(sheet, key)) {
const parts = key.split(' ')
const color = sheet[key]
if (parts[0] === name) {
if (parts.length === 1) {
style = color
if (names.has(parts[0])) {
if (parts.length === 1) {
style = color
} else {
scoped[parts.slice(1).join(' ')] = color
}
} else {
scoped[parts.slice(1).join(' ')] = color
scoped[key] = color
}
} else {
scoped[key] = color
}
}
content = ''
if ('value' in node) {
content = node.value
}
if ('children' in node) {
} else if ('children' in node) {
// @ts-expect-error Looks like a parent.
content = all(scoped, node.children)

@@ -154,9 +176,15 @@ }

// Visit children in `node`.
/**
* Visit children in `node`.
*
* @param {Sheet} sheet
* @param {Array.<LowlightElementSpan|Text>} nodes
* @returns {string}
*/
function all(sheet, nodes) {
var result = []
var length = nodes.length
var index = -1
/** @type {string[]} */
const result = []
let index = -1
while (++index < length) {
while (++index < nodes.length) {
result.push(visit(sheet, nodes[index]))

@@ -163,0 +191,0 @@ }

{
"name": "emphasize",
"version": "4.2.0",
"version": "5.0.0",
"description": "ANSI syntax highlighting for the terminal",

@@ -24,34 +24,38 @@ "license": "MIT",

],
"sideEffects": false,
"type": "module",
"main": "index.js",
"types": "index.d.ts",
"files": [
"index.js",
"lib/core.js"
"lib/",
"index.d.ts",
"index.js"
],
"dependencies": {
"chalk": "^4.0.0",
"highlight.js": "~10.4.0",
"lowlight": "~1.17.0"
"highlight.js": "~11.0.0",
"lowlight": "~2.0.0"
},
"devDependencies": {
"is-hidden": "^1.0.0",
"negate": "^1.0.0",
"nyc": "^15.0.0",
"@types/tape": "^4.0.0",
"c8": "^7.0.0",
"is-hidden": "^2.0.0",
"prettier": "^2.0.0",
"remark-cli": "^9.0.0",
"remark-preset-wooorm": "^8.0.0",
"rimraf": "^3.0.0",
"tape": "^5.0.0",
"xo": "^0.36.0"
"type-coverage": "^2.0.0",
"typescript": "^4.0.0",
"xo": "^0.40.0"
},
"scripts": {
"prepack": "npm run build && npm run format",
"generate": "node build",
"build": "rimraf \"{lib/**,test/**,}*.d.ts\" && tsc && type-coverage",
"format": "remark . -qfo && prettier . -w --loglevel warn && xo --fix",
"test-api": "node test",
"test-coverage": "nyc --reporter lcov tape test/index.js",
"test": "npm run generate && npm run format && npm run test-coverage"
"test-api": "FORCE_COLOR=\"true\" node test/index.js",
"test-coverage": "FORCE_COLOR=\"true\" c8 --check-coverage --branches 100 --functions 100 --lines 100 --statements 100 --reporter lcov node test/index.js",
"test": "npm run generate && npm run prepack && npm run test-coverage"
},
"nyc": {
"check-coverage": true,
"lines": 100,
"functions": 100,
"branches": 100
},
"prettier": {

@@ -67,12 +71,6 @@ "tabWidth": 2,

"prettier": true,
"esnext": false,
"rules": {
"unicorn/no-fn-reference-in-iterator": "off",
"unicorn/prefer-optional-catch-binding": "off",
"guard-for-in": "off"
},
"ignore": [
"emphasize.js",
"index.js"
]
"node/file-extension-in-import": "off",
"unicorn/prefer-node-protocol": "off"
}
},

@@ -83,3 +81,8 @@ "remarkConfig": {

]
},
"typeCoverage": {
"atLeast": 100,
"detail": true,
"strict": true
}
}

@@ -11,6 +11,14 @@ # emphasize

`emphasize` supports [all 190 syntaxes][names] of [highlight.js][hljs].
`emphasize` supports [all 191 syntaxes][names] of [highlight.js][hljs].
There are three builds of `emphasize`:
* `lib/core.js` — 0 languages
* `lib/common.js` (default) — 35 languages
* `lib/all.js` — 191 languages
## Install
This package is [ESM only](https://gist.github.com/sindresorhus/a39789f98801d908bbc7ff3ecc99d99c):
Node 12+ is needed to use it and it must be `import`ed instead of `require`d.
[npm][]:

@@ -50,8 +58,8 @@

```js
var fs = require('fs')
var emphasize = require('emphasize')
import fs from 'fs'
import {emphasize} from 'emphasize'
var doc = fs.readFileSync('./example.css', 'utf8')
const doc = String(fs.readFileSync('example.css'))
var output = emphasize.highlightAuto(doc).value
const output = emphasize.highlightAuto(doc).value

@@ -64,18 +72,18 @@ console.log(output)

```txt
@\u001b[32mfont-face\u001b[39m {
\u001b[33mfont-family\u001b[39m: Alpha;
\u001b[33msrc\u001b[39m: \u001b[31murl\u001b[39m(\u001b[36m'Bravo.otf'\u001b[39m);
\x1B[32m@font-face\x1B[39m {
\x1B[33mfont-family\x1B[39m: Alpha;
\x1B[33msrc\x1B[39m: \x1B[31murl\x1B[39m(\x1B[36m'Bravo.otf'\x1B[39m);
}
\u001b[32mbody\u001b[39m, \u001b[34m.charlie\u001b[39m, \u001b[34m#delta\u001b[39m {
\u001b[33mcolor\u001b[39m: \u001b[36m#bada55\u001b[39m;
\u001b[33mbackground-color\u001b[39m: \u001b[31mrgba\u001b[39m(33, 33, 33, 0.33);
\u001b[33mfont-family\u001b[39m: \u001b[36m\"Alpha\"\u001b[39m, sans-serif;
\x1B[32mbody\x1B[39m, \x1B[34m.charlie\x1B[39m, \x1B[34m#delta\x1B[39m {
\x1B[33mcolor\x1B[39m: \x1B[36m#bada55\x1B[39m;
\x1B[33mbackground-color\x1B[39m: \x1B[31mrgba\x1B[39m(\x1B[36m33\x1B[39m, \x1B[36m33\x1B[39m, \x1B[36m33\x1B[39m, \x1B[36m0.33\x1B[39m);
\x1B[33mfont-family\x1B[39m: \x1B[36m"Alpha"\x1B[39m, sans-serif;
}
@\u001b[32mimport\u001b[39m url(echo.css);
\x1B[32m@import\x1B[39m url(echo.css);
@\u001b[32mmedia\u001b[39m print {
\u001b[32ma\u001b[39m\u001b[35m[href^=http]\u001b[39m\u001b[35m::after\u001b[39m {
\u001b[33mcontent\u001b[39m: \u001b[31mattr\u001b[39m(href)
\x1B[32m@media\x1B[39m print {
\x1B[32ma\x1B[39m\x1B[35m[href^=http]\x1B[39m\x1B[35m::after\x1B[39m {
\x1B[33mcontent\x1B[39m: \x1B[31mattr\x1B[39m(href)
}

@@ -91,2 +99,5 @@ }

This package exports the following identifiers: `emphasize`.
There is no default export.
### `emphasize.registerLanguage(name, syntax)`

@@ -101,3 +112,3 @@

Like [`low.highlight()`][highlight], but the return object’s `value` property is
a string instead of hast nodes.
a string instead of a hast root.

@@ -110,3 +121,3 @@ You can pass in a `sheet` ([`Sheet?`][sheet], optional) to configure the theme.

Like [`low.highlightAuto()`][highlight-auto], but the return object’s `value`
property is a string instead of hast nodes.
property is a string instead of a hast root.

@@ -123,3 +134,3 @@ You can pass in a `sheet` ([`Sheet?`][sheet], optional) directly or as

Those functions receive a value (`string`), which they should wrap in ANSI
sequences, and return.
sequences and return.
For convenience, [chalk’s chaining of styles][styles] is suggested.

@@ -137,3 +148,3 @@

'formula': chalk.inverse
};
}
```

@@ -143,18 +154,9 @@

Do not require `emphasize` in the browser as that would include a *very* large
file.
If you’re using `emphasize/lib/core.js`, no syntaxes are included.
Some syntaxes are included if you import `emphasize` (or
`emphasize/lib/common.js`).
All syntaxes are available through `emphasize/lib/all.js`
Instead, require `emphasize/lib/core`, and include only the used highlighters.
For example:
See [Syntaxes in `lowlight`][syntaxes] for which syntaxes are included where.
```js
var emphasize = require('emphasize/lib/core')
var js = require('highlight.js/lib/languages/javascript')
emphasize.registerLanguage('javascript', js)
emphasize.highlight('js', '"use strict";').value
// '\u001b[35m"use strict"\u001b[39m;'
```
## License

@@ -202,4 +204,6 @@

[syntaxes]: https://github.com/wooorm/lowlight#syntaxes
[highlight]: https://github.com/wooorm/lowlight#lowhighlightlanguage-value-options
[highlight-auto]: https://github.com/wooorm/lowlight#lowhighlightautovalue-options
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc