#pragma once // FIXME: do not include clang-c outside of clang_ files. #include #include #include #include #include struct ClangTranslationUnit; struct Config; class DiagnosticsEngine; struct FileConsumerSharedState; struct ImportManager; struct MultiQueueWaiter; struct Project; struct QueryDatabase; struct SemanticHighlightSymbolCache; struct TimestampManager; struct WorkingFiles; struct ImportPipelineStatus { std::atomic num_active_threads; std::atomic next_progress_output; ImportPipelineStatus(); }; void IndexWithTuFromCodeCompletion( Config* config, FileConsumerSharedState* file_consumer_shared, ClangTranslationUnit* tu, const std::vector& file_contents, const std::string& path, const std::vector& args); void Indexer_Main(Config* config, DiagnosticsEngine* diag_engine, FileConsumerSharedState* file_consumer_shared, TimestampManager* timestamp_manager, ImportManager* import_manager, ImportPipelineStatus* status, Project* project, WorkingFiles* working_files, MultiQueueWaiter* waiter); bool QueryDb_ImportMain(Config* config, QueryDatabase* db, ImportManager* import_manager, ImportPipelineStatus* status, SemanticHighlightSymbolCache* semantic_cache, WorkingFiles* working_files);