Skip to content

Commit ffb735c

Browse files
committed
Tell clangd to write tmp files inside the language server tmp dir
Fix #145
1 parent 11be750 commit ffb735c

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

Diff for: ls/lsp_client_clangd.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,12 @@ func newClangdLSPClient(logger jsonrpc.FunctionLogger, dataFolder *paths.Path, l
6060
logger.Logf(" Starting clangd: %s", strings.Join(args, " "))
6161
var clangdStdin io.WriteCloser
6262
var clangdStdout, clangdStderr io.ReadCloser
63-
if clangdCmd, err := executils.NewProcess(nil, args...); err != nil {
63+
var extraEnv []string
64+
if ls.tempDir != nil {
65+
extraEnv = append(extraEnv, "TMPDIR="+ls.tempDir.String()) // For unix-based systems
66+
extraEnv = append(extraEnv, "TMP="+ls.tempDir.String()) // For Windows
67+
}
68+
if clangdCmd, err := executils.NewProcess(extraEnv, args...); err != nil {
6469
panic("starting clangd: " + err.Error())
6570
} else if cin, err := clangdCmd.StdinPipe(); err != nil {
6671
panic("getting clangd stdin: " + err.Error())

0 commit comments

Comments
 (0)