mirror of
https://github.com/MaskRay/ccls.git
synced 2025-06-08 01:04:54 +00:00
PathMappings don't work on windows with ':' as seperator
This commit is contained in:
parent
b7d9ced086
commit
b42c959373
@ -20,6 +20,13 @@ Config *g_config;
|
|||||||
|
|
||||||
void DoPathMapping(std::string &arg) {
|
void DoPathMapping(std::string &arg) {
|
||||||
for (const std::string &mapping : g_config->clang.pathMappings) {
|
for (const std::string &mapping : g_config->clang.pathMappings) {
|
||||||
|
auto colon = mapping.find('>');
|
||||||
|
if (colon != std::string::npos) {
|
||||||
|
auto p = arg.find(mapping.substr(0, colon));
|
||||||
|
if (p != std::string::npos)
|
||||||
|
arg.replace(p, colon, mapping.substr(colon + 1));
|
||||||
|
} else {
|
||||||
|
// Deprecated: Use only for older settings
|
||||||
auto colon = mapping.find(':');
|
auto colon = mapping.find(':');
|
||||||
if (colon != std::string::npos) {
|
if (colon != std::string::npos) {
|
||||||
auto p = arg.find(mapping.substr(0, colon));
|
auto p = arg.find(mapping.substr(0, colon));
|
||||||
@ -27,5 +34,6 @@ void DoPathMapping(std::string &arg) {
|
|||||||
arg.replace(p, colon, mapping.substr(colon + 1));
|
arg.replace(p, colon, mapping.substr(colon + 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user