Skip to content

internal: upgrade chumsky to 0.10 in lexer #5223

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 59 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
37e654a
refactor: Prepare lexer for chumsky 0.10 update
max-sixty Apr 1, 2025
7545809
stubs
max-sixty Apr 1, 2025
ba0e839
compiles successfully
max-sixty Apr 1, 2025
6d59333
Phase II: Implement minimal chumsky 0.10 lexer
max-sixty Apr 1, 2025
3c1a23f
wip, currently big func we need to split up
max-sixty Apr 1, 2025
2559658
split up a bit
max-sixty Apr 1, 2025
c322be2
instructions for running tests
max-sixty Apr 1, 2025
9792ed9
midway through
max-sixty Apr 1, 2025
1d16a09
Phase II: Implement parser combinators structure for chumsky 0.10
max-sixty Apr 1, 2025
9bc69e9
remove chumsky 10 test
max-sixty Apr 1, 2025
d9a8cda
start using actual combinators
max-sixty Apr 1, 2025
52fe1ac
.
max-sixty Apr 1, 2025
a64ce5f
.
max-sixty Apr 1, 2025
b13dc07
fix errors outside chumsky_0_10.rs
max-sixty Apr 1, 2025
4f9c9af
getting there
max-sixty Apr 1, 2025
c0b5ae4
Migrate lexer to Chumsky 0.10
max-sixty Apr 1, 2025
b43161b
Merge branch 'chumsky-10' into chumsky-orig
max-sixty Apr 1, 2025
284eb8d
more progress
max-sixty Apr 1, 2025
b67a2ec
tests pass on old chumsky
max-sixty Apr 1, 2025
e556e2b
Merge branch 'chumsky-orig' into chumsky-10
max-sixty Apr 1, 2025
c022613
.
max-sixty Apr 1, 2025
171bc41
`--check`
max-sixty Apr 1, 2025
51510e1
better span handling
max-sixty Apr 2, 2025
600d6a2
.
max-sixty Apr 2, 2025
a149785
don't accept resuts with feature enabled
max-sixty Apr 2, 2025
94cc596
.
max-sixty Apr 2, 2025
f0a35fe
pretty much working now!
max-sixty Apr 2, 2025
eeaf8fe
update instructions
max-sixty Apr 2, 2025
7d2165a
remove final conditional compilation
max-sixty Apr 2, 2025
eed2705
possibly better annotations
max-sixty Apr 2, 2025
8bb3ff8
Replace my_filter with filter in chumsky 0.10 implementation
max-sixty Apr 2, 2025
149fc4d
Use any().filter pattern for character filtering in chumsky 0.10
max-sixty Apr 2, 2025
50c4a99
fmt
max-sixty Apr 2, 2025
bcd99bb
better impl
max-sixty Apr 2, 2025
8115cef
annotation tests
max-sixty Apr 2, 2025
df08866
slightly better errors
max-sixty Apr 2, 2025
cdc2bb5
Improve error handling in chumsky 0.10 lexer
max-sixty Apr 2, 2025
82ce6af
get better errors
max-sixty Apr 2, 2025
82cb8e3
better quotes
max-sixty Apr 2, 2025
733a0de
linting
max-sixty Apr 2, 2025
169c76c
couple of clean-ups & todos
max-sixty Apr 2, 2025
13ff9aa
Replace map(|_| ...) with to(...) in chumsky_0_10 lexer
max-sixty Apr 2, 2025
3065e57
Reduce duplication in chumsky_0_10 lexer
max-sixty Apr 2, 2025
b84d9aa
Preserve important comments from chumsky_0_9.rs
max-sixty Apr 2, 2025
bede97c
max-sixty Apr 2, 2025
8ba3345
max-sixty Apr 2, 2025
fc0454a
some changes based on feedback
max-sixty Apr 2, 2025
5c51388
remove confusing code for claude
max-sixty Apr 2, 2025
3a7918d
consolidation
max-sixty Apr 3, 2025
7630df0
max-sixty Apr 3, 2025
6e3af9f
max-sixty Apr 3, 2025
2c022a7
max-sixty Apr 3, 2025
4ca12ce
Merge branch 'main' into chumsky-10
max-sixty Apr 3, 2025
aeb2a55
Merge branch 'main' into chumsky-10
max-sixty Apr 3, 2025
ccd00ee
Merge branch 'main' into chumsky-10
max-sixty Apr 3, 2025
ad5db91
wip quotes
max-sixty Apr 4, 2025
6545890
commit the breaking string issue
max-sixty Apr 4, 2025
5018a5a
Merge branch 'main' into chumsky-10
max-sixty Apr 4, 2025
c7e450a
max-sixty Apr 4, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/actions/build-prqlc-c/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ runs:
echo 'CC=aarch64-linux-gnu-gcc' >>"$GITHUB_ENV"

