-
-
Notifications
You must be signed in to change notification settings - Fork 206
/
.cmake-format.yaml
127 lines (98 loc) · 4.32 KB
/
.cmake-format.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# cmake-format[1] is a tiny tool that automatically format CMake files
# CMake syntax is already strange, and as we are sharing it between
# several people, it is probably good to have an standards.
#
# You can get it using `pip install cmakelang` and run it using
# `cmake-format -i <your-cmake-file>`. It is usually smart enough to
# use this file, if not, you can run
# `cmake-format -c .cmake-format.yaml -i <your-cmake-file>`
#
# Both SublimeText[2] and VSCode[3] have plugins for it as well:
#
# [1]: https://github.com/cheshirekow/cmake_format
# [2]: https://github.com/jasjuang/sublime_cmake_format
# [3]: https://marketplace.visualstudio.com/items?itemName=cheshirekow.cmake-format
# How wide to allow formatted cmake files
line_width: 80
# How many spaces to tab for indent
tab_size: 2
# If an argument group contains more than this many sub-groups (parg or kwarg
# groups), then force it to a vertical layout.
max_subgroups_hwrap: 2
# If a positinal argument group contains more than this many arguments, then
# force it to a vertical layout.
max_pargs_hwrap: 3
# If true, separate flow control names from their parentheses with a space
separate_ctrl_name_with_space: false
# If true, separate function names from parentheses with a space
separate_fn_name_with_space: false
# If a statement is wrapped to more than one line, than dangle the closing
# parenthesis on it's own line
dangle_parens: false
# If the trailing parenthesis must be 'dangled' on it's on line, then align it
# to this reference: `prefix`: the start of the statement, `prefix-indent`: the
# start of the statement, plus one indentation level, `child`: align to the
# column of the arguments
dangle_align: "prefix"
min_prefix_chars: 4
# If the statement spelling length (including space and parenthesis is larger
# than the tab width by more than this amoung, then force reject un-nested
# layouts.
max_prefix_chars: 10
# If a candidate layout is wrapped horizontally but it exceeds this many lines,
# then reject the layout.
max_lines_hwrap: 2
# What style line endings to use in the output.
line_ending: "unix"
# Format command names with this case. Options are "lower", "upper",
# "unchanged"
command_case: "lower"
# Format keywords consistently as 'lower' or 'upper' case
keyword_case: "unchanged"
# A list of command names which should always be wrapped
always_wrap: "[]"
# If true, the argument lists which are known to be sortable will be sorted
# lexicographicall
enable_sort: true
# If true, the parsers may infer whether or not an argument list is sortable
# (without annotation).
autosort: false
# If a comment line starts with at least this many consecutive hash characters,
# then don't lstrip() them off. This allows for lazy hash rulers where the first
# hash char is not separated by space
hashruler_min_length: 10
# --------------------------
# Comment Formatting Options
# --------------------------
# What character to use for bulleted lists
bullet_char: "*"
# What character to use as punctuation after numerals in an enumerated list
enum_char: "."
# enable comment markup parsing and reflow
enable_markup: false
# If comment markup is enabled, don 't reflow the first comment block in each
# listfile.Use this to preserve formatting of your copyright / license
# statements.
first_comment_is_literal: false
# If comment markup is enabled, don 't reflow any comment block which matches
# this(regex) pattern.Default is `None`(disabled).
literal_comment_pattern: "None"
# Regular expression to match preformat fences in comments
# default = r '^\s*([`~]{3}[`~]*)(.*)$'
fence_pattern: "^\\s*([`~]{3}[`~]*)(.*)$"
# Regular expression to match rulers in comments
# default = r '^\s*[^\w\s]{3}.*[^\w\s]{3}$'
ruler_pattern: "^\\s*[^\\w\\s]{3}.*[^\\w\\s]{3}$"
# If true, then insert a space between the first hash char and remaining hash
# chars in a hash ruler, and normalize it 's length to fill the column
canonicalize_hashrulers: true
# ---------------------------------
# Miscellaneous Options
# ---------------------------------
# If true, emit the unicode byte - order mark(BOM) at the start of the file
emit_byteorder_mark: false
# Specify the encoding of the input file.Defaults to utf - 8.
input_encoding: "utf-8"
# Specify the encoding of the output file.Defaults to utf - 8. Note that cmake
# only claims to support utf - 8 so be careful when using anything else
output_encoding: "utf-8"