1.1.0 • Published 1 year ago

awesome-code-frame v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

npm version downloads build status coverage status

awesome-code-frame

What is this?

This is a fork of @babel/code-frame with the latest dependencies (e.g of chalk) and exported as a pure ESM package. It uses the latest chalk, which means it requires support for package imports. If this causes problems in Jest for you, see this issue for help.

Usage

The package exports a function codeFrameColumns() which works just like @babel/code-frame although all dependent types are exported too.

codeFrameColumns( rawLines: string, loc: NodeLocation, opts?: Options ): string;

where NodeLocation is defined as:

interface NodeLocation {
    start: Location;
    end?: Location;
}

Location as:

interface Location {
    column: number;
    line: number;
};

and Options as:

export interface Options {
  /**
   * Syntax highlight the code as JavaScript for terminals. default: false
   * */
  highlightCode?: boolean;
  /**
   * The number of lines to show above the error. default: 2
   * */
  linesAbove?: number;
  /**
   * The number of lines to show below the error. default: 3
   * */
  linesBelow?: number;
  /**
   * Forcibly syntax highlight the code as JavaScript (for non-terminals);
   * overrides highlightCode.
   * default: false
   */
  forceColor?: boolean;
  /**
   * Pass in a string to be displayed inline (if possible) next to the
   * highlighted location in the code. If it can't be positioned inline,
   * it will be placed above the code frame.
   * default: nothing
   */
  message?: string;
}