[package]
edition = "2024"
rust-version = "1.92"
name = "perl-parser"
version = "0.12.2"
authors = ["Steven Zimmerman, CPA <git@effortlesssteven.com>"]
build = false
include = [
"src/**",
"features_sot.toml",
"Cargo.toml",
"README.md",
"LICENSE*",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Native Perl parser (v3) — recursive descent with Tree-sitter-compatible AST, semantic analysis, and LSP provider engine"
homepage = "https://github.com/EffortlessMetrics/perl-lsp"
documentation = "https://docs.rs/perl-parser"
readme = "README.md"
keywords = [
"perl",
"parser",
"ast",
"lsp",
"semantic-analysis",
]
categories = [
"parsing",
"development-tools",
"text-editors",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/EffortlessMetrics/perl-lsp"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
cli = []
constant-advanced = []
crash-repros = []
default = [
"workspace",
"lsp-compat",
]
doc-coverage = []
error-classifier-v2 = []
experimental-features = []
expose_lsp_test_api = []
incremental = [
"anyhow",
"perl-incremental-parsing",
]
lsp-advanced = []
lsp-compat = [
"lsp-types",
"perl-workspace-index/lsp-compat",
"perl-tdd-support/lsp-compat",
]
lsp-ga-lock = []
modernize = ["perl-refactoring/modernize"]
package-qualified = []
parser-extras = []
qw-variants = []
semantic-phase2 = []
slow_tests = []
substitution-advanced = []
test-performance = []
utf16-complete = []
workspace = ["perl-workspace-index/workspace"]
workspace_refactor = ["perl-refactoring/workspace_refactor"]
[lib]
name = "perl_parser"
path = "src/lib.rs"
doctest = false
[[bin]]
name = "perl-parse"
path = "src/bin/perl-parse.rs"
required-features = ["cli"]
[dependencies.lsp-types]
version = "0.97.0"
optional = true
[dependencies.perl-dead-code]
version = "0.12.2"
[dependencies.perl-incremental-parsing]
version = "0.12.2"
optional = true
[dependencies.perl-keywords]
version = "0.12.2"
[dependencies.perl-lexer]
version = "0.12.2"
[dependencies.perl-lsp-code-actions]
version = "0.12.2"
[dependencies.perl-lsp-completion]
version = "0.12.2"
[dependencies.perl-lsp-diagnostics]
version = "0.12.2"
[dependencies.perl-lsp-inlay-hints]
version = "0.12.2"
[dependencies.perl-lsp-navigation]
version = "0.12.2"
[dependencies.perl-lsp-rename]
version = "0.12.2"
[dependencies.perl-lsp-semantic-tokens]
version = "0.12.2"
[dependencies.perl-lsp-tooling]
version = "0.12.2"
[dependencies.perl-parser-core]
version = "0.12.2"
[dependencies.perl-refactoring]
version = "0.12.2"
[dependencies.perl-semantic-analyzer]
version = "0.12.2"
[dependencies.perl-tdd-support]
version = "0.12.2"
[dependencies.perl-workspace-index]
version = "0.12.2"
[dependencies.regex]
version = "1.12.2"
[dependencies.ropey]
version = "1.6.1"
[dependencies.rustc-hash]
version = "2.1.2"
[dependencies.serde_json]
version = "1.0.149"
[dependencies.url]
version = "2.5.8"
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.walkdir]
version = "2.5.0"
[target."cfg(unix)".dependencies.anyhow]
version = "1.0.102"
optional = true
[target."cfg(unix)".dependencies.nix]
version = "0.31.1"
features = ["signal"]
[lints.clippy]
collapsible_if = "allow"
dbg_macro = "deny"
expect_used = "deny"
panic = "deny"
todo = "deny"
unimplemented = "deny"
unwrap_used = "deny"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(ci)",
'cfg(feature, values("slow_tests"))',
]