commit | 884deefc636e6425837ded28c094922143424113 | [log] [tgz] |
---|---|---|
author | cushon <cushon@google.com> | Tue Jul 26 17:19:11 2016 -0700 |
committer | Liam Miller-Cushon <cushon@google.com> | Wed Jul 27 21:54:59 2016 -0700 |
tree | 8654e05a48c59373d7b8ec9261201acdc52ed54f | |
parent | c238000e607e2c109da89631d91207434e69622a [diff] |
Partial formatting improvements Expand zero-length ranges to length 1, to support editor integrations that use empty ranges to format the line under the cursor. Also, store start and end positions of tokens and partial formatting ranges, instead storing a single position for boundaries. This allows us to handle regions of whitespace between tokens or between formattable ranges correctly. For example, formatting the newline at the end of a statement no longer causes the previous statement to be formatted. MOE_MIGRATED_REVID=128534262
google-java-format
is a program that reformats Java source code to comply with Google Java Style.
Download the formatter and run it with:
java -jar /path/to/google-java-format-1.0-all-deps.jar <options> [files...]
The formatter can act on whole files, on limited lines (--lines
), on specific ofsets (--offset
), passing through to standard-out (default) or altered in-place (--replace
).
To reformat changed lines in a specific patch, use [google-java-format-diff.py
] (https://github.com/google/google-java-format/blob/master/scripts/google-java-format-diff.py)
Note: There is no configurability as to the formatter's algorithm for formatting. This is a deliberate design decision to unify our code formatting on a single format.
The formatter can be used in software which generates java to output more legible java code. Just include the library in your maven/gradle/etc. configuration.
<dependency> <groupId>com.google.googlejavaformat</groupId> <artifactId>google-java-format</artifactId> <version>1.0</version> </dependency>
dependencies { compile 'com.google.googlejavaformat:google-java-format:1.0' }
You can then use the formatter through the formatSource
methods. E.g.
String formattedSource = new Formatter().formatSource(sourceString);
or
CharSource source = ... CharSink output = ... new Formatter().formatSource(source, output);
Your starting point should be the instance methods of com.google.googlejavaformat.java.Formatter
.
mvn install
Please see the contributors guide for details.
Copyright 2015 Google Inc. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.