forked from qt-creator/qt-creator
LanguageServer: Use Utils::CommandLine in StdIOClientInterface
Change-Id: Ic2516387d7308bfad05cef54467c417cc47a7655 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -192,10 +192,10 @@ private:
|
||||
LanguageClient::BaseClientInterface *JLSSettings::createInterface() const
|
||||
{
|
||||
auto interface = new JLSInterface();
|
||||
interface->setExecutable(m_executable);
|
||||
QString arguments = this->arguments();
|
||||
arguments += QString(" -data \"%1\"").arg(interface->workspaceDir());
|
||||
interface->setArguments(arguments);
|
||||
CommandLine cmd{m_executable};
|
||||
cmd.addArgs(arguments(), CommandLine::Raw);
|
||||
cmd.addArgs({"-data", interface->workspaceDir()});
|
||||
interface->setCommandLine(cmd);
|
||||
return interface;
|
||||
}
|
||||
|
||||
|
||||
@@ -41,14 +41,14 @@ static QString indexingToken() { return "backgroundIndexProgress"; }
|
||||
|
||||
static BaseClientInterface *clientInterface(const Utils::FilePath &jsonDbDir)
|
||||
{
|
||||
QString clangdArgs = "--index --background-index --limit-results=0";
|
||||
Utils::CommandLine cmd{CppTools::codeModelSettings()->clangdFilePath(),
|
||||
{"--index", "--background-index", "--limit-results=0"}};
|
||||
if (!jsonDbDir.isEmpty())
|
||||
clangdArgs += " --compile-commands-dir=" + jsonDbDir.toString();
|
||||
cmd.addArg("--compile-commands-dir=" + jsonDbDir.toString());
|
||||
if (clangdLog().isDebugEnabled())
|
||||
clangdArgs += " --log=verbose --pretty";
|
||||
cmd.addArgs({"--log=verbose", "--pretty"});
|
||||
const auto interface = new StdIOClientInterface;
|
||||
interface->setExecutable(CppTools::codeModelSettings()->clangdFilePath().toString());
|
||||
interface->setArguments(clangdArgs);
|
||||
interface->setCommandLine(cmd);
|
||||
return interface;
|
||||
}
|
||||
|
||||
|
||||
@@ -111,14 +111,9 @@ bool StdIOClientInterface::start()
|
||||
return true;
|
||||
}
|
||||
|
||||
void StdIOClientInterface::setExecutable(const QString &executable)
|
||||
void StdIOClientInterface::setCommandLine(const Utils::CommandLine &cmd)
|
||||
{
|
||||
m_process.setProgram(executable);
|
||||
}
|
||||
|
||||
void StdIOClientInterface::setArguments(const QString &arguments)
|
||||
{
|
||||
m_process.setArguments(Utils::QtcProcess::splitArgs(arguments));
|
||||
m_process.setCommand(cmd);
|
||||
}
|
||||
|
||||
void StdIOClientInterface::setWorkingDirectory(const QString &workingDirectory)
|
||||
|
||||
@@ -79,8 +79,7 @@ public:
|
||||
bool start() override;
|
||||
|
||||
// These functions only have an effect if they are called before start
|
||||
void setExecutable(const QString &executable);
|
||||
void setArguments(const QString &arguments);
|
||||
void setCommandLine(const Utils::CommandLine &cmd);
|
||||
void setWorkingDirectory(const QString &workingDirectory);
|
||||
|
||||
protected:
|
||||
|
||||
@@ -736,8 +736,7 @@ Utils::CommandLine StdIOSettings::command() const
|
||||
BaseClientInterface *StdIOSettings::createInterface() const
|
||||
{
|
||||
auto interface = new StdIOClientInterface;
|
||||
interface->setExecutable(m_executable);
|
||||
interface->setArguments(arguments());
|
||||
interface->setCommandLine(command());
|
||||
return interface;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user