mirror of
https://github.com/MaskRay/ccls.git
synced 2024-11-22 07:35:08 +00:00
Don't rename '.' to '_' in cache files.
This makes it easier to browse cached cc/etc files. Also clean up logging a bit.
This commit is contained in:
parent
91b5614c7e
commit
526fefaf09
@ -14,7 +14,7 @@ std::string GetCachedBaseFileName(const std::string& cache_directory,
|
|||||||
std::replace(source_file.begin(), source_file.end(), '\\', '_');
|
std::replace(source_file.begin(), source_file.end(), '\\', '_');
|
||||||
std::replace(source_file.begin(), source_file.end(), '/', '_');
|
std::replace(source_file.begin(), source_file.end(), '/', '_');
|
||||||
std::replace(source_file.begin(), source_file.end(), ':', '_');
|
std::replace(source_file.begin(), source_file.end(), ':', '_');
|
||||||
std::replace(source_file.begin(), source_file.end(), '.', '_');
|
|
||||||
return cache_directory + source_file;
|
return cache_directory + source_file;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -42,8 +42,7 @@ optional<std::string> LoadCachedFileContents(IndexerConfig* config,
|
|||||||
if (!config->enableCacheRead)
|
if (!config->enableCacheRead)
|
||||||
return nullopt;
|
return nullopt;
|
||||||
|
|
||||||
return ReadContent(GetCachedBaseFileName(config->cacheDirectory, filename) +
|
return ReadContent(GetCachedBaseFileName(config->cacheDirectory, filename));
|
||||||
".txt");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void WriteToCache(IndexerConfig* config,
|
void WriteToCache(IndexerConfig* config,
|
||||||
@ -55,7 +54,7 @@ void WriteToCache(IndexerConfig* config,
|
|||||||
std::string cache_basename =
|
std::string cache_basename =
|
||||||
GetCachedBaseFileName(config->cacheDirectory, filename);
|
GetCachedBaseFileName(config->cacheDirectory, filename);
|
||||||
|
|
||||||
CopyFileTo(cache_basename + ".txt", filename);
|
CopyFileTo(cache_basename, filename);
|
||||||
|
|
||||||
std::string indexed_content = Serialize(file);
|
std::string indexed_content = Serialize(file);
|
||||||
std::ofstream cache;
|
std::ofstream cache;
|
||||||
|
@ -1242,7 +1242,7 @@ bool QueryDbMainLoop(
|
|||||||
auto request = static_cast<Ipc_InitializeRequest*>(message.get());
|
auto request = static_cast<Ipc_InitializeRequest*>(message.get());
|
||||||
if (request->params.rootUri) {
|
if (request->params.rootUri) {
|
||||||
std::string project_path = request->params.rootUri->GetPath();
|
std::string project_path = request->params.rootUri->GetPath();
|
||||||
std::cerr << "[stdin] Initialize in directory " << project_path
|
std::cerr << "[querydb] Initialize in directory " << project_path
|
||||||
<< " with uri " << request->params.rootUri->raw_uri
|
<< " with uri " << request->params.rootUri->raw_uri
|
||||||
<< std::endl;
|
<< std::endl;
|
||||||
|
|
||||||
@ -1607,7 +1607,7 @@ bool QueryDbMainLoop(
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::cerr << "File outline size is " << file->def.outline.size() << std::endl;
|
std::cerr << "[querydb] File outline size is " << file->def.outline.size() << std::endl;
|
||||||
for (SymbolRef ref : file->def.outline) {
|
for (SymbolRef ref : file->def.outline) {
|
||||||
optional<lsSymbolInformation> info = GetSymbolInfo(db, working_files, ref.idx);
|
optional<lsSymbolInformation> info = GetSymbolInfo(db, working_files, ref.idx);
|
||||||
if (!info)
|
if (!info)
|
||||||
@ -1739,7 +1739,7 @@ bool QueryDbMainLoop(
|
|||||||
std::string query = msg->params.query;
|
std::string query = msg->params.query;
|
||||||
for (int i = 0; i < db->detailed_names.size(); ++i) {
|
for (int i = 0; i < db->detailed_names.size(); ++i) {
|
||||||
if (response.result.size() >= config->maxWorkspaceSearchResults) {
|
if (response.result.size() >= config->maxWorkspaceSearchResults) {
|
||||||
std::cerr << "[querydb] - Query exceeded maximum number of responses (" << config->maxWorkspaceSearchResults << "), output may not contain all results" << std::endl;
|
std::cerr << "[querydb] Query exceeded maximum number of responses (" << config->maxWorkspaceSearchResults << "), output may not contain all results" << std::endl;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1764,7 +1764,7 @@ bool QueryDbMainLoop(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
std::cerr << "[querydb] - Found " << response.result.size() << " results for query " << query << std::endl;
|
std::cerr << "[querydb] Found " << response.result.size() << " results for query " << query << std::endl;
|
||||||
ipc->SendOutMessageToClient(IpcId::WorkspaceSymbol, response);
|
ipc->SendOutMessageToClient(IpcId::WorkspaceSymbol, response);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -1952,7 +1952,7 @@ void LanguageServerStdinLoop(IndexerConfig* config, std::unordered_map<IpcId, Ti
|
|||||||
|
|
||||||
(*request_times)[message->method_id] = Timer();
|
(*request_times)[message->method_id] = Timer();
|
||||||
|
|
||||||
std::cerr << "[stdin] Got message \"" << IpcIdToString(message->method_id) << '"' << std::endl;
|
//std::cerr << "[stdin] Got message " << IpcIdToString(message->method_id) << std::endl;
|
||||||
switch (message->method_id) {
|
switch (message->method_id) {
|
||||||
case IpcId::Initialized: {
|
case IpcId::Initialized: {
|
||||||
// TODO: don't send output until we get this notification
|
// TODO: don't send output until we get this notification
|
||||||
@ -2049,7 +2049,7 @@ void StdoutMain(std::unordered_map<IpcId, Timer>* request_times, MultiQueueWaite
|
|||||||
}
|
}
|
||||||
|
|
||||||
for (auto& message : messages) {
|
for (auto& message : messages) {
|
||||||
std::cerr << "[stdout] Processing message " << IpcIdToString(message->method_id) << std::endl;
|
//std::cerr << "[stdout] Processing message " << IpcIdToString(message->method_id) << std::endl;
|
||||||
|
|
||||||
switch (message->method_id) {
|
switch (message->method_id) {
|
||||||
case IpcId::Cout: {
|
case IpcId::Cout: {
|
||||||
|
15
src/timer.cc
15
src/timer.cc
@ -11,11 +11,12 @@ void Timer::Reset() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void Timer::ResetAndPrint(const std::string& message) {
|
void Timer::ResetAndPrint(const std::string& message) {
|
||||||
std::cerr << message << " took " << ElapsedMilliseconds() << "ms" << std::endl;
|
|
||||||
Reset();
|
|
||||||
}
|
|
||||||
|
|
||||||
long long Timer::ElapsedMilliseconds() {
|
|
||||||
std::chrono::time_point<Clock> end = Clock::now();
|
std::chrono::time_point<Clock> end = Clock::now();
|
||||||
return std::chrono::duration_cast<std::chrono::milliseconds>(end - start).count();
|
long long elapsed = std::chrono::duration_cast<std::chrono::microseconds>(end - start).count();
|
||||||
}
|
|
||||||
|
long long milliseconds = elapsed / 1000;
|
||||||
|
long long remaining = elapsed - milliseconds;
|
||||||
|
|
||||||
|
std::cerr << message << " took " << milliseconds << "." << remaining << "ms" << std::endl;
|
||||||
|
Reset();
|
||||||
|
}
|
@ -14,9 +14,6 @@ struct Timer {
|
|||||||
// Resets timer and prints a message like "<foo> took 5ms"
|
// Resets timer and prints a message like "<foo> took 5ms"
|
||||||
void ResetAndPrint(const std::string& message);
|
void ResetAndPrint(const std::string& message);
|
||||||
|
|
||||||
// Return the number of milliseconds since the timer was last reset.
|
|
||||||
long long ElapsedMilliseconds();
|
|
||||||
|
|
||||||
// Raw start time.
|
// Raw start time.
|
||||||
std::chrono::time_point<Clock> start;
|
std::chrono::time_point<Clock> start;
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user