- name: cargo build
uses: clechasseur/rs-cargo@v3
uses: clechasseur/rs-cargo@v2
with:
command: build
args:
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/build-prqlc/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ runs:
echo 'CC=aarch64-linux-gnu-gcc' >>"$GITHUB_ENV"

- name: cargo build
uses: clechasseur/rs-cargo@v3
uses: clechasseur/rs-cargo@v2
with:
command: build
# We previously had `--package=prqlc` for all, but this caches much
Expand Down
2 changes: 1 addition & 1 deletion .github/actions/time-compilation/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ runs:
shell: bash
run: rm -rf target/cargo-timings
- name: 🏭 Compile
uses: clechasseur/rs-cargo@v3
uses: clechasseur/rs-cargo@v2
with:
command: build
args: --timings --all-targets
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/lint-megalinter.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ jobs:

# You can override MegaLinter flavor used to have faster performances
# More info at https://megalinter.io/flavors/
uses: oxsecurity/megalinter@v8.5.0
uses: oxsecurity/megalinter@v8.3.0

id: ml

Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/nightly.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- uses: clechasseur/rs-cargo@v3
- uses: clechasseur/rs-cargo@v2
with:
command: bench
# GH Actions is fairly noisy, so the precise details don't matter that
Expand Down Expand Up @@ -89,11 +89,11 @@ jobs:
crate: cargo-udeps
# Once with all targets, once without, to find anything that should be in
# `dev` but is more general.
- uses: clechasseur/rs-cargo@v3
- uses: clechasseur/rs-cargo@v2
with:
command: udeps
args: --all-targets
- uses: clechasseur/rs-cargo@v3
- uses: clechasseur/rs-cargo@v2
with:
command: udeps

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ jobs:
exit 1
fi
- name: 📦 Build .deb package
uses: jiro4989/build-deb-action@v4
uses: jiro4989/build-deb-action@v3
with:
package: prqlc
package_root: .debpkg
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-prqlc-c.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
save-if: ${{ github.ref == 'refs/heads/main' }}
shared-key: lib
- name: Build
uses: clechasseur/rs-cargo@v3
uses: clechasseur/rs-cargo@v2
with:
command: build
# Currently requires a release build; would be useful to allow a debug build.
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/test-rust.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ jobs:
# We split up the test compilation as recommended in
# https://matklad.github.io/2021/09/04/fast-rust-builds.html
- name: 🏭 Compile
uses: clechasseur/rs-cargo@v3
uses: clechasseur/rs-cargo@v2
with:
command: test
args: >
Expand All @@ -111,7 +111,7 @@ jobs:
timeout: 60000
if: ${{ contains(inputs.features, 'test-dbs-external') }}
- name: 📋 Test
uses: clechasseur/rs-cargo@v3
uses: clechasseur/rs-cargo@v2
with:
command: insta
# Here, we also add:
Expand All @@ -125,7 +125,7 @@ jobs:
'--unreferenced=auto' || '' }} ${{ inputs.target !=
'wasm32-unknown-unknown' && '--test-runner=nextest' || '' }}
- name: 📎 Clippy
uses: clechasseur/rs-cargo@v3
uses: clechasseur/rs-cargo@v2
with:
command: clippy
# Note that `--all-targets` doesn't refer to targets like
Expand All @@ -135,7 +135,7 @@ jobs:
--all-targets --target=${{ inputs.target }} --no-default-features
--features=${{ inputs.features }} -- -D warnings
- name: ⌨️ Fmt
uses: clechasseur/rs-cargo@v3
uses: clechasseur/rs-cargo@v2
with:
command: fmt
args: --all --check
Expand All @@ -144,7 +144,7 @@ jobs:
# https://github.com/duckdb/duckdb-rs/issues/179#issuecomment-1710986020.
if:
inputs.nightly == 'true' && inputs.target != 'wasm32-unknown-unknown'
uses: clechasseur/rs-cargo@v3
uses: clechasseur/rs-cargo@v2
with:
command: doc
# Only run with deps on nightly, since it's much slower, and so far™
Expand All @@ -159,7 +159,7 @@ jobs:
if:
${{ github.ref == 'refs/heads/main' && steps.cache.outputs.cache-hit
== 'false' }}
uses: clechasseur/rs-cargo@v3
uses: clechasseur/rs-cargo@v2
with:
command: build
args:
Expand Down
Loading
Loading