Skip to content

Releases: JuliaLang/JuliaSyntax.jl

v0.4.10

02 Sep 09:13
09576ca
Compare
Choose a tag to compare

JuliaSyntax v0.4.10

Diff since v0.4.9

Merged pull requests:

  • Remove unused is_error import in Tokenize module (#420) (@ericphanson)
  • add more specific error for invalid identifier start chars (#421) (@JeffBezanson)
  • add "some warnings detected" to ParseError printing when all problems are warnings (#423) (@ericphanson)
  • Change AST for iterations to use iteration kind (#433) (@c42f)
  • Allow macrocall in function def syntax (#456) (@Keno)
  • Use K"function" for short form function AST (#466) (@c42f)
  • Cleanup/document source code access functions + add filename() (#470) (@c42f)
  • Add a pile of documentation for expression predicates (#471) (@c42f)
  • Make using :A an error; fix using A: (..) warning (#477) (@c42f)
  • Allow any of ≔ β©΄ ≕ as identifiers (#478) (@c42f)
  • Fixes for AST reference documentation (#479) (@c42f)
  • Fix premature lowering of cmd strings (#480) (@c42f)
  • Fix bug converting cmd string macros to Expr (#482) (@c42f)
  • Rename haschildren() to is_leaf() (#483) (@c42f)
  • Clean up and document syntax tree child access API + mark public API (#484) (@c42f)
  • Tool to bump JuliaSyntax version in Base (#485) (@c42f)
  • Implement char_range() to respect string indices (#486) (@c42f)
  • Replace K"true" and K"false" with K"Bool" (#488) (@c42f)
  • Show leaf Kinds when printing syntax trees (#489) (@c42f)
  • add some small type inference improvements to allow for some basic static compiling (#491) (@KristofferC)
  • Terminate :statement parsing at newlines (#493) (@timholy)
  • Consistent attachment of syntax trivia to top level statements (#495) (@c42f)
  • Disallow trailing junk in generators (#497) (@c42f)
  • Fix is_number() predicate to include Bool and clean up (#498) (@c42f)
  • Backports for release 0.4.10 (#499) (@fredrikekre)

Closed issues:

  • Parentheses not required warning in using A: (..) (#350)
  • ≔ (\coloneq) generates "invalid identifier" error (#405)
  • Parsing of generators allows skipping a comma (#407)
  • Feature request: do with infix calls (#414)
  • Detect and tip when prompt is entered erroneously (#427)
  • Fix premature lowering of K"core_@cmd" etc (#438)
  • char_range() function for indexing into source strings (#457)
  • AST of short form functions (#465)
  • using :A now tries to load package A while it used to error (#473)
  • Towards getting JuliaSyntax to work with --trim and static binaries. (#490)
  • Makie file is not parseable by JuliaSyntax.jl? (#492)
  • wrong line numbers with lines ending in ; (#494)
  • "(a;b;c)" not parsed as having parens node (#496)

v0.4.9

21 Jul 06:44
7e444ae
Compare
Choose a tag to compare

JuliaSyntax v0.4.9

Diff since v0.4.8

Merged pull requests:

Closed issues:

  • Stack overflow when parsing 20k consecutive + signs (#415)
  • Failing unit tests on Julia nightly (#424)
  • Generator syntax incorrectly parses extra code vs Julia 1.6 parser (#428)
  • JuliaSyntax parser failed - falling back to flisp! (#435)
  • Tests fail on Julia 1.10 and 1.11-rc (#444)

v0.4.8

06 Dec 23:58
Compare
Choose a tag to compare

JuliaSyntax v0.4.8

Diff since v0.4.7

Merged pull requests:

  • Fix bug parsing unary subtypes with newlines (#393) (@c42f)
  • Fix crashes due to lexing ambiguity of string delimiters (#394) (@c42f)
  • Improve error message for missing closing tokens (#397) (@c42f)

Closed issues:

  • better error message for missing comma. (#313)
  • Underbracket placement (#349)
  • Excessive error messages for incomplete ternary (#357)
  • BoundsError when parsing expression with unbalanced parenthesis (#389)
  • Parser fails upon encountering x = i m.:(var"t") (#390)
  • Parser fails upon encountering x.args[1] for x in kw (#391)
  • "a +\n\n>:" and related expressions with >: parse incorrectly (#392)

v0.4.7

12 Nov 09:52
Compare
Choose a tag to compare

JuliaSyntax v0.4.7

Diff since v0.4.6

Merged pull requests:

  • Fix typo in docstring (#347) (@LilithHafner)
  • Add a "not your fault" hint to the fallback to flisp error (#358) (@LilithHafner)
  • Fix SyntaxNode->Expr conversions of unterminated cmd strings (#367) (@c42f)
  • Better recovery when parsing empty characters (#369) (@c42f)
  • Always emit() nodes with zero children, don't bump() them (#371) (@c42f)
  • Fix diagnostics printing when pwd() doesn't exist (#373) (@c42f)
  • Fix Expr conversion of erroneous operator dot call (#374) (@Liozou)
  • Generalize fuzz testing tools (#379) (@c42f)
  • Fix crash with empty macro name when parsing "@(" (#382) (@c42f)
  • Fix error in hooks when parsing incomplete x. (#385) (@c42f)
  • Disallow newline between contextual keyword pairs in parentheses (#386) (@c42f)
  • Fix highlighting of ranges which start with non-ascii chars (#387) (@c42f)
  • Fix crash when parsing malformed function(where (#388) (@c42f)
  • Add public keyword (#320) (@LilithHafner )

Closed issues:

  • "JuliaSyntax parser failed β€” falling back to flisp!" for unexpected character in do block (#340)
  • JuliaSyntax parser errors: BoundsError: attempt to access empty SubString{String} at index [0] (#339)
  • greedy=false parsing errors error (#328)
  • Internal error parsing malformed expression (#330)
  • Markdown parsing of $) fails in 1.10alpha (#332)
  • MethodError: no method matching isless(::Int64, ::Nothing) (#341)
  • Cannot parse half brackets in doctests (#342)
  • Parser fails on i for i in x (#343)
  • JuliaSyntax parser failed when running Documenter on Julia master (#351)
  • Parser failure in docstring (#352)
  • Internal error parsing corrupt expression (#353)
  • AutoPR? (#356)
  • pwd might not exist causing errors when trying to print diagnostics (#359)
  • Error with invalid do (#360)
  • Parser fails when encountering while in incomplete function call (#361)
  • Syntax coloring for doctests (#362)
  • Error message could suggest comma instead of ) (#363)
  • Parser fails when encountering let block inside incorrectly-terminated let block (#364)
  • Unexpected ParseError with import Makie: (..) (#370)
  • Potential regression in JuliaSyntax parser failure error message (#375)
  • Bug in tokenizer for certain floating point identifier syntax (#378)
  • @m(x a=[b for c in d]) crashes parser (#383)

v0.4.6

13 Aug 07:17
Compare
Choose a tag to compare

JuliaSyntax v0.4.6

Diff since v0.4.5

Closed issues:

  • Missing links in the README (#312)
  • Crash formatting errors arising from parseatom (#314)
  • Internal error for missing brace (#315)
  • What to do about "do macrocalls" (#319)
  • Expected ')' suggestion where maybe an Expected ',' would be prefred (#321)
  • bump_glue next_byte disregard num_tokens (#331)
  • Docstrings on function call are strange (#335)

Merged pull requests:

  • Fix diagnostics covering trailing text (#317) (@c42f)
  • Fix parse error with broken do syntax (#323) (@c42f)
  • Fix code block indentation (#326) (@savq)
  • Make SourceFile.code infer concretely (#337) (@timholy)
  • Remove num_tokens argument from bump_glue (#338) (@sunxd3)
  • Only show the first parse error (#344) (@c42f)

v0.4.5

20 Jun 11:45
Compare
Choose a tag to compare

JuliaSyntax v0.4.5

Diff since v0.4.4

Merged pull requests:

  • Fixes for SourceFile byte offsets (#311) (@c42f)

v0.4.4

17 Jun 05:53
Compare
Choose a tag to compare

JuliaSyntax v0.4.4

Diff since v0.4.3

Closed issues:

  • Missing docstrings in docs (#300)
  • Disallow tuples as atoms in interpolation syntax (#305)

Merged pull requests:

  • Minor tweaks to remove method ambiguities and argument ambiguities (#295) (@c42f)
  • Fix for short form function line numbers (#296) (@c42f)
  • Move docs from readme to docs and add a doc build (#297) (@c42f)
  • Add trailing line numbers to loops in Expr conversion (#298) (@c42f)
  • Small fix to make JuliaSyntax work when Int === Int32 (#299) (@c42f)
  • Add a few missing docstrings for API docs (#301) (@c42f)
  • Improvements to General registry test tools (#302) (@c42f)
  • Normalize global (x,y) syntax during Expr conversion (#303) (@c42f)
  • Allow parsing of custom string types in core parser hook (#304) (@c42f)
  • Add error for invalid string interpolation syntax (#306) (@c42f)
  • Also disallow bare generators in interpolation syntax (#307) (@c42f)
  • Parse function (:*=(f))() end syntax compatibly (#309) (@c42f)
  • Fix line numbers with source fragments (#310) (@c42f)

v0.4.3

24 May 23:47
Compare
Choose a tag to compare

JuliaSyntax v0.4.3

Diff since v0.4.2

Merged pull requests:

  • fix typo in readme README.md ? (#292) (@filtron)
  • Fix showerror to include backtraces (#293) (@c42f)
  • Throw Meta.ParseError from Meta.parse() in Julia 1.10 (#294) (@c42f)

v0.4.2

23 May 20:08
Compare
Choose a tag to compare

JuliaSyntax v0.4.2

Diff since v0.4.1

Merged pull requests:

  • Make invalid UTF-8 an error in comments and strings (#289) (@c42f)
  • Clean up fixed world age mechanism to use closures (#290) (@c42f)
  • Additional syntax tests from Base test/syntax.jl (#291) (@c42f)

v0.4.1

18 May 10:55
Compare
Choose a tag to compare

JuliaSyntax v0.4.1

Diff since v0.4.0

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 var identifier 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)