[package]
edition = "2024"
name = "php-lsp"
version = "0.2.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "A PHP Language Server Protocol implementation"
readme = "README.md"
license = "MIT"
repository = "https://github.com/jorgsowa/php-lsp"
[features]
dhat-heap = ["dep:dhat"]
[lib]
name = "php_lsp"
path = "src/lib.rs"
[[bin]]
name = "mem_index"
path = "src/bin/mem_index.rs"
[[bin]]
name = "php-lsp"
path = "src/main.rs"
[[test]]
name = "e2e_call_hierarchy"
path = "tests/e2e_call_hierarchy.rs"
[[test]]
name = "e2e_code_action_resolve"
path = "tests/e2e_code_action_resolve.rs"
[[test]]
name = "e2e_code_actions"
path = "tests/e2e_code_actions.rs"
[[test]]
name = "e2e_completion"
path = "tests/e2e_completion.rs"
[[test]]
name = "e2e_concurrent"
path = "tests/e2e_concurrent.rs"
[[test]]
name = "e2e_configuration"
path = "tests/e2e_configuration.rs"
[[test]]
name = "e2e_cross_file"
path = "tests/e2e_cross_file.rs"
[[test]]
name = "e2e_declaration"
path = "tests/e2e_declaration.rs"
[[test]]
name = "e2e_diagnostics"
path = "tests/e2e_diagnostics.rs"
[[test]]
name = "e2e_doc_lifecycle"
path = "tests/e2e_doc_lifecycle.rs"
[[test]]
name = "e2e_document_link"
path = "tests/e2e_document_link.rs"
[[test]]
name = "e2e_document_symbols"
path = "tests/e2e_document_symbols.rs"
[[test]]
name = "e2e_file_create_stub"
path = "tests/e2e_file_create_stub.rs"
[[test]]
name = "e2e_file_notifications"
path = "tests/e2e_file_notifications.rs"
[[test]]
name = "e2e_file_ops"
path = "tests/e2e_file_ops.rs"
[[test]]
name = "e2e_file_rename"
path = "tests/e2e_file_rename.rs"
[[test]]
name = "e2e_formatting"
path = "tests/e2e_formatting.rs"
[[test]]
name = "e2e_implementation"
path = "tests/e2e_implementation.rs"
[[test]]
name = "e2e_incremental"
path = "tests/e2e_incremental.rs"
[[test]]
name = "e2e_lifecycle"
path = "tests/e2e_lifecycle.rs"
[[test]]
name = "e2e_protocol"
path = "tests/e2e_protocol.rs"
[[test]]
name = "e2e_references"
path = "tests/e2e_references.rs"
[[test]]
name = "e2e_rename"
path = "tests/e2e_rename.rs"
[[test]]
name = "e2e_robustness"
path = "tests/e2e_robustness.rs"
[[test]]
name = "e2e_selection_range"
path = "tests/e2e_selection_range.rs"
[[test]]
name = "e2e_semantic_tokens"
path = "tests/e2e_semantic_tokens.rs"
[[test]]
name = "e2e_signature_help"
path = "tests/e2e_signature_help.rs"
[[test]]
name = "e2e_symbol_resolve"
path = "tests/e2e_symbol_resolve.rs"
[[test]]
name = "e2e_symfony_call_hierarchy"
path = "tests/e2e_symfony_call_hierarchy.rs"
[[test]]
name = "e2e_symfony_demo"
path = "tests/e2e_symfony_demo.rs"
[[test]]
name = "e2e_symfony_hover"
path = "tests/e2e_symfony_hover.rs"
[[test]]
name = "e2e_symfony_implementation"
path = "tests/e2e_symfony_implementation.rs"
[[test]]
name = "e2e_symfony_navigation"
path = "tests/e2e_symfony_navigation.rs"
[[test]]
name = "e2e_symfony_references"
path = "tests/e2e_symfony_references.rs"
[[test]]
name = "e2e_symfony_search"
path = "tests/e2e_symfony_search.rs"
[[test]]
name = "e2e_symfony_semantic_tokens"
path = "tests/e2e_symfony_semantic_tokens.rs"
[[test]]
name = "e2e_symfony_type_hierarchy"
path = "tests/e2e_symfony_type_hierarchy.rs"
[[test]]
name = "e2e_traits"
path = "tests/e2e_traits.rs"
[[test]]
name = "e2e_type_definition"
path = "tests/e2e_type_definition.rs"
[[test]]
name = "e2e_watched_files"
path = "tests/e2e_watched_files.rs"
[[test]]
name = "e2e_workspace_diagnostics"
path = "tests/e2e_workspace_diagnostics.rs"
[[test]]
name = "e2e_workspace_folders"
path = "tests/e2e_workspace_folders.rs"
[[test]]
name = "e2e_workspace_scan"
path = "tests/e2e_workspace_scan.rs"
[[test]]
name = "feature_code_actions"
path = "tests/feature_code_actions.rs"
[[test]]
name = "feature_completion"
path = "tests/feature_completion.rs"
[[test]]
name = "feature_definition"
path = "tests/feature_definition.rs"
[[test]]
name = "feature_diagnostics"
path = "tests/feature_diagnostics.rs"
[[test]]
name = "feature_folding"
path = "tests/feature_folding.rs"
[[test]]
name = "feature_hierarchy"
path = "tests/feature_hierarchy.rs"
[[test]]
name = "feature_highlight"
path = "tests/feature_highlight.rs"
[[test]]
name = "feature_hover"
path = "tests/feature_hover.rs"
[[test]]
name = "feature_inlay_hints"
path = "tests/feature_inlay_hints.rs"
[[test]]
name = "feature_references"
path = "tests/feature_references.rs"
[[test]]
name = "feature_rename"
path = "tests/feature_rename.rs"
[[test]]
name = "feature_signature_help"
path = "tests/feature_signature_help.rs"
[[test]]
name = "feature_symbols"
path = "tests/feature_symbols.rs"
[[bench]]
name = "iai_critical"
path = "benches/iai_critical.rs"
harness = false
[[bench]]
name = "index"
path = "benches/index.rs"
harness = false
[[bench]]
name = "parse"
path = "benches/parse.rs"
harness = false
[[bench]]
name = "requests"
path = "benches/requests.rs"
harness = false
[[bench]]
name = "semantic"
path = "benches/semantic.rs"
harness = false
[dependencies.bincode]
version = "2"
features = ["serde"]
[dependencies.blake3]
version = "1"
[dependencies.bumpalo]
version = "3"
features = ["collections"]
[dependencies.dashmap]
version = "6"
[dependencies.dhat]
version = "0.3"
optional = true
[dependencies.mimalloc]
version = "0.1"
default-features = false
[dependencies.mir-analyzer]
version = "0.9.0"
[dependencies.mir-codebase]
version = "0.9.0"
[dependencies.mir-issues]
version = "0.9.0"
[dependencies.mir-types]
version = "0.9.0"
[dependencies.php-ast]
version = "0.9.2"
[dependencies.php-rs-parser]
version = "0.9.2"
[dependencies.rayon]
version = "1"
[dependencies.salsa]
version = "0.26"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tower-lsp]
version = "0.20"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"env-filter",
"json",
]
[dependencies.walkdir]
version = "2"
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.expect-test]
version = "1"
[dev-dependencies.iai-callgrind]
version = "0.16"
[dev-dependencies.indexmap]
version = "2"
[dev-dependencies.tempfile]
version = "3"