Last active
May 31, 2019 02:54
-
-
Save tune/5140846 to your computer and use it in GitHub Desktop.
qiitaに投稿されていた解説をベースに微修正を加えたUncrustify設定ファイル
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 一般設定 | |
# http://qiita.com/items/d8998dd5e90697744e3c | |
newlines = crlf # 改行コードはLFCR | |
input_tab_size = 4 # 入力ファイルのタブサイズ | |
output_tab_size = 4 # 出力ファイルのタブサイズ | |
string_escape_char = 92 # エスケープシーケンス('\') | |
tok_split_gte = false # '>='と'>>='を'void f(list<list<B>>=val);'のテンプレートの一部と解釈させない | |
utf8_bom = add # UTF-8ファイルのBOMコードを追加する | |
utf8_byte = false # 値128〜255を持つバイトを含むUTF-8でないファイルの場合、出力をUTF-8としない | |
utf8_force = true # 出力エンコーディングを強制的にUTF-8にする | |
# プリプロセッサ | |
# http://qiita.com/items/dd7c5ffdff27451dae16 | |
pp_indent = add # #if、#ifdef、#ifndef〜#else〜#endifブロック内のプロプロセッサをインデントする | |
pp_indent_at_level = false # ソースコードのインデントレベルに合わせてインデントしない | |
pp_indent_count = 4 # プリプロセッサのインデント幅 | |
pp_space = remove # #の後にあるスペースを削除する | |
pp_space_count = 0 # #の後のインデント幅は0 | |
pp_indent_region = 0 # #region/#endregionをインデントしない | |
pp_region_indent_code = false #regionと#endregionの間のコードをインデントしない | |
pp_indent_if = 0 # インデント幅は固定されない。その他の整形オプションに応じてインデントされる。 | |
pp_if_indent_code = false # プリプロセッサレベル (#if〜#endifブロック) でインデントされない。 | |
pp_define_at_level = false # #defineがソースコード(struct bar)のインデントレベルにはインデントされない。その他の整形オプションに応じてインデントされる。 | |
# インデント | |
# http://qiita.com/items/b3fee3560e4ae746b468 | |
indent_columns = 4 # インデントレベルのインデント幅 | |
indent_continue = 0 # '='-改行の後は位置揃えする。 | |
indent_with_tabs = 2 # インデントも位置揃えもタブを用いる。 | |
indent_cmt_with_tabs = true # コメントまでのスペースをタブ位置までタブ文字でスペーシングする | |
indent_align_string = true # '\'-改行でされた文字列を位置揃えさせる | |
indent_brace = 0 # ボディレベルと同じインデント位置に'{'、'}'を配置する。 | |
indent_braces = false # ボディレベルと同じレベルで'{'、'}'を配置する。 | |
indent_brace_parent = false # ブレースオーナーの文字数ベースでインデントしない | |
indent_namespace = false # 'namespace'のボディをインデントしない | |
indent_extern = false # extern "C" ボディをインデントしない | |
indent_class = true # クラスボディをインデントしない。 | |
indent_class_colon = true # コンストラクタのイニシャライザのインデントを細かく整形する。 | |
indent_ctor_init_leading = 2 # メンバー初期化の1行目のコロンに対して2行目以降はインデント幅が半角空白2個分インデントされる。 | |
indent_ctor_init = 0 # 追加のインデントを行わない | |
indent_else_if = false # 'else\nif'を'if'をインデントしない。 | |
indent_var_def_blk = 0 # 変数宣言の位置ぞろえを行わない | |
indent_var_def_cont = false # 複数行の変数宣言をインデントではなく位置揃え (align) する。 | |
indent_func_def_force_col1 = false # 関数定義を現在のコードのインデントレベルに合わせる。 | |
indent_func_call_param = false # 引数リストを'('の下に位置揃えする。 | |
indent_func_def_param = false # 引数リストを'('の下に位置揃えする。 | |
indent_func_proto_param = false # 引数リストを'('の下に位置揃えする。 | |
indent_func_class_param = false # 引数リストを'('の下に位置揃えする。 | |
indent_func_ctor_var_param = false # 引数リストを'('の下に位置揃えする。 | |
indent_template_param = false # 引数リストを'<'の下に位置揃えする。 | |
indent_func_param_double = false # 引数リストをインデントする。 | |
indent_func_const = 0 # 行頭(カラム=1)にconstを位置揃えしない | |
indent_func_throw = 0 # 行頭(カラム=1)にthrowを位置揃えしない | |
indent_member = 0 # '->'や'.'で行送りした場合、空白を使って位置ぞろえしない。 | |
indent_sing_line_comments = 0 # コード直前の'//'で始まるコメント行 (複数行OK) を半角空白で位置ぞろえしない | |
indent_relative_single_line_comments = false # コードの後ろの一行コメントのカラム位置はキープされる。(キープできない場合もある) | |
indent_switch_case = 0 # 'case'と'switch'は同じ位置にインデントされる。 | |
indent_case_shift = 0 # 'case'の前に半角空白で位置揃えしない | |
indent_case_brace = 0 # 'case'の次の行に続く'{'から先の行をindent_switch_caseから半角空白で位置揃えしない | |
indent_col1_comment = true # 行頭コメントもインデントする。 | |
indent_label = 1 # 行頭にgotoラベルを配置する。 | |
indent_access_spec = 1 # 行頭にアクセス指定子を配置する。 | |
indent_access_spec_body = false # アクセス指定子内のボディをインデントしない | |
indent_paren_nl = true # ('の直後に改行されていたら、'('の下まで位置揃えされる。 | |
indent_paren_close = 0 # 改行直後の')'はボディレベルに位置揃えされる。 | |
indent_comma_paren = false # '('の下に','が位置揃えされない | |
indent_bool_paren = false # '('の下に'||'が位置揃えされない | |
indent_first_bool_expr = false # 最初の評価式を続く評価式のインデントに位置揃えしない | |
indent_square_nl = false # '['の位置に改行後のコードが位置揃えされない | |
indent_align_assign = true # '='に続くステートメントをインデントする | |
# アラインメント | |
# http://qiita.com/items/aecf5d72a55eef7ed6fe | |
align_keep_tabs = false # タブ文字は残る。 | |
align_with_tabs = true # タブで位置を揃える | |
align_on_tabstop = false # 一番短く揃えられる位置で揃えられる。 | |
align_number_left = false # 構造体フィールドの初期化の数値リテラルを右寄せしない | |
align_func_params = true # 関数定義やプロトタイプ宣言の引数リストの型と変数名の間が位置揃えされる | |
align_same_func_call_params = false # 同じ関数呼び出しが並んでいても、引数の位置は自動的には揃わない。(何もしない) | |
align_var_def_star_style = 0 # 変数宣言におけるポインタの'*'を変数の型に付ける。 | |
align_var_def_amp_style = 0 # 変数宣言における参照の'&'を変数の型に付ける。 | |
align_var_def_colon = true # 構造体のビットフィールドの':'の位置を揃える。 | |
align_var_def_attribute = true # 変数属性の'__attribute__'の位置を合わせる。 | |
align_var_def_inline = true # 構造体のメンバ変数の宣言(型名とメンバ変数名)の位置を揃える。 | |
align_var_def_span = 2 # 空行が1行開いている変数定義でも一緒に位置揃えを行う。 | |
align_var_def_thresh = 6 # 変数定義の位置揃えのカラム閾値 | |
align_var_def_gap = 0 # 変数の型と変数名の間に半角空白1文字分の余白を空ける。 | |
align_assign_span = 2 # 空行が1行開いている代入式でも一緒に'='を位置揃えを行う。 | |
align_assign_thresh = 6 # 代入式の'='の位置揃えをするカラム閾値 | |
align_enum_equ_span = 2 # enumの'='の位置揃えをするラインスパン | |
align_enum_equ_thresh = 6 # enumの'='の位置揃えをするカラム閾値 | |
align_var_struct_span = 2 # struct/unionのメンバー定義の位置揃えをするラインスパン | |
align_var_struct_thresh = 6 # struct/unionのメンバー定義の位置揃えをするカラム閾値 | |
align_var_struct_gap = 0 # struct/unionのメンバー定義のカラムギャップ | |
align_struct_init_span = 1 # structのメンバ変数の指定初期化の位置揃えのラインスパン | |
align_typedef_gap = 0 # typedefの型とシノニムの間の空白の最小数 | |
align_typedef_span = 2 # 一行typedefの位置揃えをするラインスパン | |
align_typedef_func = 1 # 関数ポインタ型は'*'を含めて、他の型シノニムと位置揃えされる。 | |
align_typedef_star_style = 0 # ポインタ型の'*'は、型の方へ寄せられる。 | |
align_typedef_amp_style = 0 # 参照型の'&'は、型の方へ寄せられる。 | |
align_right_cmt_span = 4 # 行末コメントを位置揃えするラインスパン | |
align_right_cmt_mix = false | |
align_right_cmt_gap = 1 # 行末コメントがこの桁数以上コードと離れている場合、位置揃えする | |
align_right_cmt_at_col = 0 # 行末コメントの位置揃えするカラム位置 | |
align_func_proto_span = 2 # プロトタイプ宣言の位置揃えのラインスパン | |
align_func_proto_gap = 0 # プロトタイプ宣言の返値型と関数名の間のギャップカラム | |
align_on_operator = true # 'operator'キーワードでプロトタイプ宣言を位置揃えする | |
align_mix_var_proto = false # 変数宣言と関数プロトタイプ宣言はそれぞれ別々に位置揃えする。 | |
align_single_line_func = true # 一行関数を関数プロトタイプと同様に位置揃えする | |
align_single_line_brace = true # 一行関数のオープンブレースを位置揃えするかどうか | |
align_single_line_brace_gap = 0 # align_single_line_braceに対するギャップ | |
align_nl_cont = true # バックスラッシュ-改行で囲われた複数行マクロを位置揃えする | |
align_pp_define_span = 2 # プリプロセッサ定義のボディの位置揃えのスパン | |
align_pp_define_gap = 0 # プリプロセッサ定義のラベルと値の間の空白の最小幅 | |
align_pp_define_together = true # マクロ関数とマクロ変数を一緒に位置揃えする | |
align_left_shift = true # '<<'で開始する行を前の行の'<<'の位置に揃える | |
# ポジション | |
# http://qiita.com/items/ce7269fe4aa9f34e9a8d | |
pos_arith = trail # 行頭に、そのトークンがあった場合、そのトークンを前の行の行末に挿入します。 | |
pos_assign = trail # 行頭に、そのトークンがあった場合、そのトークンを前の行の行末に挿入します。 | |
pos_bool = trail # 行頭に、そのトークンがあった場合、そのトークンを前の行の行末に挿入します。 | |
pos_compare = trail # 行頭に、そのトークンがあった場合、そのトークンを前の行の行末に挿入します。 | |
pos_conditional = trail # 行頭に、そのトークンがあった場合、そのトークンを前の行の行末に挿入します。 | |
pos_comma = trail # 行頭に、そのトークンがあった場合、そのトークンを前の行の行末に挿入します。 | |
pos_class_comma = trail # 行頭に、そのトークンがあった場合、そのトークンを前の行の行末に挿入します。 | |
pos_class_colon = lead # 行末に、そのトークンがあった場合、そのトークンを次の行の行頭に挿入します。 | |
# 空行 | |
# http://qiita.com/items/ee95487e79a2ca7fb375 | |
nl_max = 2 # 連続してもよい改行数 | |
nl_after_func_proto = 1 # 関数プロトタイプ宣言の後の改行数 | |
nl_after_func_proto_group = 2 # 関数プロトタイプ宣言のブロックの後に空行を最低1行は入れる。 | |
nl_after_func_body = 2 # 関数ボディの後 ('}'の次の行) に空行が1行挿入される。 | |
nl_after_func_body_class = 2 # クラス宣言内のメンバ関数のボディの後 ('}'の次の行) に空行が1行挿入される。 | |
nl_after_func_body_one_liner = 1 # 一行関数のボディの後 ('}'の次の行) に空行が入らない | |
nl_before_block_comment = 2 # ブロックコメントの前に空行を最低1行は入れる。 | |
nl_before_c_comment = 0 # Cコメント ('/* ... */') の前に空行を入れない | |
nl_before_cpp_comment = 0 # C++コメント ('// ...') の前に空行を入れない | |
nl_after_multiline_comment = true # 複数行コメントの最終行に改行が挿入される。 | |
nl_after_struct = 2 # 構造体宣言の後に空行を最低1行は入れる。 | |
nl_after_class = 2 # クラス宣言の後に空行を最低1行は入れる。 | |
nl_before_access_spec = 2 # アクセス指定子の前に空行が1行挿入される。 | |
nl_after_access_spec = 1 # アクセス指定子の後に空行を入れない | |
nl_comment_func_def = 1 # 関数定義と直前のコメントとの間に空行を入れない | |
nl_after_try_catch_finally = 2 # try-catch (C#などはfinallyも) の後に空行が1行挿入される。 | |
eat_blanks_after_open_brace = true # '{'の下の空行をすべて削除する。 | |
eat_blanks_before_close_brace = true # '}'の上の空行をすべて削除する。 | |
nl_remove_extra_newlines = 0 # プリプロセッサ以外の改行は変更しない | |
nl_before_return = false # 'return'の前に空行を入れない | |
nl_after_return = false # 'return'の後に空行を入れない | |
nl_if_brace = add # 'if'と'{'の間に改行を 挿入/削除 する. | |
nl_brace_else = add # '}'と'else'の間に改行を 挿入/削除 する. | |
nl_elseif_brace = add # 'else if'と'{'の間に改行を 挿入/削除 する | |
nl_else_brace = add # 'else'と'{'の間に改行を 挿入/削除 する. | |
nl_brace_finally = add # '}'と'finally'の間に改行を 挿入/削除 する. | |
nl_finally_brace = add # 'finally'と'{'の間に改行を 挿入/削除 する. | |
nl_try_brace = add # 'try'と'{'の間に改行を 挿入/削除 する. | |
nl_for_brace = add # 'for'と'{'の間に改行を 挿入/削除 する. | |
nl_catch_brace = add # 'catch'と'{'の間に改行を 挿入/削除 する. | |
nl_brace_catch = add # '}'と'catch'の間に改行を 挿入/削除 する. | |
nl_while_brace = add # 'while'と'{'の間に改行を 挿入/削除 する. | |
nl_do_brace = add # 'do'と'{'の間に改行を 挿入/削除 する. | |
nl_brace_while = remove # }'と('d'oと対の)'while'の間に改行を 挿入/削除 する. | |
nl_switch_brace = add # 'switch'と'{'の間に改行を 挿入/削除 する. | |
nl_fdef_brace = add # 関数定義での名前と'{'の間に改行を 挿入/削除 する. | |
# コード変形 | |
# http://qiita.com/items/d1289c116451b709f610 | |
mod_full_brace_do = add # 一行'do'/'while'文の間に{}'が挿入される。 | |
mod_full_brace_for = add # 'for'文の間に'{}'が挿入される。 | |
mod_full_brace_function = ignore | |
mod_full_brace_if = add # 'if'文の間に'{}'が挿入される。 | |
mod_full_brace_if_chain = false # 'if'/'else-if'/'else'文に'{}'が挿入される。 | |
mod_full_brace_nl = 0 | |
mod_full_brace_while = add # 'while'文の間に'{}'が挿入される。 | |
mod_full_brace_using = ignore | |
mod_paren_on_return = remove # 'return'の'()'を取り除く | |
mod_pawn_semicolon = false # オプショナルなセミコロンをリアルなセミコロンに修正しない | |
mod_full_paren_if_bool = false # 'while'と'if'文のブール値の前後に括弧を追加しない | |
mod_remove_extra_semicolon = true # 余分なセミコロンを削除する | |
mod_add_long_function_closebrace_comment = 0 # 関数ボディの後にコメントをつけない | |
mod_add_long_switch_closebrace_comment = 0 # switchの後にコメントをつけない | |
mod_add_long_ifdef_endif_comment = 5 # 長いendifの後にコメントをつける | |
mod_add_long_ifdef_else_comment = 5 # 長いelseの後にコメントをつける | |
mod_move_case_break = true # '{}'で囲われた'case'の後にある'break'文を'}'の内側に移動する | |
mod_case_brace = ignore | |
mod_remove_empty_return = true # 関数の最後の文に現れる、'return;'を削除する | |
# コメント整形 | |
# http://qiita.com/items/cfeda8a49cf8efe48406 | |
cmt_width = 120 # コメントのカラム数 | |
cmt_reflow_mode = 0 # テキストがcmt_widthで折り返される。 | |
cmt_indent_multi = true # 複数行コメントが整形される | |
cmt_c_group = true # ブロックの先頭の'/*'と末尾の'*/'を残して、取り除き、自動的にコメントをグループ化する。 | |
cmt_c_nl_start = true # ブロックの先頭に'/*'のみのコメント行を挿入する。 | |
cmt_c_nl_end = true # ブロックの末尾に'*/'のみのコメント行を挿入する。 | |
cmt_cpp_to_c = false # '//'で始まるコメントブロックを'/* */'に変更しない | |
cmt_cpp_group = false # '//'で始まるコメントブロックが'/* */'スタイルに変更されていてもグループ化しない | |
cmt_cpp_nl_start = false # ブロックの先頭に'/*'のみのコメント行を挿入する。 | |
cmt_cpp_nl_end = false # ブロックの末尾に'*/'のみのコメント行を挿入する。 | |
cmt_star_cont = true # コメント行の先頭に'*'を付ける | |
cmt_sp_before_star_cont = 0 # '*'の位置調整 | |
cmt_sp_after_star_cont = 0 # '*'の位置調整 | |
# ラインスプリット | |
# http://qiita.com/items/20a8143322e16d969ca8 | |
code_width = 120 # コードのカラム数 | |
ls_for_split_full = true # 長い'for'文を';'の位置でスプリットする | |
ls_func_split_full = true # 長い関数のプロトタイプ宣言/呼び出しを','の位置でスプリットする | |
ls_code_width = true # code_widthでスプリットする | |
# 空白 | |
# http://qiita.com/items/7b6564cebc60e26701f2 | |
sp_arith = add | |
sp_assign = add | |
sp_cpp_lambda_assign = remove | |
sp_cpp_lambda_paren = remove | |
sp_assign_default = add | |
sp_before_assign = ignore | |
sp_after_assign = ignore | |
sp_enum_assign = add | |
sp_enum_before_assign = ignore | |
sp_enum_after_assign = ignore | |
sp_pp_concat = add | |
sp_pp_stringify = remove | |
sp_before_pp_stringify = ignore | |
sp_bool = add | |
sp_compare = add | |
sp_inside_paren = remove | |
sp_paren_paren = remove | |
sp_balance_nested_parens = false | |
sp_paren_brace = add | |
sp_before_ptr_star = remove | |
sp_before_unnamed_ptr_star = remove | |
sp_between_ptr_star = remove | |
sp_after_ptr_star = add | |
sp_after_ptr_star_func = add | |
sp_ptr_star_paren = add | |
sp_before_ptr_star_func = remove | |
sp_before_byref = remove | |
sp_before_unnamed_byref = remove | |
sp_after_byref = add | |
sp_after_byref_func = add | |
sp_before_byref_func = remove | |
sp_after_type = add | |
sp_before_template_paren = ignore | |
sp_template_angle = force | |
sp_before_angle = add | |
sp_inside_angle = remove | |
sp_after_angle = add | |
sp_angle_paren = remove | |
sp_angle_word = add | |
sp_angle_shift = add | |
sp_permit_cpp11_shift = false | |
sp_before_sparen = remove | |
sp_inside_sparen = remove | |
sp_inside_sparen_close = remove | |
sp_inside_sparen_open = remove | |
sp_after_sparen = remove | |
sp_sparen_brace = add | |
sp_invariant_paren = ignore | |
sp_after_invariant_paren = ignore | |
sp_special_semi = add | |
sp_before_semi = remove | |
sp_before_semi_for = remove | |
sp_before_semi_for_empty = ignore | |
sp_after_semi = add | |
sp_after_semi_for = force | |
sp_after_semi_for_empty = ignore | |
sp_before_square = remove | |
sp_before_squares = remove | |
sp_inside_square = remove | |
sp_after_comma = add | |
sp_before_comma = remove | |
sp_paren_comma = force | |
sp_before_ellipsis = add | |
sp_after_class_colon = add | |
sp_before_class_colon = add | |
sp_before_case_colon = remove | |
sp_after_operator = remove | |
sp_after_operator_sym = remove | |
sp_after_cast = add | |
sp_inside_paren_cast = remove | |
sp_cpp_cast_paren = remove | |
sp_sizeof_paren = remove | |
sp_after_tag = ignore | |
sp_inside_braces_enum = add | |
sp_inside_braces_struct = add | |
sp_inside_braces = add | |
sp_inside_braces_empty = add | |
sp_type_func = add | |
sp_func_proto_paren = remove | |
sp_func_def_paren = remove | |
sp_inside_fparens = remove | |
sp_inside_fparen = remove | |
sp_inside_tparen = remove | |
sp_after_tparen_close = remove | |
sp_square_fparen = remove | |
sp_fparen_brace = add | |
sp_func_call_paren = remove | |
sp_func_call_paren_empty = remove | |
sp_func_call_user_paren = add | |
sp_func_class_paren = remove | |
sp_return_paren = remove | |
sp_attribute_paren = remove | |
sp_defined_paren = remove | |
sp_throw_paren = remove | |
sp_after_throw = add | |
sp_catch_paren = add | |
sp_version_paren = ignore | |
sp_scope_paren = ignore | |
sp_macro = add | |
sp_macro_func = add | |
sp_else_brace = add | |
sp_brace_else = add | |
sp_brace_typedef = add | |
sp_catch_brace = add | |
sp_brace_catch = add | |
sp_finally_brace = add | |
sp_brace_finally = add | |
sp_try_brace = add | |
sp_getset_brace = add | |
sp_before_dc = remove | |
sp_after_dc = remove | |
sp_d_array_colon = ignore | |
sp_not = remove | |
sp_inv = remove | |
sp_addr = remove | |
sp_member = remove | |
sp_deref = remove | |
sp_sign = remove | |
sp_incdec = remove | |
sp_before_nl_cont = add | |
sp_after_oc_scope = add | |
sp_after_oc_colon = remove | |
sp_before_oc_colon = remove | |
sp_after_oc_dict_colon = add | |
sp_before_oc_dict_colon = remove | |
sp_after_send_oc_colon = remove | |
sp_before_send_oc_colon = remove | |
sp_after_oc_type = remove | |
sp_after_oc_return_type = remove | |
sp_after_oc_at_sel = remove | |
sp_after_oc_at_sel_parens = add | |
sp_inside_oc_at_sel_parens = remove | |
sp_before_oc_block_caret = remove | |
sp_after_oc_block_caret = remove | |
sp_after_oc_msg_receiver = add | |
sp_after_oc_property = add | |
sp_cond_colon = add | |
sp_cond_question = add | |
sp_case_label = ignore | |
sp_range = ignore | |
sp_after_for_colon = ignore | |
sp_before_for_colon = ignore | |
sp_extern_paren = ignore | |
sp_cmt_cpp_start = add | |
sp_endif_cmt = add | |
sp_after_new = add | |
sp_before_tr_emb_cmt = add | |
sp_num_before_tr_emb_cmt = 0 | |
sp_annotation_paren = ignore |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment