Use -lines option instead of -offset/-length. This fixes problems with files using dos newlines (<CR><LF>).

llvm-svn: 186740
This commit is contained in:
Alexander Kornienko 2013-07-20 01:01:25 +00:00
parent 8e6c8f850d
commit 5884aa9617
1 changed files with 3 additions and 6 deletions

View File

@ -35,10 +35,7 @@ text = '\n'.join(buf)
# Determine range to format.
cursor = int(vim.eval('line2byte(line("."))+col(".")')) - 2
offset = int(vim.eval('line2byte(' +
str(vim.current.range.start + 1) + ')')) - 1
length = int(vim.eval('line2byte(' +
str(vim.current.range.end + 2) + ')')) - offset - 2
lines = '%s:%s' % (vim.current.range.start + 1, vim.current.range.end + 1)
# Avoid flashing an ugly, ugly cmd prompt on Windows when invoking clang-format.
startupinfo = None
@ -48,8 +45,8 @@ if sys.platform.startswith('win32'):
startupinfo.wShowWindow = subprocess.SW_HIDE
# Call formatter.
p = subprocess.Popen([binary, '-offset', str(offset), '-length', str(length),
'-style', style, '-cursor', str(cursor)],
p = subprocess.Popen([binary, '-lines', lines, '-style', style,
'-cursor', str(cursor)],
stdout=subprocess.PIPE, stderr=subprocess.PIPE,
stdin=subprocess.PIPE, startupinfo=startupinfo)
stdout, stderr = p.communicate(input=text)