Skip to content
Convert between positions (line and column-based) and offsets (range-based) locations in unist
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.editorconfig
.gitignore
.npmrc
.prettierignore
.travis.yml
index.js
license
package.json
readme.md
test.js

readme.md

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

Usage

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, organisation, or community you agree to abide by its terms.

License

MIT © Titus Wormer

You can’t perform that action at this time.