SYMBOL INDEX (279 symbols across 9 files) FILE: src/bacon.rs type BaconConfig (line 27) | struct BaconConfig { type Jobs (line 33) | struct Jobs { type BaconLsJob (line 39) | struct BaconLsJob { type Exports (line 47) | struct Exports { type CargoJsonSpans (line 53) | struct CargoJsonSpans { constant ERROR_MESSAGE (line 60) | const ERROR_MESSAGE: &str = "bacon configuration is not compatible with ... constant BACON_ANALYZER (line 61) | const BACON_ANALYZER: &str = "cargo_json"; constant BACON_EXPORTER (line 62) | const BACON_EXPORTER: &str = "analyzer"; constant BACON_COMMAND (line 63) | const BACON_COMMAND: [&str; 7] = [ constant LINE_FORMAT (line 72) | const LINE_FORMAT: &str = "{diagnostic.level}|:|{span.file_name}|:|{span... type Bacon (line 74) | pub(crate) struct Bacon; method validate_preferences_file (line 77) | async fn validate_preferences_file(path: &Path) -> Result<(), String> { method create_preferences_file (line 97) | async fn create_preferences_file(filename: &str) -> Result<(), String> { method validate_preferences_impl (line 129) | async fn validate_preferences_impl(bacon_prefs: &[u8], create_prefs_fi... method find_bacon_locations (line 154) | pub(crate) async fn find_bacon_locations(root: &Path, locations_file_n... method parse_severity (line 172) | fn parse_severity(severity_str: &str) -> DiagnosticSeverity { method parse_positions (line 185) | fn parse_positions(fields: &[&str]) -> Option<(u32, u32, u32, u32)> { method parse_bacon_diagnostic_line (line 193) | fn parse_bacon_diagnostic_line(line: &str, folder_path: &Path) -> Opti... method deduplicate_diagnostics (line 270) | fn deduplicate_diagnostics( method validate_preferences (line 285) | pub(crate) async fn validate_preferences(bacon_command: &str, create_p... method run_in_background (line 294) | pub(crate) async fn run_in_background( method diagnostics (line 354) | async fn diagnostics( method diagnostics_vec (line 456) | async fn diagnostics_vec( method synchronize_diagnostics (line 468) | pub(crate) async fn synchronize_diagnostics(state: Arc>,... method publish_diagnostics (line 562) | pub(crate) async fn publish_diagnostics( function test_valid_bacon_preferences (line 586) | async fn test_valid_bacon_preferences() { function test_invalid_analyzer (line 608) | async fn test_invalid_analyzer() { function test_invalid_line_format (line 631) | async fn test_invalid_line_format() { function test_validate_preferences (line 654) | async fn test_validate_preferences() { function test_file_creation_failure (line 676) | async fn test_file_creation_failure() { function test_file_write_failure (line 684) | async fn test_file_write_failure() { function test_empty_bacon_preferences_file (line 695) | async fn test_empty_bacon_preferences_file() { function test_run_in_background (line 703) | async fn test_run_in_background() { constant ERROR_LINE (line 711) | const ERROR_LINE: &str = "error|:|/app/github/bacon-ls/src/lib.rs|:|352|... function test_parse_bacon_diagnostic_line_with_spans_ok (line 714) | fn test_parse_bacon_diagnostic_line_with_spans_ok() { function test_parse_bacon_diagnostic_line_with_spans_ko (line 743) | fn test_parse_bacon_diagnostic_line_with_spans_ko() { function test_bacon_multiline_diagnostics_production (line 755) | async fn test_bacon_multiline_diagnostics_production() { function test_bacon_diagnostics_production_and_deduplication (line 818) | async fn test_bacon_diagnostics_production_and_deduplication() { function test_parse_severity_known_levels (line 858) | fn test_parse_severity_known_levels() { function test_parse_severity_unknown_level_defaults_to_information (line 870) | fn test_parse_severity_unknown_level_defaults_to_information() { function test_parse_positions_valid (line 878) | fn test_parse_positions_valid() { function test_parse_positions_non_numeric_returns_none (line 884) | fn test_parse_positions_non_numeric_returns_none() { function test_parse_positions_too_few_fields_returns_none (line 890) | fn test_parse_positions_too_few_fields_returns_none() { function test_parse_bacon_diagnostic_line_with_replacement_attaches_correction (line 897) | fn test_parse_bacon_diagnostic_line_with_replacement_attaches_correction... function test_parse_bacon_diagnostic_line_zero_position_saturates (line 914) | fn test_parse_bacon_diagnostic_line_zero_position_saturates() { function test_parse_bacon_diagnostic_line_strips_ansi_from_rendered (line 926) | fn test_parse_bacon_diagnostic_line_strips_ansi_from_rendered() { function test_parse_bacon_diagnostic_line_too_few_fields_returns_none (line 935) | fn test_parse_bacon_diagnostic_line_too_few_fields_returns_none() { function test_deduplicate_diagnostics_skips_when_path_does_not_match (line 941) | fn test_deduplicate_diagnostics_skips_when_path_does_not_match() { function test_deduplicate_diagnostics_drops_exact_duplicate (line 958) | fn test_deduplicate_diagnostics_drops_exact_duplicate() { function test_deduplicate_diagnostics_keeps_distinct_severity (line 974) | fn test_deduplicate_diagnostics_keeps_distinct_severity() { function test_find_bacon_locations_finds_nested_files (line 991) | async fn test_find_bacon_locations_finds_nested_files() { function test_find_bacon_locations_empty_dir_returns_empty (line 1009) | async fn test_find_bacon_locations_empty_dir_returns_empty() { function test_find_bacon_locations_missing_root_errors (line 1018) | async fn test_find_bacon_locations_missing_root_errors() { function test_validate_preferences_impl_creates_when_missing_and_requested (line 1026) | async fn test_validate_preferences_impl_creates_when_missing_and_request... function test_validate_preferences_impl_no_create_when_disabled (line 1042) | async fn test_validate_preferences_impl_no_create_when_disabled() { FILE: src/lib.rs constant PKG_NAME (line 27) | const PKG_NAME: &str = env!("CARGO_PKG_NAME"); constant PKG_VERSION (line 28) | pub const PKG_VERSION: &str = env!("CARGO_PKG_VERSION"); constant LOCATIONS_FILE (line 29) | const LOCATIONS_FILE: &str = ".bacon-locations"; constant BACON_BACKGROUND_COMMAND (line 30) | const BACON_BACKGROUND_COMMAND: &str = "bacon"; constant BACON_BACKGROUND_COMMAND_ARGS (line 31) | const BACON_BACKGROUND_COMMAND_ARGS: &str = "--headless -j bacon-ls"; constant PATH_ENCODE_SET (line 38) | const PATH_ENCODE_SET: &AsciiSet = &CONTROLS function path_to_file_uri (line 58) | pub(crate) fn path_to_file_uri(path: &str) -> String { type DiagKey (line 65) | pub(crate) type DiagKey = (Range, i32, String); function diag_key (line 67) | pub(crate) fn diag_key(d: &Diagnostic) -> DiagKey { function severity_tag (line 71) | fn severity_tag(s: Option) -> i32 { type Args (line 84) | pub struct Args { type BackendChoice (line 91) | enum BackendChoice { type BackendRuntime (line 97) | enum BackendRuntime { method backend_choice (line 109) | fn backend_choice(&self) -> BackendChoice { type CargoRunState (line 118) | pub(crate) enum CargoRunState { type PublishMode (line 125) | pub(crate) enum PublishMode { function invalid_option (line 130) | fn invalid_option(name: &str) -> jsonrpc::Error { type CargoFeatures (line 139) | enum CargoFeatures { method from_json_value (line 153) | fn from_json_value(value: &Value) -> jsonrpc::Result { method default (line 147) | fn default() -> Self { type CargoOptions (line 179) | pub(crate) struct CargoOptions { method build_command_args (line 213) | pub(crate) fn build_command_args(&self) -> Vec { method update_from_json_obj (line 254) | pub(crate) fn update_from_json_obj(&mut self, cargo_obj: &Map Self { type BaconOptions (line 381) | pub(crate) struct BaconOptions { method update_from_json_obj (line 394) | pub(crate) fn update_from_json_obj(&mut self, bacon_obj: &Map Self { type LiveCheckContext (line 475) | pub(crate) struct LiveCheckContext { type CargoRuntime (line 482) | pub(crate) struct CargoRuntime { method default (line 509) | fn default() -> Self { type BaconRuntime (line 525) | pub(crate) struct BaconRuntime { type State (line 537) | struct State { type CorrectionEdit (line 553) | pub(crate) struct CorrectionEdit { type Correction (line 563) | pub(crate) struct Correction { method from_single (line 569) | pub(crate) fn from_single(range: Range, new_text: &str) -> Self { method from_multi (line 584) | pub(crate) fn from_multi(edits: Vec) -> Self { type DiagnosticData (line 594) | struct DiagnosticData { type BaconLs (line 599) | pub struct BaconLs { method new (line 605) | fn new(client: Client) -> Self { method configure_tracing (line 612) | fn configure_tracing(log_level: Option, log_path: Option<&Path... method serve (line 653) | pub async fn serve() { method find_git_root_directory (line 669) | async fn find_git_root_directory(path: &Path) -> Option { method detect_backend (line 686) | fn detect_backend(values: &Map) -> Result, config:... method publish_cargo_diagnostics (line 961) | async fn publish_cargo_diagnostics(&self) { method publish_cargo_diagnostics_live (line 968) | pub(crate) async fn publish_cargo_diagnostics_live(&self) { method publish_cargo_diagnostics_inner (line 990) | async fn publish_cargo_diagnostics_inner(&self, live: Option<&LiveChec... method ensure_shadow_built (line 1294) | pub(crate) async fn ensure_shadow_built(&self) -> Option>, client: Ar... function test_can_configure_tracing (line 1479) | fn test_can_configure_tracing() { function test_path_to_file_uri_plain_ascii (line 1489) | fn test_path_to_file_uri_plain_ascii() { function test_path_to_file_uri_escapes_space_and_hash_and_percent (line 1497) | fn test_path_to_file_uri_escapes_space_and_hash_and_percent() { function test_path_to_file_uri_preserves_path_separators (line 1507) | fn test_path_to_file_uri_preserves_path_separators() { function test_path_to_file_uri_relative_path_preserves_segments (line 1515) | fn test_path_to_file_uri_relative_path_preserves_segments() { function test_cancel_mode_replaces_token (line 1530) | fn test_cancel_mode_replaces_token() { function test_detect_backend_explicit_cargo (line 1540) | fn test_detect_backend_explicit_cargo() { function test_detect_backend_explicit_bacon (line 1546) | fn test_detect_backend_explicit_bacon() { function test_detect_backend_invalid_value (line 1552) | fn test_detect_backend_invalid_value() { function test_detect_backend_infer_from_cargo_key (line 1558) | fn test_detect_backend_infer_from_cargo_key() { function test_detect_backend_infer_from_bacon_key (line 1564) | fn test_detect_backend_infer_from_bacon_key() { function test_detect_backend_both_keys_error (line 1571) | fn test_detect_backend_both_keys_error() { function test_detect_backend_no_keys_defaults_to_cargo (line 1577) | fn test_detect_backend_no_keys_defaults_to_cargo() { function test_detect_backend_explicit_overrides_keys (line 1583) | fn test_detect_backend_explicit_overrides_keys() { function test_cargo_options_build_args_default (line 1589) | fn test_cargo_options_build_args_default() { function test_cargo_options_build_args_with_features (line 1595) | fn test_cargo_options_build_args_with_features() { function test_cargo_options_build_args_single_feature (line 1613) | fn test_cargo_options_build_args_single_feature() { function test_cargo_options_build_args_with_all_features (line 1631) | fn test_cargo_options_build_args_with_all_features() { function test_cargo_options_build_args_with_package_and_extras (line 1648) | fn test_cargo_options_build_args_with_package_and_extras() { function test_cargo_options_update_from_json_full_roundtrip (line 1670) | fn test_cargo_options_update_from_json_full_roundtrip() { function test_cargo_options_update_on_insert_defaults_off (line 1704) | fn test_cargo_options_update_on_insert_defaults_off() { function test_cargo_options_update_on_insert_debounce_rejects_negative (line 1711) | fn test_cargo_options_update_on_insert_debounce_rejects_negative() { function test_cargo_options_update_from_json_refresh_null_means_no_partial (line 1718) | fn test_cargo_options_update_from_json_refresh_null_means_no_partial() { function test_cargo_options_update_from_json_refresh_negative_means_no_partial (line 1726) | fn test_cargo_options_update_from_json_refresh_negative_means_no_partial... function test_cargo_options_update_from_json_rejects_wrong_type (line 1734) | fn test_cargo_options_update_from_json_rejects_wrong_type() { function test_cargo_options_update_from_json_partial_leaves_others_unchanged (line 1741) | fn test_cargo_options_update_from_json_partial_leaves_others_unchanged() { function test_cargo_options_reset_restores_defaults (line 1753) | fn test_cargo_options_reset_restores_defaults() { function test_bacon_options_update_from_json_full_roundtrip (line 1768) | fn test_bacon_options_update_from_json_full_roundtrip() { function test_bacon_options_update_from_json_rejects_wrong_type (line 1794) | fn test_bacon_options_update_from_json_rejects_wrong_type() { function test_bacon_options_reset_restores_defaults (line 1801) | fn test_bacon_options_reset_restores_defaults() { function test_correction_from_single_empty_is_remove (line 1814) | fn test_correction_from_single_empty_is_remove() { function test_correction_from_single_nonempty_is_replace (line 1823) | fn test_correction_from_single_nonempty_is_replace() { function test_correction_from_multi_all_empty_is_remove (line 1831) | fn test_correction_from_multi_all_empty_is_remove() { function test_correction_from_multi_labels_by_first_nonempty (line 1848) | fn test_correction_from_multi_labels_by_first_nonempty() { function test_severity_tag_distinguishes_levels (line 1864) | fn test_severity_tag_distinguishes_levels() { function test_diag_key_collides_for_equal_diagnostics (line 1883) | fn test_diag_key_collides_for_equal_diagnostics() { function test_diag_key_differs_when_message_differs (line 1895) | fn test_diag_key_differs_when_message_differs() { function test_path_to_file_uri_empty_path (line 1908) | fn test_path_to_file_uri_empty_path() { function test_correction_from_single_label_replaces_with_text (line 1915) | fn test_correction_from_single_label_replaces_with_text() { function test_correction_from_multi_empty_edits_is_remove (line 1923) | fn test_correction_from_multi_empty_edits_is_remove() { function test_cargo_options_env_roundtrip_preserves_order_in_serde_iteration (line 1930) | fn test_cargo_options_env_roundtrip_preserves_order_in_serde_iteration() { function test_cargo_options_update_rejects_non_object_env (line 1944) | fn test_cargo_options_update_rejects_non_object_env() { function test_cargo_options_update_rejects_non_string_env_value (line 1951) | fn test_cargo_options_update_rejects_non_string_env_value() { function test_cargo_options_update_rejects_non_string_feature_item (line 1958) | fn test_cargo_options_update_rejects_non_string_feature_item() { function test_cargo_options_publish_mode_toggle_via_cancel_running (line 1965) | fn test_cargo_options_publish_mode_toggle_via_cancel_running() { function test_cargo_options_separate_child_diagnostics_can_unset (line 1978) | fn test_cargo_options_separate_child_diagnostics_can_unset() { function test_find_git_root_directory_returns_none_outside_git (line 1995) | async fn test_find_git_root_directory_returns_none_outside_git() { function test_find_git_root_directory_finds_top_of_repo (line 2002) | async fn test_find_git_root_directory_finds_top_of_repo() { function test_init_cargo_backend_uses_existing_project_root (line 2015) | fn test_init_cargo_backend_uses_existing_project_root() { function test_init_cargo_backend_falls_back_to_cwd_when_no_project_root (line 2039) | fn test_init_cargo_backend_falls_back_to_cwd_when_no_project_root() { function test_cargo_options_build_args_with_env_does_not_leak_into_args (line 2055) | fn test_cargo_options_build_args_with_env_does_not_leak_into_args() { FILE: src/lsp.rs method initialize (line 21) | async fn initialize(&self, params: InitializeParams) -> jsonrpc::Result<... method initialized (line 165) | async fn initialized(&self, _: InitializedParams) { method did_change_configuration (line 207) | async fn did_change_configuration(&self, params: DidChangeConfigurationP... method did_open (line 222) | async fn did_open(&self, params: DidOpenTextDocumentParams) { method did_close (line 249) | async fn did_close(&self, params: DidCloseTextDocumentParams) { method did_save (line 265) | async fn did_save(&self, params: DidSaveTextDocumentParams) { method did_change (line 300) | async fn did_change(&self, params: DidChangeTextDocumentParams) { method did_delete_files (line 332) | async fn did_delete_files(&self, params: DeleteFilesParams) { method did_rename_files (line 345) | async fn did_rename_files(&self, params: RenameFilesParams) { method code_action (line 360) | async fn code_action(&self, params: CodeActionParams) -> jsonrpc::Result... method execute_command (line 419) | async fn execute_command(&self, params: ExecuteCommandParams) -> jsonrpc... method shutdown (line 432) | async fn shutdown(&self) -> jsonrpc::Result<()> { FILE: src/main.rs function main (line 5) | async fn main() { FILE: src/native.rs function read_until_cr_or_lf (line 22) | async fn read_until_cr_or_lf(reader: &mut R, bu... type CargoExpansion (line 44) | struct CargoExpansion { type CargoSpan (line 49) | struct CargoSpan { method is_machine_applicable (line 65) | fn is_machine_applicable(&self) -> bool { method project_span (line 72) | fn project_span(&self) -> &Self { function deserialize_url (line 88) | fn deserialize_url<'de, D>(deserializer: D) -> Result type CargoChildren (line 97) | struct CargoChildren { type CargoCode (line 104) | struct CargoCode { type CargoMessage (line 109) | struct CargoMessage { function tags_from_code (line 125) | fn tags_from_code(code: &str) -> Option> { type CargoLine (line 142) | struct CargoLine { type Cargo (line 147) | pub(crate) struct Cargo; method parse_severity (line 173) | fn parse_severity(severity_str: &str) -> DiagnosticSeverity { method span_to_uri (line 186) | fn span_to_uri(project_root: Option<&PathBuf>, span: &CargoSpan) -> an... method maybe_add_diagnostic (line 234) | async fn maybe_add_diagnostic( method cargo_diagnostics (line 407) | pub(crate) async fn cargo_diagnostics( method find_project_root (line 531) | pub(crate) async fn find_project_root(params: &InitializeParams) -> Op... function parse_building_line (line 153) | fn parse_building_line(line: &str) -> Option<(String, u32)> { constant TOKIO_SELECT_EXPANSION (line 580) | const TOKIO_SELECT_EXPANSION: &str = include_str!("testdata/expansion-ne... constant UNUSED_VARIABLE (line 585) | const UNUSED_VARIABLE: &str = include_str!("testdata/unused-variable.jso... constant UNUSED_IMPORT_LINE (line 589) | const UNUSED_IMPORT_LINE: &str = include_str!("testdata/unused-import-li... constant UNUSED_IMPORT_GROUPED (line 594) | const UNUSED_IMPORT_GROUPED: &str = include_str!("testdata/unused-import... function test_project_span_follows_macro_expansion_chain (line 597) | fn test_project_span_follows_macro_expansion_chain() { function test_project_span_returns_self_when_already_project_local (line 618) | fn test_project_span_returns_self_when_already_project_local() { function test_children_structure_for_separate_diagnostics (line 639) | fn test_children_structure_for_separate_diagnostics() { function test_unused_import_whole_line_produces_remove_correction (line 686) | fn test_unused_import_whole_line_produces_remove_correction() { function test_unused_import_grouped_produces_three_remove_corrections (line 720) | fn test_unused_import_grouped_produces_three_remove_corrections() { function test_project_span_falls_back_to_self_when_no_project_span_in_chain (line 764) | fn test_project_span_falls_back_to_self_when_no_project_span_in_chain() { function test_parse_building_line_basic (line 785) | fn test_parse_building_line_basic() { function test_parse_building_line_caps_percentage_at_99 (line 795) | fn test_parse_building_line_caps_percentage_at_99() { function test_parse_building_line_rejects_non_building_prefix (line 805) | fn test_parse_building_line_rejects_non_building_prefix() { function test_parse_building_line_zero_total_returns_none (line 811) | fn test_parse_building_line_zero_total_returns_none() { function test_parse_building_line_malformed_returns_none (line 816) | fn test_parse_building_line_malformed_returns_none() { function test_parse_severity_known_levels (line 822) | fn test_parse_severity_known_levels() { function test_parse_severity_unknown_level_defaults_to_information (line 833) | fn test_parse_severity_unknown_level_defaults_to_information() { function test_tags_from_code_unused_lints_get_unnecessary (line 841) | fn test_tags_from_code_unused_lints_get_unnecessary() { function test_tags_from_code_dead_and_unreachable_get_unnecessary (line 858) | fn test_tags_from_code_dead_and_unreachable_get_unnecessary() { function test_tags_from_code_deprecated_gets_deprecated_tag (line 875) | fn test_tags_from_code_deprecated_gets_deprecated_tag() { function test_tags_from_code_unrelated_returns_none (line 880) | fn test_tags_from_code_unrelated_returns_none() { function test_read_until_lf_consumes_terminator (line 889) | async fn test_read_until_lf_consumes_terminator() { function test_read_until_cr_consumes_terminator (line 899) | async fn test_read_until_cr_consumes_terminator() { function test_read_until_cr_or_lf_returns_zero_at_eof (line 910) | async fn test_read_until_cr_or_lf_returns_zero_at_eof() { function test_read_until_cr_or_lf_no_terminator_reads_to_eof (line 919) | async fn test_read_until_cr_or_lf_no_terminator_reads_to_eof() { function test_read_until_cr_or_lf_spans_multiple_internal_buffers (line 928) | async fn test_read_until_cr_or_lf_spans_multiple_internal_buffers() { function make_relative_span (line 938) | fn make_relative_span(file_name_str: &str, is_primary: bool) -> CargoSpan { function test_span_to_uri_returns_none_when_no_authority (line 959) | fn test_span_to_uri_returns_none_when_no_authority() { function test_span_to_uri_returns_none_when_canonicalize_fails (line 971) | async fn test_span_to_uri_returns_none_when_canonicalize_fails() { function test_span_to_uri_resolves_existing_relative_path (line 985) | async fn test_span_to_uri_resolves_existing_relative_path() { function test_maybe_add_diagnostic_emits_per_primary_span (line 1007) | async fn test_maybe_add_diagnostic_emits_per_primary_span() { function test_maybe_add_diagnostic_separate_children_when_unsupported (line 1048) | async fn test_maybe_add_diagnostic_separate_children_when_unsupported() { function test_find_project_root_picks_workspace_folder_with_cargo_toml (line 1098) | async fn test_find_project_root_picks_workspace_folder_with_cargo_toml() { function test_find_project_root_returns_none_when_no_cargo_toml_anywhere (line 1127) | async fn test_find_project_root_returns_none_when_no_cargo_toml_anywhere... FILE: src/shadow.rs type ShadowWorkspace (line 26) | pub(crate) struct ShadowWorkspace { method build (line 37) | pub(crate) async fn build(real_root: PathBuf) -> std::io::Result { method real_root (line 64) | pub(crate) fn real_root(&self) -> &Path { method shadow_root (line 68) | pub(crate) fn shadow_root(&self) -> &Path { method target_dir (line 72) | pub(crate) fn target_dir(&self) -> &Path { method shadow_path_for (line 78) | pub(crate) fn shadow_path_for(&self, real_path: &Path) -> std::io::Res... method write_dirty (line 96) | pub(crate) async fn write_dirty(&self, real_path: &Path, content: &str... method restore_link (line 110) | pub(crate) async fn restore_link(&self, real_path: &Path) -> std::io::... function mirror_blocking (line 126) | fn mirror_blocking(real: &Path, shadow: &Path, live_root: &Path) -> std:... function inode (line 197) | fn inode(path: &Path) -> u64 { function mk_file (line 202) | fn mk_file(path: &Path, content: &str) { function test_build_mirrors_files_via_hardlink_same_inode (line 211) | async fn test_build_mirrors_files_via_hardlink_same_inode() { function test_build_excludes_gitignored_paths (line 227) | async fn test_build_excludes_gitignored_paths() { function test_build_excludes_hidden_dirs (line 247) | async fn test_build_excludes_hidden_dirs() { function test_build_does_not_recurse_into_its_own_live_dir (line 259) | async fn test_build_does_not_recurse_into_its_own_live_dir() { function test_build_wipes_stale_shadow_from_prior_session (line 286) | async fn test_build_wipes_stale_shadow_from_prior_session() { function test_build_preserves_target_dir_for_cache_reuse (line 311) | async fn test_build_preserves_target_dir_for_cache_reuse() { function test_write_dirty_replaces_hardlink_with_distinct_inode (line 327) | async fn test_write_dirty_replaces_hardlink_with_distinct_inode() { function test_restore_link_reverts_to_hardlink (line 357) | async fn test_restore_link_reverts_to_hardlink() { function test_write_dirty_creates_missing_parent_dirs (line 378) | async fn test_write_dirty_creates_missing_parent_dirs() { function test_shadow_path_for_outside_workspace_errors (line 396) | async fn test_shadow_path_for_outside_workspace_errors() { FILE: tests/cargo_backend.rs constant BIN (line 22) | const BIN: &str = env!("CARGO_BIN_EXE_bacon-ls"); function write_fixture (line 24) | fn write_fixture(dir: &Path, lib_rs: &str) { function frame (line 34) | fn frame(body: &str) -> Vec { function send (line 38) | fn send(stdin: &mut ChildStdin, msg: &Value) { function spawn_reader (line 44) | fn spawn_reader(mut stdout: ChildStdout) -> mpsc::Receiver { function auto_respond (line 83) | fn auto_respond(stdin: &mut ChildStdin, msg: &Value, config_response: &V... function pump (line 99) | fn pump( function empty_config (line 124) | fn empty_config() -> Value { function root_uri (line 128) | fn root_uri(dir: &Path) -> String { function spawn_server (line 132) | fn spawn_server(workdir: &Path) -> Child { function spawn_server_with_log (line 136) | fn spawn_server_with_log(workdir: &Path, rust_log: Option<&str>) -> Child { function read_server_log (line 150) | fn read_server_log(workdir: &Path) -> String { function initialize (line 154) | fn initialize( function initialize_with_init_options (line 164) | fn initialize_with_init_options( function shutdown_and_wait (line 205) | fn shutdown_and_wait(stdin: &mut ChildStdin, rx: &mpsc::Receiver,... function diagnostics_for (line 227) | fn diagnostics_for(msg: &Value, file_uri_substring: &str) -> Option Vec { function spawn_reader (line 31) | fn spawn_reader(mut stdout: ChildStdout) -> mpsc::Receiver { function wait_for (line 63) | fn wait_for bool>(rx: &mpsc::Receiver, timeout: D... function unresponsive_client_still_exits_after_shutdown_and_exit (line 76) | fn unresponsive_client_still_exits_after_shutdown_and_exit() { FILE: vscode/extension.ts constant RESTART_ON_CHANGE (line 16) | const RESTART_ON_CHANGE = [ function activate (line 23) | async function activate( function createClient (line 85) | async function createClient( function getServerPath (line 134) | async function getServerPath( function deactivate (line 176) | function deactivate(): Thenable | undefined {