unified

Project:vfile/vfile-location

Package:vfile-location@3.0.0

  1. Dependencies:0·Dependents:21
  2. Convert between positions (line and column-based) and offsets (range-based) locations in a virtual file
  1. remark 166
  2. marker 13
  3. message 9
  4. comment 7
  5. control 4

vfile-location

Build Coverage Downloads Size Sponsors Backers Chat

Convert between positions (line and column-based) and offsets (range-based) locations in a virtual file.

Install

npm:

npm install vfile-location

Use

var vfile = require('vfile')
var vfileLocation = require('vfile-location')

var location = vfileLocation(vfile('foo\nbar\nbaz'))

var offset = location.toOffset({line: 3, column: 3}) // => 10
location.toPosition(offset) // => {line: 3, column: 3, offset: 10}

API

location = vfileLocation(doc)

Get transform functions for the given doc (string) or file.

Returns an object with toOffset and toPosition.

location.toOffset(position)

Get the offset (number) for a line and column-based position in the bound file. Returns -1 when given invalid or out of bounds input.

location.toPosition(offset)

Get the line and column-based position for offset in the bound file.

Contribute

See contributing.md in vfile/.github for ways to get started. See support.md for ways to get help.

This project has a Code of Conduct. By interacting with this repository, organization, or community you agree to abide by its terms.

License

MIT © Titus Wormer