diff --git a/tools/clang-format/clang-format.py b/tools/clang-format/clang-format.py index aded301781bf723b743b95c4ac169066ee730668..ae8a6ebf74e9215662c39ceb5c695627bf958a42 100644 --- a/tools/clang-format/clang-format.py +++ b/tools/clang-format/clang-format.py @@ -29,6 +29,7 @@ from __future__ import print_function import difflib import json +import platform import subprocess import sys import vim @@ -48,10 +49,15 @@ fallback_style = None if vim.eval('exists("g:clang_format_fallback_style")') == "1": fallback_style = vim.eval('g:clang_format_fallback_style') +def get_buffer(encoding): + if platform.python_version_tuple()[0] == '3': + return vim.current.buffer + return [ line.decode(encoding) for line in vim.current.buffer ] + def main(): # Get the current text. encoding = vim.eval("&encoding") - buf = [ line.decode(encoding) for line in vim.current.buffer ] + buf = get_buffer(encoding) text = '\n'.join(buf) # Determine range to format.