- update the
.version
property to return the correct version
- add support for comment characters other than semicolon - Issue #11
- first release from @oakmac fork
- apply standardjs linter to the codebase (ie: this release has a large code diff, but minimal logic change from 3.12.0)
- make Smart Mode work better when inputting multiple changes. See #181
- fix:
parenTrails
now include those which may appear at the beginning of a line - fix:
parens
now correctly assigns relocated leading close-parens to their paren trail - enhancement: smart mode with
forceBalance
off will remove unmatched close-parens in a leading paren trail ( see #163)
- add: return
parens
(full paren tree) ifreturnParens
is enabled - change: move leading-close paren fix from Indent Mode to Smart Mode
- change: throw leading close-paren error in Indent Mode if and it cannot be removed safely and
forceBalance
is off - revert: do not fix indentation in Smart Mode after cursor leaves end of Paren Trail (from #147)
- this was causing bad pasting behavior since a line with extra parens would dedent subsequent lines
- change: smart mode will allow selected lines to be indented in isolation (by running Indent Mode when
selectionStartLine
is passed in)- this helps with correcting pastes without influence indentation around it
- thanks to @SevereOverfl0w!
- add: return
tabStops
in Paren Mode (see #156) - add: return
argX
for Tab Stops (see #157) - add: new option
selectionStartLine
so Tab Stops can use the top of the selection instead of the cursor line
- fix: don't accumulate extra indentation when
changes
indents multiple lines (see #154)
- add: return non-empty
parenTrails
so editors can dim/mark them (see Paren Trails)
- add: fix indentation in Smart Mode after cursor leaves the end of a Paren Trail (see #147)
- add: fix indentation in Smart Mode after cursor leaves a holding area, preventing unintended line adoption (see #143)
- refactor: remove
discardStack
sinceparenTrail.openers
is same thing
- experiment: extend indentation constraints in Paren Mode to promote more stability in Indent Mode and Smart Mode
- add: create
smartMode
to hold new smart features and to preserve originalindentMode
- add: prevent sibling adoption when dedenting expressions, until cursor is moved to different line or to the right of the open-paren. (see #143)
- change: remove
cursorX
,cursorLine
, andtabStops
from result if null or empty - add: new
parseOutput
function in test API
- fix botched 3.1.0
- enhancement: publish separate test API
- fix: make deleted unbalanced parens influence shifted expressions (when
forceBalance
is true)
- enhancement: replace
cursorDx
withchanges
option (republishing 2.6.0 as major version bump)
- republishing 2.5.2 since 2.6.0 was a breaking change that should be published as 3.0.0
- enhancement: replace
cursorDx
withchanges
option
- fix: comment lines are shifted when indented inside shifted collections (see end of this section)
- fix: dedenting an open-paren with
cursorDx
in Indent Mode will properly adopt new child lines
- experiment: allow
forceBalance
option in Indent Mode to restore v1's aggressive balancing
- experiment: allow
cursorDx
option in Indent Mode to prevent switching to Paren Mode for most cases (see #84)- thanks to @rgdelato!
- fix: prevent
testParenMode
andtestIndentMode
from failing whenpartialResult
is enabled and cursor line never reached
- enhancement:
partialResult
option allows partially processed text/cursor to be returned on error #124
- fix: don't allow unmatched close-parens to be held by the cursor in the paren trail
- enhancement: when
unmatched-close-paren
error, returnerror.extra
for open-paren location
- fix: error locations reported in input coords, not output coords
- fix: throw error when unmatched close-paren found in Paren Mode
- fix: don't let Indent Mode crash when processing text without code
- fix: when leading close-parens found in Indent Mode, exit to Paren Mode to prevent strange behavior #126
- change: remove
previewCursorScope
option since it interfered with #126 - enhancement: allow test-case annotations in input/output using
testIndentMode
/testParenMode
- do not remove unmatched close parens indiscriminately (see relevant docs)
- fix missing semicolons to prevent closure minification errors (see #120)
- correctly handle lines ending in unclosed string (see #112)
- return new
tabStops
property (see #110)
- allow escaped close-parens
- Indent Mode has new
previewCursorScope
option
- fix cursor position bug (see comment)
- return cursor position (see #96)
- performance improvements (thanks @oakmac)
- performance improvements (thanks @oakmac)
- fudged the 1.5.0 npm release (this fixes it)
- allow insertion of spaces in the cursor line's paren trail in Paren Mode
- modes return new key
changedLines
- modes return new key
error
- performance improvements
- add compatibility for CRLF line endings
- performance improvements (thanks @oakmac)
- remove
result
key from returned result (internal only)
- port to native JS implementation (~20x faster, ~25 lines/ms)
- remove
indentModeChange
- fudged the 0.2.2 npm release (this fixes it)
- do not treat commas as indentation whitespace (see #61)
- publish JavaScript API to npm
- add cursor courtesy to Paren Mode (see new website section)
- can be used for auto-indent in REPL (see replete #73)
initial version