Allow 'make all:<user>' to not build EVERYTHING (#7402)
[jackhill/qmk/firmware.git] / setup.cfg
CommitLineData
a25dd58b 1# Python settings for QMK
2
3[yapf]
4# Align closing bracket with visual indentation.
5align_closing_bracket_with_visual_indent=True
6
7# Allow dictionary keys to exist on multiple lines. For example:
8#
9# x = {
10# ('this is the first element of a tuple',
11# 'this is the second element of a tuple'):
12# value,
13# }
14allow_multiline_dictionary_keys=False
15
16# Allow lambdas to be formatted on more than one line.
17allow_multiline_lambdas=False
18
19# Allow splitting before a default / named assignment in an argument list.
20allow_split_before_default_or_named_assigns=True
21
22# Allow splits before the dictionary value.
23allow_split_before_dict_value=True
24
25# Let spacing indicate operator precedence. For example:
26#
27# a = 1 * 2 + 3 / 4
28# b = 1 / 2 - 3 * 4
29# c = (1 + 2) * (3 - 4)
30# d = (1 - 2) / (3 + 4)
31# e = 1 * 2 - 3
32# f = 1 + 2 + 3 + 4
33#
34# will be formatted as follows to indicate precedence:
35#
36# a = 1*2 + 3/4
37# b = 1/2 - 3*4
38# c = (1+2) * (3-4)
39# d = (1-2) / (3+4)
40# e = 1*2 - 3
41# f = 1 + 2 + 3 + 4
42#
43arithmetic_precedence_indication=True
44
45# Number of blank lines surrounding top-level function and class
46# definitions.
47blank_lines_around_top_level_definition=2
48
49# Insert a blank line before a class-level docstring.
50blank_line_before_class_docstring=False
51
52# Insert a blank line before a module docstring.
53blank_line_before_module_docstring=False
54
55# Insert a blank line before a 'def' or 'class' immediately nested
56# within another 'def' or 'class'. For example:
57#
58# class Foo:
59# # <------ this blank line
60# def method():
61# ...
62blank_line_before_nested_class_or_def=False
63
64# Do not split consecutive brackets. Only relevant when
65# dedent_closing_brackets is set. For example:
66#
67# call_func_that_takes_a_dict(
68# {
69# 'key1': 'value1',
70# 'key2': 'value2',
71# }
72# )
73#
74# would reformat to:
75#
76# call_func_that_takes_a_dict({
77# 'key1': 'value1',
78# 'key2': 'value2',
79# })
80coalesce_brackets=True
81
82# The column limit.
83column_limit=256
84
85# The style for continuation alignment. Possible values are:
86#
87# - SPACE: Use spaces for continuation alignment. This is default behavior.
88# - FIXED: Use fixed number (CONTINUATION_INDENT_WIDTH) of columns
89# (ie: CONTINUATION_INDENT_WIDTH/INDENT_WIDTH tabs) for continuation
90# alignment.
91# - VALIGN-RIGHT: Vertically align continuation lines with indent
92# characters. Slightly right (one more indent character) if cannot
93# vertically align continuation lines with indent characters.
94#
95# For options FIXED, and VALIGN-RIGHT are only available when USE_TABS is
96# enabled.
97continuation_align_style=SPACE
98
99# Indent width used for line continuations.
100continuation_indent_width=4
101
102# Put closing brackets on a separate line, dedented, if the bracketed
103# expression can't fit in a single line. Applies to all kinds of brackets,
104# including function definitions and calls. For example:
105#
106# config = {
107# 'key1': 'value1',
108# 'key2': 'value2',
109# } # <--- this bracket is dedented and on a separate line
110#
111# time_series = self.remote_client.query_entity_counters(
112# entity='dev3246.region1',
113# key='dns.query_latency_tcp',
114# transform=Transformation.AVERAGE(window=timedelta(seconds=60)),
115# start_ts=now()-timedelta(days=3),
116# end_ts=now(),
117# ) # <--- this bracket is dedented and on a separate line
118dedent_closing_brackets=True
119
120# Disable the heuristic which places each list element on a separate line
121# if the list is comma-terminated.
122disable_ending_comma_heuristic=False
123
124# Place each dictionary entry onto its own line.
125each_dict_entry_on_separate_line=True
126
127# The regex for an i18n comment. The presence of this comment stops
128# reformatting of that line, because the comments are required to be
129# next to the string they translate.
130i18n_comment=
131
132# The i18n function call names. The presence of this function stops
133# reformattting on that line, because the string it has cannot be moved
134# away from the i18n comment.
135i18n_function_call=
136
137# Indent blank lines.
138indent_blank_lines=False
139
140# Indent the dictionary value if it cannot fit on the same line as the
141# dictionary key. For example:
142#
143# config = {
144# 'key1':
145# 'value1',
146# 'key2': value1 +
147# value2,
148# }
149indent_dictionary_value=True
150
151# The number of columns to use for indentation.
152indent_width=4
153
154# Join short lines into one line. E.g., single line 'if' statements.
155join_multiple_lines=False
156
157# Do not include spaces around selected binary operators. For example:
158#
159# 1 + 2 * 3 - 4 / 5
160#
161# will be formatted as follows when configured with "*,/":
162#
163# 1 + 2*3 - 4/5
164no_spaces_around_selected_binary_operators=
165
166# Use spaces around default or named assigns.
167spaces_around_default_or_named_assign=False
168
169# Use spaces around the power operator.
170spaces_around_power_operator=False
171
172# The number of spaces required before a trailing comment.
173# This can be a single value (representing the number of spaces
174# before each trailing comment) or list of values (representing
175# alignment column values; trailing comments within a block will
176# be aligned to the first column value that is greater than the maximum
177# line length within the block). For example:
178#
179# With spaces_before_comment=5:
180#
181# 1 + 1 # Adding values
182#
183# will be formatted as:
184#
185# 1 + 1 # Adding values <-- 5 spaces between the end of the statement and comment
186#
187# With spaces_before_comment=15, 20:
188#
189# 1 + 1 # Adding values
190# two + two # More adding
191#
192# longer_statement # This is a longer statement
193# short # This is a shorter statement
194#
195# a_very_long_statement_that_extends_beyond_the_final_column # Comment
196# short # This is a shorter statement
197#
198# will be formatted as:
199#
200# 1 + 1 # Adding values <-- end of line comments in block aligned to col 15
201# two + two # More adding
202#
203# longer_statement # This is a longer statement <-- end of line comments in block aligned to col 20
204# short # This is a shorter statement
205#
206# a_very_long_statement_that_extends_beyond_the_final_column # Comment <-- the end of line comments are aligned based on the line length
207# short # This is a shorter statement
208#
209spaces_before_comment=2
210
211# Insert a space between the ending comma and closing bracket of a list,
212# etc.
213space_between_ending_comma_and_closing_bracket=False
214
215# Split before arguments
216split_all_comma_separated_values=False
217
218# Split before arguments if the argument list is terminated by a
219# comma.
220split_arguments_when_comma_terminated=True
221
222# Set to True to prefer splitting before '+', '-', '*', '/', '//', or '@'
223# rather than after.
224split_before_arithmetic_operator=False
225
226# Set to True to prefer splitting before '&', '|' or '^' rather than
227# after.
228split_before_bitwise_operator=True
229
230# Split before the closing bracket if a list or dict literal doesn't fit on
231# a single line.
232split_before_closing_bracket=True
233
234# Split before a dictionary or set generator (comp_for). For example, note
235# the split before the 'for':
236#
237# foo = {
238# variable: 'Hello world, have a nice day!'
239# for variable in bar if variable != 42
240# }
241split_before_dict_set_generator=True
242
243# Split before the '.' if we need to split a longer expression:
244#
245# foo = ('This is a really long string: {}, {}, {}, {}'.format(a, b, c, d))
246#
247# would reformat to something like:
248#
249# foo = ('This is a really long string: {}, {}, {}, {}'
250# .format(a, b, c, d))
251split_before_dot=False
252
253# Split after the opening paren which surrounds an expression if it doesn't
254# fit on a single line.
255split_before_expression_after_opening_paren=False
256
257# If an argument / parameter list is going to be split, then split before
258# the first argument.
259split_before_first_argument=False
260
261# Set to True to prefer splitting before 'and' or 'or' rather than
262# after.
263split_before_logical_operator=False
264
265# Split named assignments onto individual lines.
266split_before_named_assigns=True
267
268# Set to True to split list comprehensions and generators that have
269# non-trivial expressions and multiple clauses before each of these
270# clauses. For example:
271#
272# result = [
273# a_long_var + 100 for a_long_var in xrange(1000)
274# if a_long_var % 10]
275#
276# would reformat to something like:
277#
278# result = [
279# a_long_var + 100
280# for a_long_var in xrange(1000)
281# if a_long_var % 10]
282split_complex_comprehension=True
283
284# The penalty for splitting right after the opening bracket.
285split_penalty_after_opening_bracket=300
286
287# The penalty for splitting the line after a unary operator.
288split_penalty_after_unary_operator=10000
289
290# The penalty of splitting the line around the '+', '-', '*', '/', '//',
291# ``%``, and '@' operators.
292split_penalty_arithmetic_operator=300
293
294# The penalty for splitting right before an if expression.
295split_penalty_before_if_expr=0
296
297# The penalty of splitting the line around the '&', '|', and '^'
298# operators.
299split_penalty_bitwise_operator=300
300
301# The penalty for splitting a list comprehension or generator
302# expression.
303split_penalty_comprehension=80
304
305# The penalty for characters over the column limit.
306split_penalty_excess_character=7000
307
308# The penalty incurred by adding a line split to the unwrapped line. The
309# more line splits added the higher the penalty.
310split_penalty_for_added_line_split=30
311
312# The penalty of splitting a list of "import as" names. For example:
313#
314# from a_very_long_or_indented_module_name_yada_yad import (long_argument_1,
315# long_argument_2,
316# long_argument_3)
317#
318# would reformat to something like:
319#
320# from a_very_long_or_indented_module_name_yada_yad import (
321# long_argument_1, long_argument_2, long_argument_3)
322split_penalty_import_names=0
323
324# The penalty of splitting the line around the 'and' and 'or'
325# operators.
326split_penalty_logical_operator=300
327
328# Use the Tab character for indentation.
329use_tabs=False
330