Skip to main content

php_lsp/
lib.rs

1// Private items in the modules below are only reachable through main.rs/backend.rs,
2// not through this lib entry point, so rustc would flag them as dead. Pub items in
3// a lib crate are never subject to dead_code, so only genuinely-internal items are
4// suppressed — real dead code within public API surfaces will still be caught.
5#![allow(dead_code)]
6
7// Public modules exposed for benchmark crates.
8pub mod ast;
9pub mod cache;
10pub mod completion;
11pub mod config;
12pub mod db;
13pub mod docblock;
14pub mod document_store;
15pub mod hover;
16pub mod resolve;
17pub mod type_map;
18pub mod type_query;
19pub mod util;
20pub mod walk;
21
22// Public module: compact symbol index for background-indexed files.
23pub mod file_index;
24
25// Public module: per-file memoized symbol map (name → Vec<SymbolEntry>).
26pub mod symbol_map;
27
28// Feature groups.
29pub mod actions;
30pub mod analysis;
31pub mod editing;
32pub mod navigation;
33
34// Infrastructure modules.
35mod autoload;
36pub mod backend;
37mod file_rename;
38mod open_files;
39pub mod panic_guard;
40mod phpstorm_meta;
41mod stubs;
42pub mod symbols;
43#[cfg(test)]
44mod test_utils;
45mod use_import;
46mod workspace_scan;
47
48// Re-exports for benchmark crates that use the flat `php_lsp::X` paths.
49pub use analysis::semantic_diagnostics;
50pub use editing::rename;
51pub use navigation::call_hierarchy;
52pub use navigation::definition;
53pub use navigation::implementation;
54pub use navigation::references;