diff options
author | skullydazed <skullydazed@users.noreply.github.com> | 2019-07-15 12:14:27 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-15 12:14:27 -0700 |
commit | a25dd58bc56b0c4010673723ac44eaff914979bb (patch) | |
tree | e4c08289df1b72db4ef8447ab7fdc13f604cffac /setup.cfg | |
parent | 7ba82cb5b751d69dda6cc77ec8877c89defad3e4 (diff) | |
download | qmk_firmware-a25dd58bc56b0c4010673723ac44eaff914979bb.tar.gz qmk_firmware-a25dd58bc56b0c4010673723ac44eaff914979bb.zip |
QMK CLI and JSON keymap support (#6176)
* Script to generate keymap.c from JSON file.
* Support for keymap.json
* Add a warning about the keymap.c getting overwritten.
* Fix keymap generating
* Install the python deps
* Flesh out more of the python environment
* Remove defunct json2keymap
* Style everything with yapf
* Polish up python support
* Hide json keymap.c into the .build dir
* Polish up qmk-compile-json
* Make milc work with positional arguments
* Fix a couple small things
* Fix some errors and make the CLI more understandable
* Make the qmk wrapper more robust
* Add basic QMK Doctor
* Clean up docstrings and flesh them out as needed
* remove unused compile_firmware() function
Diffstat (limited to 'setup.cfg')
-rw-r--r-- | setup.cfg | 330 |
1 files changed, 330 insertions, 0 deletions
diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 000000000..528512ac6 --- /dev/null +++ b/setup.cfg | |||
@@ -0,0 +1,330 @@ | |||
1 | # Python settings for QMK | ||
2 | |||
3 | [yapf] | ||
4 | # Align closing bracket with visual indentation. | ||
5 | align_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 | # } | ||
14 | allow_multiline_dictionary_keys=False | ||
15 | |||
16 | # Allow lambdas to be formatted on more than one line. | ||
17 | allow_multiline_lambdas=False | ||
18 | |||
19 | # Allow splitting before a default / named assignment in an argument list. | ||
20 | allow_split_before_default_or_named_assigns=True | ||
21 | |||
22 | # Allow splits before the dictionary value. | ||
23 | allow_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 | # | ||
43 | arithmetic_precedence_indication=True | ||
44 | |||
45 | # Number of blank lines surrounding top-level function and class | ||
46 | # definitions. | ||
47 | blank_lines_around_top_level_definition=2 | ||
48 | |||
49 | # Insert a blank line before a class-level docstring. | ||
50 | blank_line_before_class_docstring=False | ||
51 | |||
52 | # Insert a blank line before a module docstring. | ||
53 | blank_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 | # ... | ||
62 | blank_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 | # }) | ||
80 | coalesce_brackets=True | ||
81 | |||
82 | # The column limit. | ||
83 | column_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. | ||
97 | continuation_align_style=SPACE | ||
98 | |||
99 | # Indent width used for line continuations. | ||
100 | continuation_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 | ||
118 | dedent_closing_brackets=True | ||
119 | |||
120 | # Disable the heuristic which places each list element on a separate line | ||
121 | # if the list is comma-terminated. | ||
122 | disable_ending_comma_heuristic=False | ||
123 | |||
124 | # Place each dictionary entry onto its own line. | ||
125 | each_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. | ||
130 | i18n_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. | ||
135 | i18n_function_call= | ||
136 | |||
137 | # Indent blank lines. | ||
138 | indent_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 | # } | ||
149 | indent_dictionary_value=True | ||
150 | |||
151 | # The number of columns to use for indentation. | ||
152 | indent_width=4 | ||
153 | |||
154 | # Join short lines into one line. E.g., single line 'if' statements. | ||
155 | join_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 | ||
164 | no_spaces_around_selected_binary_operators= | ||
165 | |||
166 | # Use spaces around default or named assigns. | ||
167 | spaces_around_default_or_named_assign=False | ||
168 | |||
169 | # Use spaces around the power operator. | ||
170 | spaces_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 | # | ||
209 | spaces_before_comment=2 | ||
210 | |||
211 | # Insert a space between the ending comma and closing bracket of a list, | ||
212 | # etc. | ||
213 | space_between_ending_comma_and_closing_bracket=False | ||
214 | |||
215 | # Split before arguments | ||
216 | split_all_comma_separated_values=False | ||
217 | |||
218 | # Split before arguments if the argument list is terminated by a | ||
219 | # comma. | ||
220 | split_arguments_when_comma_terminated=True | ||
221 | |||
222 | # Set to True to prefer splitting before '+', '-', '*', '/', '//', or '@' | ||
223 | # rather than after. | ||
224 | split_before_arithmetic_operator=False | ||
225 | |||
226 | # Set to True to prefer splitting before '&', '|' or '^' rather than | ||
227 | # after. | ||
228 | split_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. | ||
232 | split_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 | # } | ||
241 | split_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)) | ||
251 | split_before_dot=False | ||
252 | |||
253 | # Split after the opening paren which surrounds an expression if it doesn't | ||
254 | # fit on a single line. | ||
255 | split_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. | ||
259 | split_before_first_argument=False | ||
260 | |||
261 | # Set to True to prefer splitting before 'and' or 'or' rather than | ||
262 | # after. | ||
263 | split_before_logical_operator=False | ||
264 | |||
265 | # Split named assignments onto individual lines. | ||
266 | split_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] | ||
282 | split_complex_comprehension=True | ||
283 | |||
284 | # The penalty for splitting right after the opening bracket. | ||
285 | split_penalty_after_opening_bracket=300 | ||
286 | |||
287 | # The penalty for splitting the line after a unary operator. | ||
288 | split_penalty_after_unary_operator=10000 | ||
289 | |||
290 | # The penalty of splitting the line around the '+', '-', '*', '/', '//', | ||
291 | # ``%``, and '@' operators. | ||
292 | split_penalty_arithmetic_operator=300 | ||
293 | |||
294 | # The penalty for splitting right before an if expression. | ||
295 | split_penalty_before_if_expr=0 | ||
296 | |||
297 | # The penalty of splitting the line around the '&', '|', and '^' | ||
298 | # operators. | ||
299 | split_penalty_bitwise_operator=300 | ||
300 | |||
301 | # The penalty for splitting a list comprehension or generator | ||
302 | # expression. | ||
303 | split_penalty_comprehension=80 | ||
304 | |||
305 | # The penalty for characters over the column limit. | ||
306 | split_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. | ||
310 | split_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) | ||
322 | split_penalty_import_names=0 | ||
323 | |||
324 | # The penalty of splitting the line around the 'and' and 'or' | ||
325 | # operators. | ||
326 | split_penalty_logical_operator=300 | ||
327 | |||
328 | # Use the Tab character for indentation. | ||
329 | use_tabs=False | ||
330 | |||