Releases: JuliaLang/JuliaSyntax.jl
Releases · JuliaLang/JuliaSyntax.jl
v0.4.3
v0.4.2
v0.4.1
JuliaSyntax v0.4.1
Closed issues:
- Disallow unbalanced bidirectional unicode in strings and comments (#242)
- Fix remaining test failures in Base test/syntax.jl (#270)
Merged pull requests:
- Fix token error ranges + highlighting for multibyte chars (#271) (@c42f)
- Cleanup and fix operator predicates (#272) (@c42f)
- Additional operators from upstream (#273) (@c42f)
- Move remaining Expr tests to test/expr.jl (#274) (@c42f)
- == operator for green trees (#275) (@c42f)
- Normalize ℏ (\hslash) to ħ (\hbar) (#277) (@c42f)
- Small fix for
Expr(:incomplete)detection (#278) (@c42f) - Fixes for line number node insertion in short form blocks (#279) (@c42f)
- Reference parser compat: Make toplevel error Exprs more compatible (#280) (@c42f)
- Fix for block-vs-parameters in prefix call syntax (#281) (@c42f)
- Allow
varidentifier as exception name in catch (#282) (@c42f) - Fixes for short form function locations (#284) (@c42f)
- Disallow juxtaposition of strings with blocks (#285) (@c42f)
- More precise errors for bad unicode characters (#286) (@c42f)
- Re-add precompile (#287) (@c42f)
- Disallow unbalanced bidirectional unicode (#288) (@c42f)
v0.4.0
JuliaSyntax v0.4.0
Closed issues:
- some errors when parsing
test/syntax.jl(#3) a bin REPL treated as incomplete (#110)- extra newline after error output in REPL (#111)
- surprising error for two commas (#114)
- Decide whether
K"parens"should be visible toSyntaxNode(#239) - Add lineno support to core parser hooks (#241)
- Remove
vcatandhcatin favour ofncat(#266) - Prime parsing issues (#25)
- Reworking some Julia AST forms (#88)
- Better testing of
SyntaxNode -> Exprconversion (#120) - Errors from fuzz testing (#186)
- Remove
bump_invisible()where possible (#219) - VSCode, OhMyREPL and JuliaSyntax. strange error in REPL (#236)
- Works much slower for --compile=min (#243)
- Large invalidations from uninferred
AbstractString(#252)
Merged pull requests:
- Support for lineno in core parser hooks (#259) (@c42f)
- Fixes for
Expr(:incomplete)detection (#260) (@c42f) - Improve error message for closing tokens in parse_atom (#261) (@c42f)
- Minor fixes to test tools (#262) (@c42f)
- Fix combined cartesian / flattened generators (#263) (@c42f)
- Add braces node around
Tinx where {T}(#264) (@c42f) - Fix spurious warning for
import A.:(#267) (@c42f) - Construct Expr directly from ParseStream (#268) (@c42f)
- Remove
K"parens"fromSyntaxNode(#269) (@c42f) - Simplify child layout for
try(#234) (@c42f) - Add parens node in special cases
:(=)and:(::)(#237) (@c42f) - Conservative exports + rename parse() (#238) (@c42f)
- Parsing standalone dotted operators as
(. op)(#240) (@c42f) - Use importpath kind rather than K"." (#244) (@c42f)
- Distinguish
:xfromquote x endwith a flag (#245) (@c42f) - Big list of AST difference between Expr & GreenNode (#246) (@c42f)
- Fix for detecting call heads in function signatures (#247) (@c42f)
- Fix parsing of chained unary and unary type operators (#249) (@c42f)
- Big cleanup of test case reduction utilities (#250) (@c42f)
- Avoid crashing on ambiguous tokenization of char vs adjoint (#251) (@c42f)
- Move all Expr conversion tests to test/expr.jl (#253) (@c42f)
- Enclose grouping parentheses with
parensnode (#222) (@c42f) - Better conversion to
Exprwithparse(..., ignore_errors=true)(#224) (@c42f) - Clean up emit_diagnostic stream position handling (#225) (@c42f)
- Allow parentheses in import paths and macro names (#226) (@c42f)
- Various fixes for
K"parens"nodes (#227) (@c42f) - Add isascii to normalize_identifier for 25% reduction in parse time (#228) (@ndinsmore)
- Automatically reduce test failures General registry (#229) (@c42f)
- Fix highlighting of empty source ranges (#231) (@c42f)
v0.3.5
JuliaSyntax v0.3.5
Closed issues:
- VSCode, OhMyREPL and JuliaSyntax. strange error in REPL (#236)
- Works much slower for --compile=min (#243)
- Large invalidations from uninferred
AbstractString(#252)
Merged pull requests:
- specialize on the number of varargs for
bump_split(#254) (@KristofferC) - Make a global dictionary const (#255) (@KristofferC)
- avoid a Core.Box in
_to_expr(#256) (@KristofferC) - avoid a runtime dispatch when converting to expr (#257) (@KristofferC)
- Hot fixes for release 0.3.5 (#258) (@c42f)
v0.3.4
JuliaSyntax v0.3.4
Closed issues:
EOFError: read end of filewhen tokenizing a non finished char literal with backslash (#232)
Merged pull requests:
- fix lexing
'\\to not error in the validate token step (#233) (@KristofferC)
v0.3.3
JuliaSyntax v0.3.3
Closed issues:
- Error message in plain text discards visual location information (#61)
Merged pull requests:
- add a very basic precompile workload (#213) (@KristofferC)
- Add basic benchmark script + other rearrangments (#214) (@c42f)
- Rewrite source range
highlight()(#215) (@c42f) - Improve syntax diffing in General registry checker (#216) (@c42f)
- Parse docstring attachment as
K"doc"kind (#217) (@c42f) - Add PARENS_FLAG to tuple, block and macrocall (#218) (@c42f)
- Various AST cleanups related to removing invisible tokens (#220) (@c42f)
- Basic after-parse tokenization interface (#221) (@c42f)
v0.3.2
v0.3.1
JuliaSyntax v0.3.1
Closed issues:
- Bad error message for
1.+1(#57) - Add milestones (#167)
- Copy error cases from reference tokenizer (#172)
- Location of TypedSyntaxNode (#192)
Merged pull requests:
- Allow different parsings of
(a; b,)to compare equal (#184) (@c42f) - Parser fuzz testing tools and fixes (#185) (@c42f)
- A few fixes for ranges of diagnostic messages (#187) (@c42f)
- More fuzz testing tools and fixes (#188) (@c42f)
- Allow SyntaxNode
node[end]to get the last child (#189) (@c42f) - Add lineno to SourceFile (#191) (@timholy)
- Split SyntaxNode into TreeNode & SyntaxData (#193) (@timholy)
- Various improvements to the README (#195) (@waldyrious)
- Fix various numeric literal token errors (#196) (@c42f)
- Fix for operator-named macros: parse
@+xas@+ x(#197) (@c42f) - Fix
try catch elseExpr conversion (#198) (@c42f) first_linesupport inparse(#200) (@timholy)- Support
begin/endindexing ofSourceFile(#201) (@timholy) - Submit coverage reports to codecov (#203) (@timholy)
- Improve test coverge of source_files, syntax_tree (#204) (@timholy)
- Enable parsing of Base tests (#205) (@c42f)
- Move value_parsing.jl to literal_parsing.jl (#206) (@c42f)
- Remove byte_range from default printing of SyntaxNode (#207) (@c42f)
- AbstractSyntaxNode generalization & convenience (#208) (@timholy)
- Bump to 0.3.1 and remove old Printf dependency (#209) (@c42f)
v0.3.0
JuliaSyntax v0.3.0
Closed issues:
.<:and.>:should not be parsed as unary operators (#38)- Failure to parse some octal escape sequences (#67)
- Diagnostics for string->value conversion (#82)
- Rework handling of
.tokenization and dotted operator calls (#90) - AST inconsistency between parsing of
=vskw(#99) - Bug parsing exception spec in
catch(#105) - no error for over-long character literal (#109)
- missing error for ** (#112)
- Incorrect parsing of
-(a=2)(#113) - Incorrect precedence for indexing vs macros. (#115)
- Incorrect parsing of
functionwith parens. (#116) - Internal error parsing
+=(#117) - parsing error for comma after newline in between square brackets (#118)
- Got ERROR: LoadError: MethodError: no method matching core_parser_hook(::String, ::String, ::Int64, ::Int64, ::Symbol) when using Visual Studio Code + Julia Language Support + Enable JuliaSyntax.jl at startup.jl (#128)
constwithout assignment should be an error except instruct(#129)- Could you do Julia 2.0 (parsing) as an option? (#141)
- Wrong row reported for juxtaposed string error (#145)
- Tokenizer shouldn't throw for invalid UTF-8 (#153)
- Tokenization error with nested multiline comments (#170)
- Runtime Julia 1.0 support (#180)
Merged pull requests:
- Parse keyword args with
=head rather thankw(#103) (@c42f) - Stricter parsing of exception names in
catch $excname(#106) (@c42f) - Rework
JuliaSyntax.parse()public API (#107) (@c42f) - Tweaks to allow vendoring into Base (#119) (@c42f)
- Split char delimiters early and emit K"char" node (#121) (@c42f)
- Fix incomplete detection for tree with no parents (#122) (@c42f)
- Remove TRY_CATCH_FINALLY_FLAG (#123) (@c42f)
- Record fixity of call type in flags (#124) (@c42f)
- Bug fix for macro call square bracket whitespace (#125) (@c42f)
- Always emit a block for
letbinding lists (#126) (@c42f) - Wrap
var""nonstandard identifiers in var nodes (#127) (@c42f) - Fix const struct field errors + cleanup
global constAST (#130) (@c42f) - Permit parens in function call signatures (#131) (@c42f)
- Add docs on how to use JuliaSyntax inside VSCode (#132) (@c42f)
- More flattened form for multiple frakentuple parameters (#133) (@c42f)
- Fixes for parse check of General registry (#135) (@c42f)
- Fix for parsing
endinA[x ? y : end](#136) (@c42f) - Fix parsing of
[a~b](#137) (@c42f) - Fix for function signatures with grouping parens (#140) (@c42f)
- Fix tokenization of
1.#(#142) (@c42f) - Fix tokenization of numbers followed by
..(#143) (@c42f) - Fixes for macro paths and call chain parsing (#144) (@c42f)
- Lower
@ .to@ __dot__not in parser but inExprconversion (#146) (@c42f) - Report bad macro names more clearly (#147) (@c42f)
- Validate literals at parse time (#149) (@c42f)
- Parse dotted calls with
dotcallhead (#151) (@c42f) - Add ignore_errors keyword to main parser API (#152) (@c42f)
- Only warn when float literals underflow to zero (#154) (@c42f)
- Fixes for tokenization of invalid UTF-8 strings (#155) (@c42f)
- Fix source line reporting at EOF (#156) (@c42f)
- Fix parsing of
.&(x,y)(#157) (@c42f) - Improve registry testing tools (#158) (@c42f)
- Fix operator category/precedence for ≔ ⩴ ≕ ≂ (#159) (@c42f)
- Allow + prefix to be part of unsigned numeric literals (#160) (@c42f)
- Make try without catch/finally an error (#161) (@c42f)
- Fix dotcall tests (#162) (@c42f)
- Fix where parameter conversion as in
A where {X, Y; Z}(#163) (@c42f) - Fix Expr parameters in parenthesized macro calls (#164) (@c42f)
- Avoid use of GlobalRef in SyntaxNode trees (#165) (@c42f)
- Fix an obscure form of function definition (#166) (@c42f)
- Fixes for obscure function definition forms (#168) (@c42f)
- Trailing linebreak is not significant in hcat (#169) (@c42f)
- Fix for tokenization of consecutive nested multiline comments (#171) (@c42f)
- Fix = to kw conversion in
x[a, b; i=j](#173) (@c42f) - Fixes for parameters blocks in Expr(:curly) (#174) (@c42f)
- Improve Expr comparison code for registry testing (#175) (@c42f)
- Emit sensible errors for invalid operator tokens (#176) (@c42f)
- Allow the syntax
import A.:xforimport A.x(#177) (@c42f) - Fix lowering of
@.to@__dot__inusing A: @.(#178) (@c42f) - Fix deindentation with triple strings like
"""\n$x a"""(#179) (@c42f) - Fixes for General registry testing (#181) (@c42f)
- Support for running JuliaSyntax on Julia 1.0 (#182) (@c42f)