From 9b80e00fcf444c52a1afe25be9aa8be0a1fc6084 Mon Sep 17 00:00:00 2001 From: nat-js Date: Mon, 12 Jul 2021 19:54:34 +0800 Subject: fix double quote escape for defines --- xmake/plugins/project/clang/compile_commands.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/xmake/plugins/project/clang/compile_commands.lua b/xmake/plugins/project/clang/compile_commands.lua index 59e4fcaa5..eb30a1ee4 100644 --- a/xmake/plugins/project/clang/compile_commands.lua +++ b/xmake/plugins/project/clang/compile_commands.lua @@ -42,6 +42,10 @@ function _translate_arguments(arguments) arg = arg:gsub("[%-/]external:I", "-I") elseif arg:find("[%-/]external:W") or arg:find("[%-/]experimental:external") then arg = nil + -- escape '"' for the defines + -- https://github.com/xmake-io/xmake/issues/1506 + elseif arg:find("^-D") then + arg = arg:gsub("\"", "\\\"") end -- @see use msvc-style flags for msvc to support language-server better -- https://github.com/xmake-io/xmake/issues/1284 -- cgit v1.3.1