forked from frantisek-heca/pxp
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Justfile
61 lines (47 loc) · 2.27 KB
/
Justfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
test:
cargo test --lib --bins --tests
tokenise +args:
RUSTFLAGS=-Awarnings cargo run -q --package pxp-internal --bin tokenise -- {{args}}
parse +args:
RUSTFLAGS=-Awarnings cargo run -q --package pxp-internal --bin parse -- {{args}}
multi-thread-parse +args:
RUSTFLAGS=-Awarnings cargo run -q --package pxp-internal --bin multi-thread-parse -- {{args}}
node-finder +args:
RUSTFLAGS=-Awarnings cargo run -q --package pxp-internal --bin node-finder -- {{args}}
infer +args:
RUSTFLAGS=-Awarnings cargo run -q --package pxp-internal --bin infer -- {{args}}
pls:
cargo build --package pls
just --working-directory ./crates/pls/editors/vscode --justfile=./crates/pls/editors/vscode/Justfile package-install
generate-ast:
php ./meta/scripts/generate-ast.php
cargo fmt --package pxp-ast
generate-visitor:
php ./meta/scripts/generate-visitor.php
cargo fmt --package pxp-ast
generate-node-finder:
php ./meta/scripts/generate-node-finder.php
cargo fmt --package pxp-node-finder
bench-parser:
cargo build --release --bin parse
hyperfine --warmup=1 --runs=1 \
--command-name="PHP (AST Ext)" "php ./benches/parsing/core.php ./playground/framework" \
--command-name="PXP (Release)" "./target/release/parse ./playground/framework --no-output"
bench-lexer:
cargo build --release --bin tokenise
hyperfine --warmup=1 --runs=1 \
--command-name="PHP (Core)" "php ./benches/lexing/php.php ./playground/framework" \
--command-name="PHP (Core + Opcache)" "php -d opcache.enable_cli=1 ./benches/lexing/php.php ./playground/framework" \
--command-name="PXP (Release)" "./target/release/tokenise ./playground/framework --no-output"
bench-indexer:
cargo build --release --bin index
hyperfine --warmup=1 --runs=1 \
--command-name="Indexer (Release)" "./target/release/index ./playground/framework --no-output"
bench-visitor:
cargo build --release --bin visit
hyperfine --warmup=1 --runs=1 \
--command-name="Visitor (Release)" "./target/release/visit ./playground/framework --no-output"
bench-node-visitor:
cargo build --release --bin node-visit
hyperfine --warmup=1 --runs=1 \
--command-name="Node Visitor (Release)" "./target/release/node-visit ./playground/framework --no-output"