Ecosyste.ms: OpenCollective
An open API service for software projects hosted on Open Collective.
github.com/JuliaLang/JuliaSyntax.jl
The Julia compiler frontend
https://github.com/JuliaLang/JuliaSyntax.jl
When a missing closing token like `)`, `]` or `}` is encountered we want
the "Expected `)`" err...
There are some lexing ambituities in primes vs cmd delimiters. We break
these with a simple rul...
In expressions like `"a +\n\n<:"` the presence of `peek(ps, skip_newlines=true)` was
inconsiste...
When word operators are parsed as atoms (ie, identifiers), the kind
should be remapped as such....
This could cause the parser hook to crash on certain inputs.
57575350a2eb4031fe62ccee876d1c5ecd2475e6 authored about 1 year ago by Claire Foster <[email protected]>
Ensure that we never treat things like `"mutable\nstruct"` as a mutable
struct definition, even...
Also add another fuzzing tool
1351d70da624159115dcf3d5f0eb1e1764a9be34 authored about 1 year ago by Claire Foster <[email protected]>e3df852eabc03b2402dc3e4d638f3565d00691d1 authored about 1 year ago by Claire Foster <[email protected]>
This rearrangement allows us to fuzz test the hooks (which use the low
level parser API) as wel...
* handle ZWJ and emoji sequences
* forbid ZWNJ at end
* fix tests on Julia < 1.5
* asci...
05c594bdd2609b135098f2e1931c76200bd789fc authored about 1 year ago by Steven G. Johnson <[email protected]>48ddfc6cc754c4450ed234ca49afb5b347bdc591 authored about 1 year ago by Lionel Zoubritzky <[email protected]>
Computing the file URL for pretty printing using `abspath` can fail when
the current working di...
Cleanup weird cases where the parser would `bump()` interior nodes into
the output stream rathe...
Consume the trailing ' in empty characters '' for better error recovery
when `ignore_errors=tru...
Add a "not your fault" hint to the fallback to flisp error
b941fc083a524a063c53c24a9dad0d3461b85a03 authored about 1 year ago by Sebastian Pfitzner <[email protected]>Co-authored-by: Sebastian Pfitzner <[email protected]>
e621db48cc08bc87a6c7b90060f30c05945b7bda authored about 1 year ago by Lilith Orion Hafner <[email protected]>33cdcbecc22a4e30cb1e18c2db17bf504eaa23f1 authored about 1 year ago by Lilith Orion Hafner <[email protected]>
3621603f623e3e3fbc6586afce020f5a0d4e833a authored about 1 year ago by Claire Foster <[email protected]>
ff670b5c22f55e58a388df2ae6de448728d09f6e authored over 1 year ago by Lilith Hafner <[email protected]>
Fix typo in docstring
ca2b8e36a14078e94d57182b637060576fa2a700 authored over 1 year ago by Sebastian Pfitzner <[email protected]>a57f0937b714ae50d21b66f33b8b18d581c8b44c authored over 1 year ago by Lilith Orion Hafner <[email protected]>
2ec75c7f476686c43356b324115c6d3bd1100d7c authored over 1 year ago by Claire Foster <[email protected]>
Parser recovery commonly results in several errors which refer to much
the same location in the...
94bad1ae40a0a3c625d6d98ec820c447df4fcc2b authored over 1 year ago by Xianda Sun <[email protected]>
84ccafe9293efb643461995a5f4339ae5913612d authored over 1 year ago by Tim Holy <[email protected]>
Add public as a contextual keyword that is parsed as a keyword only when it is both at the top-l...
ad9b16681389dbe3f21a89897f7a86dec793f72a authored over 1 year ago by Lilith Orion Hafner <[email protected]>
The code block has to be indented at the same level as the list
elements, otherwise Documenter ...
`do` syntax is represented in `Expr` with the `do` outside the call.
This makes some sense synt...
I was working a bit on macro expansion - particularly `quote`
(quasiquote) expansion with `$` i...
5aad8126ac8380981ef8db75c01fea579956caff authored over 1 year ago by Claire Foster <[email protected]>
Add some links to external documents and update the status section a
bit. Fixes #312.
6da0fc487ad5af13fc4b1dd82679b4501a28c794 authored over 1 year ago by Claire Foster <[email protected]>
Diagnostics may sometimes cover trailing text which wasn't consumed. For example,
`parseatom(")...
8731bab86f14762cca8cf24224d8c7a6a89c21c5 authored over 1 year ago by Claire Foster <[email protected]>
Fixes for `SourceFile` byte offsets
c076e100074267ab49d3401f064805e5be5b9e52 authored over 1 year ago by Claire Foster <[email protected]>
This fixes a crash formatting error messages when core_parse_hook is
used to parse a piece of br...
fd9075d1220ed83110ca9d1cf1893e356231212f authored over 1 year ago by Claire Foster <[email protected]>
ec51994833d78f8c5525bc1647f448dfadc370c1 authored over 1 year ago by Claire Foster <[email protected]>
🏳️⚧️
06282a029ed4328a6839cfa6f81b41430a0ad5d6 authored over 1 year ago by Claire Foster <[email protected]>When parsing source code fragments incrementally with
* `Meta.parse(str, index)` or
* `parse...
Slightly modify the anonymous function arg list disambiguation rules so
that the function signa...
This should be the only other case which needs to be disallowed - the
reference parser uses par...
Commas and semicolons are not allowed within string interpolation
brackets. For example `"$(x, ...
The simplest method of doing this is to convert to String, so that's
what we do here, using inv...
The reference parser accepts this syntax and normalizes it eagerly. So
we should do the same ra...
* Use a separate directory for tar files vs unpacked packages
* Avoid crashing with overlong co...
c2e3a40a14418ce2dad3728f5b8498abed406326 authored over 1 year ago by Claire Foster <[email protected]>
Also add 32 bit arches to CI.
f6431b842645b3c42b18168326d7215f3846310b authored over 1 year ago by Claire Foster <[email protected]>
These trailing line numbers are used to attribute coverage to the `end`
of the loop for parts o...
e7fe3526666294bb587a8e180c9b49c071172314 authored over 1 year ago by Claire Foster <[email protected]>
+ extract docstrings from the public API and get them onto an API
reference page.
Ensure we add short form function line numbers to the Expr when there's
a block on the right ha...
These were harmless enough, but should satisfy the tests in Base.
Also remove a display_error...
4353bd2fd245007dab3f7496d3c90ada78d6becb authored over 1 year ago by Claire Foster <[email protected]>iick 😬
671841b018d198937e3902ab0694d772ee312e4d authored over 1 year ago by Claire Foster <[email protected]>40c7a88bc29b9730e4c780cb675ed57c6d053d09 authored over 1 year ago by Claire Foster <[email protected]>
New hooks added in https://github.com/JuliaLang/julia/pull/46372 allow
us to
* Add `JuliaSyn...
890a62b2b552a0d2496be870c9c9e157819f9e61 authored over 1 year ago by Claire Foster <[email protected]>Why this method was there, I don't know!
f5b287a666b8c9bbe3e8deab2d1770a0bea1d065 authored over 1 year ago by c42f <[email protected]>fix typo in readme README.md ?
37c53b1de43ec2fc01ad8ee1fe55dfa44edaefea authored over 1 year ago by Sebastian Pfitzner <[email protected]>13c8ad2093dea886dbdd7b55bd42cb8aa48f629e authored over 1 year ago by Filip Tronarp <[email protected]>
2e2837acc12acfb38e9e225171987f76fd08317c authored over 1 year ago by c42f <[email protected]>
abafa25b909a59eaedd1d76d62be8601632504e3 authored over 1 year ago by c42f <[email protected]>
Using a closure here to hold the fixed world age seems nicer than a
global within the JuliaSynt...
This is the behavior of the reference parser.
200145f1c4b14328820b860d010b523cd2481c61 authored over 1 year ago by c42f <[email protected]>bbba1ef546a6f9f262e6a07e9164cd9d71f4c5a2 authored over 1 year ago by c42f <[email protected]>
Disallow unbalanced Unicode bidirectional formatting directives within
strings and comments, to...
Oops! Accidentally commented out previously :-(
6e3782fea5a97b841dd7d18b54e4642ac6041ef8 authored over 1 year ago by c42f <[email protected]>Ported from equivalent errors in the reference parser
385beb161c2ffe12c847dda2a0e9928f51c7b4cc authored over 1 year ago by c42f <[email protected]>
Disallow syntax like `"a"begin end`. Add a few more tests for
juxtapositon.
* Bump trivia after `=` so we see the correct line for functions in
multiple-assignments like...
b5971af97c01b3ff734df76f735cf4a1b598f3c4 authored over 1 year ago by c42f <[email protected]>
Expressions like `+(;;)` are ambiguous between parsing as prefix calls
with an empty block, vs ...
When encountering a toplevel error, the reference parser
* truncates the top level expression a...
Copy some peculiar behaviors of the reference parser for compatibility:
* Top level blocks like...
This off-by-one error prevented incomplete detection from working for
trailing single-character...
See upstream PR https://github.com/JuliaLang/julia/pull/49559
cb0a62f43ec0aac9d2d5a0ea851a5a70060c348c authored over 1 year ago by c42f <[email protected]>Also add some more direct GreeNode tests
2a0efadc0008ad6b6f35800bd72b92bb437b18d7 authored over 1 year ago by c42f <[email protected]>53dd9d3b869627870113273b04be77fedeb412f2 authored over 1 year ago by c42f <[email protected]>
See upstream PRs
* https://github.com/JuliaLang/julia/pull/47647
- `⟇` `\veedot` operato...
Cleanup and fix operator predicates
d79b9e9642f99d484c654a992846b77c44faaf69 authored over 1 year ago by c42f <[email protected]>cddc1976fdf01b64abc70bf0e6670065c0efdec2 authored over 1 year ago by c42f <[email protected]>
Now that this code is much cleaner and shorter it makes sense to have
the whole lexer in one file.
Remove big lists of operator kinds and inscrutable hardcoded unicode
ranges in predicates. Inste...
69ec1d98e0eae4ba173bf8e4ded460f8dcae78e6 authored over 1 year ago by c42f <[email protected]>
7f496146aa539baab6b8627437edc7e4beae2d0e authored over 1 year ago by c42f <[email protected]>
8f8ba0dd5d19b61ff5b0fa3fb9eaaf2b5db65c3c authored over 1 year ago by c42f <[email protected]>
b1c6d541ee41b0451d151a2074ca2a00f6c6e59c authored over 1 year ago by c42f <[email protected]>
Another approach to fix #239.
Elide all `K"parens"` nodes from the `SyntaxNode` tree, replaci...
3bd6dff679eeee47c3ff79cca65725af32a1a6d9 authored over 1 year ago by c42f <[email protected]>
Generalize `build_tree` so that we can more easily construct tree types
other than `GreenNode`....
975cd1d74947ca8b4cef8421d4f8d60762bfcc20 authored over 1 year ago by c42f <[email protected]>
e16c739d8662f3869d17a0cb8c2412dc34167958 authored over 1 year ago by c42f <[email protected]>
The combined cartesian/flattened generator syntax is a very unusual use
case found in only one ...
This allows `x where T` to be distinguished from `x where {T}` easily
which should be quite hel...
* Avoid crash in heuristic Expr comparisons
* reduce_tree(text) returns text not a tree
Fixes #114
7445401c9013ec9300b409deea3dd00791861c76 authored over 1 year ago by c42f <[email protected]>Fix #110
96c9440fa12c507a60c0be5c51942cec02d258dc authored over 1 year ago by c42f <[email protected]>Closes #241
4fb97b8b0a1b0f0c431cea73892d4fc37b68903c authored over 1 year ago by c42f <[email protected]>694d7c222630b560956918d1fb704c605d904379 authored over 1 year ago by Kristoffer Carlsson <[email protected]>
3490e1527e8a773d20856489ea3631ec8861c82e authored over 1 year ago by Kristoffer Carlsson <[email protected]>
4381fa6e2e8276ccd4d9b989316e926b1e163cea authored over 1 year ago by Kristoffer Carlsson <[email protected]>
52a976ec2024540da32b25c9db2e2e5a2cc2bcd4 authored over 1 year ago by Kristoffer Carlsson <[email protected]>