def main():
# Get the current text.
encoding = vim.eval("&encoding")
- buf = vim.current.buffer
- text = unicode('\n'.join(buf), encoding)
+ buf = [ unicode(line, encoding) for line in vim.current.buffer ]
+ text = '\n'.join(buf)
# Determine range to format.
if vim.eval('exists("l:lines")') == '1':
lines = stdout.decode(encoding).split('\n')
output = json.loads(lines[0])
lines = lines[1:]
- sequence = difflib.SequenceMatcher(None, vim.current.buffer, lines)
+ sequence = difflib.SequenceMatcher(None, buf, lines)
for op in reversed(sequence.get_opcodes()):
if op[0] is not 'equal':
vim.current.buffer[op[1]:op[2]] = lines[op[3]:op[4]]