зеркало из https://github.com/microsoft/clang.git
Switch the default mode for clang-format to '-file'. Make 'LLVM' the
fallback syntax used when we fail to find a '.clang-format' file. Adjust variable names appropriately. Update the editor integration pieces that specify a '-style' option to specify it as '-style=file'. I left the functionality in place because even if the preferred method is to use '.clang-format' files, this way if someone needs to clobber the style in their editor we show how to do so in these examples. Also check in a '.clang-format' file for Clang to ensure that separate checkouts and builds of Clang from LLVM can still get the nice formatting. =] This unfortunately required nuking the test for the absence of a '.clang-format' file as now the directory happening to be under your clang source tree will cause there to always be a file. ;] git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@189741 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
0180688aaa
Коммит
439fc85f46
|
@ -0,0 +1 @@
|
|||
BasedOnStyle: LLVM
|
|
@ -4,9 +4,8 @@
|
|||
// RUN: clang-format -style="{BasedOnStyle: invalid, IndentWidth: 7}" %t.cpp 2>&1 | FileCheck -strict-whitespace -check-prefix=CHECK3 %s
|
||||
// RUN: clang-format -style="{lsjd}" %t.cpp 2>&1 | FileCheck -strict-whitespace -check-prefix=CHECK4 %s
|
||||
// RUN: [ ! -e %T/.clang-format ] || rm %T/.clang-format
|
||||
// RUN: clang-format -style=file %t.cpp 2>&1 | FileCheck -strict-whitespace -check-prefix=CHECK5 %s
|
||||
// RUN: printf "BasedOnStyle: google\nIndentWidth: 5\n" > %T/.clang-format
|
||||
// RUN: clang-format -style=file %t.cpp 2>&1 | FileCheck -strict-whitespace -check-prefix=CHECK6 %s
|
||||
// RUN: clang-format -style=file %t.cpp 2>&1 | FileCheck -strict-whitespace -check-prefix=CHECK5 %s
|
||||
void f() {
|
||||
// CHECK1: {{^ int\* i;$}}
|
||||
// CHECK2: {{^ int \*i;$}}
|
||||
|
@ -15,9 +14,7 @@ void f() {
|
|||
// CHECK3: {{^ int \*i;$}}
|
||||
// CHECK4: Error parsing -style: Invalid argument, using LLVM style
|
||||
// CHECK4: {{^ int \*i;$}}
|
||||
// CHECK5: Can't find usable .clang-format, using LLVM style
|
||||
// CHECK5: {{^ int \*i;$}}
|
||||
// CHECK6: {{^ int\* i;$}}
|
||||
// CHECK5: {{^ int\* i;$}}
|
||||
int*i;
|
||||
int j;
|
||||
}
|
||||
|
|
|
@ -27,8 +27,8 @@
|
|||
|
||||
using namespace llvm;
|
||||
|
||||
// Default style to use when no style specified or specified style not found.
|
||||
static const char *DefaultStyle = "LLVM";
|
||||
// Fallback style when no style specified or found in a .clang-format file.
|
||||
static const char FallbackStyle[] = "LLVM";
|
||||
|
||||
static cl::opt<bool> Help("h", cl::desc("Alias for -help"), cl::Hidden);
|
||||
|
||||
|
@ -72,7 +72,7 @@ static cl::opt<std::string>
|
|||
"Use -style=\"{key: value, ...}\" to set specific\n"
|
||||
"parameters, e.g.:\n"
|
||||
" -style=\"{BasedOnStyle: llvm, IndentWidth: 8}\""),
|
||||
cl::init(DefaultStyle), cl::cat(ClangFormatCategory));
|
||||
cl::init("file"), cl::cat(ClangFormatCategory));
|
||||
static cl::opt<bool> Inplace("i",
|
||||
cl::desc("Inplace edit <file>s, if specified."),
|
||||
cl::cat(ClangFormatCategory));
|
||||
|
@ -108,20 +108,20 @@ static FileID createInMemoryFile(StringRef FileName, const MemoryBuffer *Source,
|
|||
|
||||
FormatStyle getStyle(StringRef StyleName, StringRef FileName) {
|
||||
FormatStyle Style;
|
||||
getPredefinedStyle(DefaultStyle, &Style);
|
||||
getPredefinedStyle(FallbackStyle, &Style);
|
||||
|
||||
if (StyleName.startswith("{")) {
|
||||
// Parse YAML/JSON style from the command line.
|
||||
if (error_code ec = parseConfiguration(StyleName, &Style)) {
|
||||
llvm::errs() << "Error parsing -style: " << ec.message()
|
||||
<< ", using " << DefaultStyle << " style\n";
|
||||
<< ", using " << FallbackStyle << " style\n";
|
||||
}
|
||||
return Style;
|
||||
}
|
||||
|
||||
if (!StyleName.equals_lower("file")) {
|
||||
if (!getPredefinedStyle(StyleName, &Style))
|
||||
llvm::errs() << "Invalid value for -style, using " << DefaultStyle
|
||||
llvm::errs() << "Invalid value for -style, using " << FallbackStyle
|
||||
<< " style\n";
|
||||
return Style;
|
||||
}
|
||||
|
@ -153,7 +153,7 @@ FormatStyle getStyle(StringRef StyleName, StringRef FileName) {
|
|||
return Style;
|
||||
}
|
||||
}
|
||||
llvm::errs() << "Can't find usable .clang-format, using " << DefaultStyle
|
||||
llvm::errs() << "Can't find usable .clang-format, using " << FallbackStyle
|
||||
<< " style\n";
|
||||
return Style;
|
||||
}
|
||||
|
|
|
@ -19,9 +19,10 @@ import subprocess
|
|||
# Change this to the full path if clang-format is not on the path.
|
||||
binary = 'clang-format'
|
||||
|
||||
# Change this to format according to other formatting styles
|
||||
# (see clang-format -help).
|
||||
style = 'LLVM'
|
||||
# Change this to format according to other formatting styles. See the output of
|
||||
# 'clang-format --help' for a list of supported styles. The default looks for
|
||||
# a '.clang-format' file to indicate the style that should be used.
|
||||
style = 'file'
|
||||
|
||||
class ClangFormatCommand(sublime_plugin.TextCommand):
|
||||
def run(self, edit):
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
(let* ((orig-windows (get-buffer-window-list (current-buffer)))
|
||||
(orig-window-starts (mapcar #'window-start orig-windows))
|
||||
(orig-point (point))
|
||||
(style "LLVM"))
|
||||
(style "file"))
|
||||
(unwind-protect
|
||||
(call-process-region (point-min) (point-max) clang-format-binary t t nil
|
||||
"-offset" (number-to-string (1- begin))
|
||||
|
|
|
@ -26,9 +26,10 @@ import vim
|
|||
# Change this to the full path if clang-format is not on the path.
|
||||
binary = 'clang-format'
|
||||
|
||||
# Change this to format according to other formatting styles (see
|
||||
# clang-format -help)
|
||||
style = 'LLVM'
|
||||
# Change this to format according to other formatting styles. See the output of
|
||||
# 'clang-format --help' for a list of supported styles. The default looks for
|
||||
# a '.clang-format' file to indicate the style that should be used.
|
||||
style = 'file'
|
||||
|
||||
# Get the current text.
|
||||
buf = vim.current.buffer
|
||||
|
|
Загрузка…
Ссылка в новой задаче