All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Guiding Principles
- Changelogs are for humans, not machines.
- There should be an entry for every single version.
- The same types of changes should be grouped.
- Versions and sections should be linkable.
- The latest version comes first.
- The release date of each versions is displayed.
- Mention whether you follow Semantic Versioning.
Types of changes
Changelog entries are classified using the following labels (from keep-a-changelog):
Added
for new features.Changed
for changes in existing functionality.Deprecated
for soon-to-be removed features.Removed
for now removed features.Fixed
for any bug fixes.Security
in case of vulnerabilities.
3.0.0 - 2018-01-11
- removed
lexer.last()
- bumped snapdragon-stack, which has replaced all getters with methods that must be called.
2.0.0 - 2018-01-08
The following changes were made in an effort to make the API closer to other popular parsing libraries, such as babel and acorn.
- Renamed
token.val
totoken.value
lexer.loc.column
was changed from a 1-index number to a 0-index number.current
is now a property set by the.handle()
method. The value oflexer.current
is whatever is returned by a handler..prev()
now returns the previously lexed token.push()
- If
lexer.options.mode
is set tocharacter
,lexer.advance()
will consume and return a single character each time it's called, instead of iterating over the handlers. - the
token.match
array is now decorated with a.consumed
property, which is the value oflexer.consumed
before the match was created. - adds
lexer.stack
for tracking opening/closing structures - adds
lexer.stash
for storing an array of strings (in addition tolexer.tokens
, which stores objects) - adds
.append
- adds
.skipWhile
- adds
.skipSpaces
1.0.0 - 2017-11-30
- run update
- update code comments, add
.skipType
method - add examples
- update metadata and urls