[clang-format] Don't flash an ugly cmd prompt in Vim on Windows

Reviewers: klimek

Differential Revision: http://llvm-reviews.chandlerc.com/D941

llvm-svn: 183654
This commit is contained in:
Reid Kleckner 2013-06-10 14:16:26 +00:00
parent 599782bb6c
commit 99dfe95bdd
1 changed files with 9 additions and 1 deletions

View File

@ -19,6 +19,7 @@
import json
import subprocess
import sys
import vim
# Change this to the full path if clang-format is not on the path.
@ -39,11 +40,18 @@ offset = int(vim.eval('line2byte(' +
length = int(vim.eval('line2byte(' +
str(vim.current.range.end + 2) + ')')) - offset - 2
# Avoid flashing an ugly, ugly cmd prompt on Windows when invoking clang-format.
startupinfo = None
if sys.platform.startswith('win32'):
startupinfo = subprocess.STARTUPINFO()
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
startupinfo.wShowWindow = subprocess.SW_HIDE
# Call formatter.
p = subprocess.Popen([binary, '-offset', str(offset), '-length', str(length),
'-style', style, '-cursor', str(cursor)],
stdout=subprocess.PIPE, stderr=subprocess.PIPE,
stdin=subprocess.PIPE)
stdin=subprocess.PIPE, startupinfo=startupinfo)
stdout, stderr = p.communicate(input=text)
# If successful, replace buffer contents.