Files
bacnet_stack/doc/indent/README.md
T
2020-03-12 20:53:34 -05:00

57 lines
1.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# How to configure clangformat
## Overview
clang-format is an utility to format source code in several languages
according to predefined settings. Settings for auto-formatting of C source
files are summarized below, and should be saved in .clang-format file in root
folder. These settings are chosen to closely match the formatting style used.
## Configuring Editors
### Visual Studio Code
Install the C/C++ extension and customize settings.json to include:
"C_Cpp.clang_format_path": "/path/to/<clang-format-executable>",
"C_Cpp.clang_format_style": "file",
"C_Cpp.clang_format_fallbackStyle": "none"
### Emacs
Add the line
(load "/path/to/clang-format.el")
to `~/.emacs.d/init.el`. Format a source file with `M-x clang-format-region`.
### CLion
* Add the .clang-format file to the root directory as
explained above. Go to File->Settings->Tools->External Tools
and click on the plus sign. A window should pop up.
Choose a name, for example "clang-format"
* For the Tool settings tab use this configuration:
- Program: `clang-format` (use the name of your executable here)
- Parameters: `--style=file -i $FileName$`
- Working directory: `$FileDir$`
With your file open, go to `Tools->External tools` and run the config above.
This calls `clang-format` and does in-place formatting using the style
defined in the first `.clang-format` file found in a parent directory.
### .clang-format file
---
BasedOnStyle: WebKit
BinPackParameters: false
AlignEscapedNewlines: Left
PointerAlignment: Right
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
BreakBeforeBraces: Linux
BreakBeforeBinaryOperators: None
KeepEmptyLinesAtTheStartOfBlocks: false
PenaltyBreakBeforeFirstCallParameter: 1
IndentCaseLabels: true
IndentWidth: 4
UseTab: Never
SortIncludes: false
ColumnLimit: 80
...