Skip to content

Tags: JuliaLang/JuliaSyntax.jl

Tags

v1.0.2

Toggle v1.0.2's commit message
[Diff since v1.0.1](v1.0.1...v1.0.2)

v1.0.1

Toggle v1.0.1's commit message
[Diff since v1.0.0](v1.0.0...v1.0.1)

v1.0.0

Toggle v1.0.0's commit message
[Diff since v0.4.10](v0.4.10...v1.0.0)

See code for breaking changes.

**Merged pull requests:**
- Remove `Base.convert` methods between `AbstractString` and `Kind` (#500) (@fredrikekre)
- Fix serialization of kinds with multibyte chars (#501) (@fredrikekre)
- Don't assume that `SubString` has `pointer` and copy instead (#506) (@LilithHafner)
- fix typos (#508) (@spaette)
- https in readme (#510) (@spaette)
- Parse docstrings within structs as `K"doc"` (#511) (@c42f)
- Fix `incomplete_tag` generation with trailing whitespace (#518) (@c42f)
- Add `TRAILING_COMMA_FLAG` to distinguish `(a,b)` vs `(a,b,)` (#521) (@c42f)
- Make left hand side of `->` parse as a tuple of arguments (#522) (@c42f)
- Parse non-syntactic operator tokens as `K"Identifier"` kind (#523) (@c42f)
- Add U+1F8B2 🢲 as an operator (#525) (@pthariensflame)
- Fix `SyntaxNode->Expr` conversion with SubString source code (#528) (@c42f)
- AST: Use a single kind `K"op="` for updating assignments (#530) (@c42f)
- Bump version to 1.0.0 (#531) (@c42f)

**Closed issues:**
- improve error message for `new` missing type parameters. (#431)
- Release 1.0.0 (#472)
- Remap operator tokens to `K"Identifier"` during parsing (#474)
- Failed to parse markdown doc string (#503)
- Error: JuliaSyntax parser failed — falling back to flisp! (#505)
- Regression in incomplete_tag (#512)
- function call lacking argument (#514)
- wrong line number when line ends with a semi-colon (#517)
- StackOverflowError from VS Code extension telemetry (#520)
- Got this error  Error: JuliaSyntax parser failed — falling back to flisp! │  │ This is not your fault. Please submit a bug report to https://github.com/JuliaLang/JuliaSyntax.jl/issues │  │   exception = │  │    StackOverflowError: (#527)
- Julia Crashed in Execution of Generated Symbolic Function. (#529)

v0.4.10

Toggle v0.4.10's commit message
[Diff since v0.4.9](v0.4.9...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; 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

Toggle v0.4.9's commit message
## JuliaSyntax v0.4.9

[Diff since v0.4.8](v0.4.8...v0.4.9)


**Merged pull requests:**
- Update docs (#400) (@hyrodium)
- Delete unused down option from parse_docstring (#430) (@LilithHafner)
- 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)
- Hashing fixup, equality support, and serialization support (#452) (@LilithHafner)
- Cut back on CI on 1.9 (#453) (@LilithHafner)
- Cleanup CI (#454) (@LilithHafner)
- Fix emitting comments followed by `\r\n` (#455) (@fredrikekre)
- Add the VS Code settings file to .gitignore (#459) (@davidanthoff)
- Fix tokenization of consecutive `\r\n` line endings (#460) (@fredrikekre)
- Allow `Kind`s to be registered by packages outside JuliaSyntax (#461) (@c42f)
- Fix parsing of `-1::Int` - signed literals with type assertions (#462) (@c42f)
- Move overload of Base.range() to JuliaSyntax.byte_range() (#463) (@c42f)
- Define `numchildren()` function (#464) (@c42f)
- Set version on main branch to 1.0.0-DEV. (#467) (@fredrikekre)
- Backport release 0.4 (#468) (@fredrikekre)
- Generic `sourcefile()` function (#469) (@c42f)

**Closed issues:**
- Stack overflow when parsing 20k consecutive + signs (#415)
- Don't define `Base.range(::SyntaxNode)` (#417)
- 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)
- GreenNode equality and hashing mismatch (#449)
- `SyntaxNode`s are never equal (#450)
- serialization support (#451)

v0.4.8

Toggle v0.4.8's commit message
## JuliaSyntax v0.4.8

[Diff since v0.4.7](v0.4.7...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

Toggle v0.4.7's commit message
## JuliaSyntax v0.4.7

[Diff since v0.4.6](v0.4.6...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't `bump()` them (#371) (@c42f)
- handle ZWJ and emoji sequences, don't break identifiers within graphemes (#372) (@stevengj)
- 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)

**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

Toggle v0.4.6's commit message
## JuliaSyntax v0.4.6

[Diff since v0.4.5](v0.4.5...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 an `Expected ','` would be prefred (#321)
- Rethinking the `.` AST (#324)
- `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)
- Add public keyword (#320) (@LilithHafner)
- AST: Rearrange `do` to sit inside `call`/`macrocall` (#322) (@c42f)
- Fix parse error with broken do syntax (#323) (@c42f)
- AST: parse `a.b` as `(. a b)` (#325) (@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

Toggle v0.4.5's commit message
## JuliaSyntax v0.4.5

[Diff since v0.4.4](v0.4.4...v0.4.5)



**Merged pull requests:**
- Fixes for `SourceFile` byte offsets (#311) (@c42f)

v0.4.4

Toggle v0.4.4's commit message
## JuliaSyntax v0.4.4

[Diff since v0.4.3](v0.4.3...v0.4.4)


**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)