[PATCH] D138234: [clang-format] Support new file formatting with vim
Jinsong Ji via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Nov 17 13:04:30 PST 2022
jsji created this revision.
jsji added reviewers: djasper, klimek.
Herald added a project: All.
jsji requested review of this revision.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
The vim Formatonsave integration is not working if we create a new file directly using vim.
eg: vi -V9t.log t.cpp
It will not able to format the buffer.
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "...clang/tools/clang-format/clang-format.py", line 156, in <module>
main()
File "...clang/tools/clang-format/clang-format.py", line 80, in main
with open(vim.current.buffer.name, 'r') as f:
FileNotFoundError: [Errno 2] No such file or directory: '...t.cpp'
This patch check the file before we try to open it.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D138234
Files:
clang/tools/clang-format/clang-format.py
Index: clang/tools/clang-format/clang-format.py
===================================================================
--- clang/tools/clang-format/clang-format.py
+++ clang/tools/clang-format/clang-format.py
@@ -45,6 +45,7 @@
import subprocess
import sys
import vim
+import os.path
# set g:clang_format_path to the path to clang-format if it is not on the path
# Change this to the full path if clang-format is not on the path.
@@ -76,7 +77,7 @@
# Determine range to format.
if vim.eval('exists("l:lines")') == '1':
lines = ['-lines', vim.eval('l:lines')]
- elif vim.eval('exists("l:formatdiff")') == '1':
+ elif vim.eval('exists("l:formatdiff")') == '1' and os.path.exists(vim.current.buffer.name):
with open(vim.current.buffer.name, 'r') as f:
ondisk = f.read().splitlines();
sequence = difflib.SequenceMatcher(None, ondisk, vim.current.buffer)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D138234.476215.patch
Type: text/x-patch
Size: 882 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20221117/f2871137/attachment.bin>
More information about the cfe-commits
mailing list