Releases: JuliaLang/JuliaSyntax.jl
Releases Β· JuliaLang/JuliaSyntax.jl
v0.4.10
JuliaSyntax v0.4.10
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; fixusing 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()
tois_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 includeBool
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
JuliaSyntax v0.4.9
Merged pull requests:
- Update
Base.peek
docstring (#440) (@nhz2) - Run CI on 1.9 and prerelease (#445) (@LilithHafner)
- Fix corpus tests on Julia 1.10+ (#447) (@LilithHafner)
- Fix tests (#448) (@LilithHafner)
- Cut back on CI on 1.9 (#453) (@LilithHafner)
- Fix emitting comments followed by
\r\n
(#455) (@fredrikekre) - Fix tokenization of consecutive
\r\n
line endings (#460) (@fredrikekre) - Fix parsing of
-1::Int
- signed literals with type assertions (#462) (@c42f) - Backport release 0.4 (#468) (@fredrikekre)
Closed issues:
v0.4.8
JuliaSyntax v0.4.8
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
JuliaSyntax v0.4.7
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'tbump()
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-terminatedlet
block (#364) - Unexpected
ParseError
withimport 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
JuliaSyntax v0.4.6
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 anExpected ','
would be prefred (#321)bump_glue
next_byte
disregardnum_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 frombump_glue
(#338) (@sunxd3) - Only show the first parse error (#344) (@c42f)
v0.4.5
JuliaSyntax v0.4.5
Merged pull requests:
v0.4.4
JuliaSyntax v0.4.4
Closed issues:
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 duringExpr
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
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
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)