summaryrefslogtreecommitdiffstats
path: root/clang/tools/clang-format
Commit message (Collapse)AuthorAgeFilesLines
...
* clang-format: [JS] Support regex literals with trailing escaped slash.Daniel Jasper2014-09-091-4/+1
| | | | | | | | | | | | | | | | | | Before: var regex = / a\//; int i; After: var regex = /a\//; int i; This required pushing the Lexer into its wrapper class and generating a new one in this specific case. Otherwise, the sequence get lexed as a //-comment. This is hacky, but I don't know a better way (short of supporting regex literals in the Lexer). Pushing the Lexer down seems to make all the call sites simpler. llvm-svn: 217444
* clang-format: [JS] Support alternative operator names as identifiers.Daniel Jasper2014-09-041-1/+1
| | | | | | | | | | Before: not. and . or . not_eq = 1; After: not.and.or.not_eq = 1; llvm-svn: 217179
* Use /usr/bin/env python instead of /usr/bin/python.Ed Schouten2014-09-022-2/+2
| | | | | | | | On operating systems like the BSDs, it is typically the case that /usr/bin/python does not exist. We should therefore use /usr/bin/env instead. This is also done in various other scripts in tools/. llvm-svn: 216945
* Make clang's rewrite engine a core featureAlp Toker2014-07-162-2/+2
| | | | | | | | | | | | | | | The rewrite facility's footprint is small so it's not worth going to these lengths to support disabling at configure time, particularly since key compiler features now depend on it. Meanwhile the Objective-C rewriters have been moved under the ENABLE_CLANG_ARCMT umbrella for now as they're comparatively heavy and still potentially worth excluding from lightweight builds. Tests are now passing with any combination of feature flags. The flags historically haven't been tested by LLVM's build servers so caveat emptor. llvm-svn: 213171
* Update for llvm api change.Rafael Espindola2014-07-061-3/+5
| | | | llvm-svn: 212408
* Remove 'const' from MemoryBuffers used through the SourceManagerDavid Blaikie2014-06-271-1/+1
| | | | | | | | | | | | | | This removes a const_cast added in r211884 that occurred due to an inconsistency in how MemoryBuffers are handled between some parts of clang and LLVM. MemoryBuffers are immutable and the general convention in the LLVM project is to omit const from immutable types as it's simply redundant/verbose (see llvm::Type, for example). While this change doesn't remove "const" from /every/ MemoryBuffer, it at least makes this chain of ownership/usage consistent. llvm-svn: 211915
* Refer to error_code with the std prefix.Rafael Espindola2014-06-121-1/+1
| | | | llvm-svn: 210817
* clang-format: Introduce DisableFormat that prevents formatting.Daniel Jasper2014-05-221-1/+2
| | | | | | | | | | | | | | | | | And "none" pseudo-style indicating that formatting should be not applied. (1) Using .clang-format with "DisableFormat: true" effectively prevents formatting for all files within the folder containing such .clang-format file. (2) Using -fallback-style=none together with -style=file prevents formatting when .clang-format is not found, which can be used in on-save callback. Patch by Adam Strzelecki. Thank you! llvm-svn: 209446
* clang-format: Fix vim-integration for empty files.Daniel Jasper2014-05-221-1/+6
| | | | | | Discovered by Ahmed Charles in http://reviews.llvm.org/D3018. llvm-svn: 209417
* clang-format: Add clang-format-diff usage examples for SVN.Daniel Jasper2014-05-141-1/+2
| | | | llvm-svn: 208766
* Enable alternative tokens by default for clang-format.Nikola Smiljanic2014-05-081-2/+2
| | | | | | Patch by Bobby Moretti. llvm-svn: 208269
* clang-format.py: Don't omit the first two words from error messages.Nico Weber2014-04-171-6/+1
| | | | | | | | This reverts r172072. clang-format used to use DiagnosticEngine to output errors: http://llvm.org/viewvc/llvm-project?view=revision&revision=172071. Now it doesn't, so this code is obsolete. llvm-svn: 206479
* clang-format: Add proto files and JavaScript to git-clang-format.Daniel Jasper2014-04-091-0/+3
| | | | llvm-svn: 205842
* Add a main function to the clang-format.py vim integration.Ahmed Charles2014-03-101-40/+43
| | | | | | This will allow using an early return statement in a subsequent change. llvm-svn: 203501
* Replace OwningPtr with std::unique_ptr.Ahmed Charles2014-03-071-1/+1
| | | | | | This compiles cleanly with lldb/lld/clang-tools-extra/llvm. llvm-svn: 203279
* Add newlines to fallback-style description. Patch by Kamal Essoufi\!Alexander Kornienko2014-02-261-3/+4
| | | | llvm-svn: 202269
* Make the OptionCategory variable static.Alexander Kornienko2014-02-051-1/+1
| | | | llvm-svn: 200839
* clang-format: Enable formatting for .proto and .protodevel files.Daniel Jasper2014-01-211-1/+2
| | | | | | Support for protocol buffer files seems complete enough. llvm-svn: 199750
* Shorten the output of `clang-format --version`, include revision number.Nico Weber2014-01-071-0/+7
| | | | | | | | | | | | | | | | | Before: $ clang-format --version LLVM (http://llvm.org/): LLVM version 3.5svn Optimized build with assertions. Built Jan 3 2014 (14:28:46). Default target: x86_64-apple-darwin13.0.0 Host CPU: core-avx-i Now: $ bin/clang-format --version clang-format version 3.5 (198452) llvm-svn: 198694
* Sort all the #include lines with LLVM's utils/sort_includes.py whichChandler Carruth2014-01-071-1/+1
| | | | | | | encodes the canonical rules for LLVM's style. I noticed this had drifted quite a bit when cleaning up LLVM, so wanted to clean up Clang as well. llvm-svn: 198686
* Fix usage description of clang-format-diff.py.Daniel Jasper2013-12-191-2/+2
| | | | llvm-svn: 197668
* clang-format-diff.py: fix -regex/-iregex matchingAlp Toker2013-12-181-4/+4
| | | | | | | | | | While debating the finer points of file extension matching, we somehow missed the bigger problem that the current code will match anything starting with the default or user-specified pattern (e.g. lit.site.cfg.in). Fix this by doing what find(1) does, implicitly wrapping the pattern with ^$. llvm-svn: 197608
* clang-format-diff.py: add the OpenCL file extensionAlp Toker2013-12-181-1/+1
| | | | | | It's handled correctly as a C-family language. llvm-svn: 197542
* Added -iregex for case-insensitive regex to filter file names.Alexander Kornienko2013-12-161-5/+13
| | | | | | | | | | | | | | | | | Summary: -regex and -iregex both mimic options of the find utility. Made the default list of extensions case-insensitive, so that it's not only C and CPP extensions are accepted in upper case. Reviewers: djasper Reviewed By: djasper CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D2415 llvm-svn: 197378
* clang-format-diff.py: Support -regex filter and more filename extensionsAlp Toker2013-12-101-4/+5
| | | | | | | | | | | | | Add support for more filename extensions based on the list in the clang plus JavaScript. Also adds a -regex option so users can override defaults if they have unusual file extensions or want to format everything in the diff. Keeping with tradition the flag is modelled on Unix conventions, this time matching the semantics of find(1). llvm-svn: 196917
* [CMake] Update target_link_libraries() and LLVM_LINK_COMPONENTS for each ↵NAKAMURA Takumi2013-12-101-3/+3
| | | | | | CMakeLists.txt. llvm-svn: 196916
* clang-format-diff.py: pass through errors to stderr, not stdoutAlp Toker2013-12-051-5/+2
| | | | | | | Also use write() for unified diff output to avoid further processing by the print function (e.g. trailing newline). llvm-svn: 196484
* clang-format-diff.py: Fix 'beintroduced' in help outputAlp Toker2013-12-041-1/+1
| | | | | | Also update docs to reflect recently changed -i inplace edit behaviour. llvm-svn: 196336
* Preserve carriage return when using clang-format's XML interface.Manuel Klimek2013-12-031-2/+23
| | | | | | Patch by James Park. llvm-svn: 196265
* Added an option to specify fallback style.Alexander Kornienko2013-12-021-3/+10
| | | | | | | | | | | | | | | | Summary: Added -fallback-style option. Changed clang-format to stop searching for .clang-format when an invalid file is found. Reviewers: djasper, klimek Reviewed By: djasper CC: cfe-commits, klimek Differential Revision: http://llvm-reviews.chandlerc.com/D2292 llvm-svn: 196108
* Install clang-format's editor integrations in $PREFIX/share/clang/Hans Wennborg2013-11-141-0/+5
| | | | | | | | They were previously not part of the install target. Differential Revision: http://llvm-reviews.chandlerc.com/D2154 llvm-svn: 194741
* Use a StringRef. Saves 0.00000000000001s on execution time.Bill Wendling2013-11-091-1/+1
| | | | llvm-svn: 194301
* Py3k compat for clang-format Sublime Text extension.Sean Silva2013-11-081-1/+2
| | | | | | | | | | | | Sublime Text 2 uses Python 2.6 Sublime Text 3 uses Python 3.3 The `print` function has been available as a __future__ import since 2.6, so use it. Patch by Johan Engelen! llvm-svn: 194287
* clang-format: Write files atomicallyAlp Toker2013-11-081-11/+1
| | | | | | | | | | | | | | | | | | | | | | Switch clang-format over to Rewriter::overwriteChangedFiles(). The previous implementation was attempting to stream back directly to the original file and failing if it was already memory mapped by MemoryBuffer, an operation unsupported by Windows. MemoryBuffer generally mmaps files larger than the physical page size so this will have been difficult to reproduce consistently. This change also reduces flicker in code editors and IDEs on all platforms when reformatting in-place. Note that other incorrect uses of MemoryBuffer exist in LLVM/clang and will need a similar fix. A test should be added for Windows when libFormat performance issues are fixed (it takes longer than a day to format a 1MB file at present!) llvm-svn: 194250
* clang-format.py: Make formatting unnamed buffers work again (broke in r190691).Nico Weber2013-10-251-3/+4
| | | | llvm-svn: 193433
* Changed clang-format-diff.py to output diff by default. Added -i option to ↵Alexander Kornienko2013-10-111-3/+22
| | | | | | | | | | | | | | | | | | | | | | apply changes to files instead. Summary: "svn diff|clang-format-diff.py" will just output the diff. Now it's possible to use: svn diff|clang-format-diff.py|patch -p0 as an equivalent to: svn diff|clang-format-diff.py -i ;) Reviewers: djasper Reviewed By: djasper CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D1840 llvm-svn: 192505
* clang-format: Don't exit with failure on empty files.Daniel Jasper2013-10-082-2/+3
| | | | | | | | | | Also let clang-format-diff.py detect errors based on clang-format's return code. Otherwise messages like "Can't find usable .clang-format, falling back to LLVM style" can make it fail, which might be undesired. Patch by Alp Toker. Thank you! llvm-svn: 192184
* clang-format: Fix clang-format-diff.py according to diff specification.Daniel Jasper2013-10-021-2/+5
| | | | | | | | | | | | | | | | | | | | | Patch by Alp Toker. Many thanks! Original descriptions: clang-format-diff incorrectly modifies unchanged lines due to an error in diff parsing. The unified diff format has a default line change count of 1, and 0 may be specified to indicate that no lines have been added. This patch updates the parser to accurately reflect the diff specification. This also has the benefit of stabilising the operation so it will produce the same output when run multiple times on the same changeset, which was previously not the case. No tests added because this script is not currently tested (though we should look into that!) llvm-svn: 191820
* Remove unused variable introduced in 191666David Blaikie2013-09-301-3/+0
| | | | llvm-svn: 191682
* Moving style option formatting to libFormatEdwin Vane2013-09-301-78/+6
| | | | | | | | | The help text for clang-format's -style option and the function that processes its value is moved to libFormat in this patch. The goal is to enable other tools that use libFormat and also have a -style option to behave consistently with clang-format. llvm-svn: 191666
* Fix clang-format-diff.py to accept -style again.Daniel Jasper2013-09-211-1/+1
| | | | | | Copy and paste error in r190935.. llvm-svn: 191137
* Simplify clang-format-diff.py using new clang-format options.Daniel Jasper2013-09-181-59/+26
| | | | | | clang-format's -lines parameter makes this significantly easier. llvm-svn: 190935
* clang-format: Add -assume-filename option for editor integrations.Daniel Jasper2013-09-134-15/+30
| | | | | | | | | | | | | | With -style=file, clang-format now starts to search for a .clang-format file starting at the file given with -assume-filename if it reads from stdin. Otherwise, it would start searching from the current directory, which is not helpful for editor integrations. Also changed vim, emacs and sublime integrations to actually make use of this flag. This fixes llvm.org/PR17072. llvm-svn: 190691
* Allow _clang-format as alternative to .clang-format config filenameHans Wennborg2013-09-103-2/+14
| | | | | | | | | | | Dotfiles are impractical on Windows. This makes clang-format search for the style configuration file as '_clang-format' in addition to the usual '.clang-format'. This is similar to how VIM searches for '_vimrc' on Windows. Differential Revision: http://llvm-reviews.chandlerc.com/D1629 llvm-svn: 190413
* Added WebKit style to the BasedOnStyle handling and to the relevant help ↵Alexander Kornienko2013-09-022-4/+6
| | | | | | messages. llvm-svn: 189765
* Whitespace changes in help messages + updated help output in .rst file.Alexander Kornienko2013-09-021-4/+4
| | | | llvm-svn: 189762
* Switch the default mode for clang-format to '-file'. Make 'LLVM' theChandler Carruth2013-09-024-14/+16
| | | | | | | | | | | | | | | | | | | 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. ;] llvm-svn: 189741
* Simplify git-clang-format by using new -lines option.Daniel Jasper2013-08-011-44/+12
| | | | | | Patch by Mark Lodato. Thank you! llvm-svn: 187592
* Fix bug in clang-format's vim integration cause by r186789.Daniel Jasper2013-07-221-1/+1
| | | | | | | | After the first operation, the buffer contents has changed and thus all other operations would be invalid. Executing the operations in reversed order should fix this. llvm-svn: 186840
* Install git-clang-format along with clang-format by default.Daniel Jasper2013-07-221-3/+2
| | | | llvm-svn: 186825
OpenPOWER on IntegriCloud