I think we should make FallbackStyle a command line parameter. What do you think?
On Mon, Sep 2, 2013 at 9:42 AM, Chandler Carruth <[email protected]>wrote: > Author: chandlerc > Date: Mon Sep 2 02:42:02 2013 > New Revision: 189741 > > URL: http://llvm.org/viewvc/llvm-project?rev=189741&view=rev > Log: > 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. ;] > > Added: > cfe/trunk/.clang-format > Modified: > cfe/trunk/test/Format/style-on-command-line.cpp > cfe/trunk/tools/clang-format/ClangFormat.cpp > cfe/trunk/tools/clang-format/clang-format-sublime.py > cfe/trunk/tools/clang-format/clang-format.el > cfe/trunk/tools/clang-format/clang-format.py > > Added: cfe/trunk/.clang-format > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/.clang-format?rev=189741&view=auto > > ============================================================================== > --- cfe/trunk/.clang-format (added) > +++ cfe/trunk/.clang-format Mon Sep 2 02:42:02 2013 > @@ -0,0 +1 @@ > +BasedOnStyle: LLVM > > Modified: cfe/trunk/test/Format/style-on-command-line.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Format/style-on-command-line.cpp?rev=189741&r1=189740&r2=189741&view=diff > > ============================================================================== > --- cfe/trunk/test/Format/style-on-command-line.cpp (original) > +++ cfe/trunk/test/Format/style-on-command-line.cpp Mon Sep 2 02:42:02 > 2013 > @@ -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; > } > > Modified: cfe/trunk/tools/clang-format/ClangFormat.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-format/ClangFormat.cpp?rev=189741&r1=189740&r2=189741&view=diff > > ============================================================================== > --- cfe/trunk/tools/clang-format/ClangFormat.cpp (original) > +++ cfe/trunk/tools/clang-format/ClangFormat.cpp Mon Sep 2 02:42:02 2013 > @@ -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(StringR > > 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 > 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; > } > > Modified: cfe/trunk/tools/clang-format/clang-format-sublime.py > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-format/clang-format-sublime.py?rev=189741&r1=189740&r2=189741&view=diff > > ============================================================================== > --- cfe/trunk/tools/clang-format/clang-format-sublime.py (original) > +++ cfe/trunk/tools/clang-format/clang-format-sublime.py Mon Sep 2 > 02:42:02 2013 > @@ -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): > > Modified: cfe/trunk/tools/clang-format/clang-format.el > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-format/clang-format.el?rev=189741&r1=189740&r2=189741&view=diff > > ============================================================================== > --- cfe/trunk/tools/clang-format/clang-format.el (original) > +++ cfe/trunk/tools/clang-format/clang-format.el Mon Sep 2 02:42:02 2013 > @@ -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)) > > Modified: cfe/trunk/tools/clang-format/clang-format.py > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-format/clang-format.py?rev=189741&r1=189740&r2=189741&view=diff > > ============================================================================== > --- cfe/trunk/tools/clang-format/clang-format.py (original) > +++ cfe/trunk/tools/clang-format/clang-format.py Mon Sep 2 02:42:02 2013 > @@ -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 > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
