elvis.config 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. %% -*- mode: erlang -*-
  2. [
  3. {
  4. elvis,
  5. [
  6. {config, [
  7. #{
  8. dirs => ["src", "apps/**/src"],
  9. filter => "*.erl",
  10. ruleset => erl_files,
  11. rules => [
  12. {elvis_style, param_pattern_matching, disable},
  13. {elvis_style, macro_names, disable},
  14. {elvis_style, function_naming_convention, disable},
  15. {elvis_style, state_record_and_type, disable},
  16. {elvis_style, no_common_caveats_call, #{}},
  17. {elvis_style, no_debug_call, #{
  18. debug_functions => [
  19. {ct, pal},
  20. {ct, print}
  21. ]
  22. }},
  23. {elvis_style, operator_spaces, #{
  24. rules => [
  25. {right, "|"},
  26. {left, "|"},
  27. {right, "||"},
  28. {left, "||"}
  29. ]
  30. }},
  31. {elvis_style, dont_repeat_yourself, #{min_complexity => 20}},
  32. {elvis_style, god_modules, #{limit => 100}},
  33. % trust erlfmt
  34. {elvis_text_style, line_length, #{
  35. limit => 120,
  36. skip_comments => false
  37. }}
  38. ]
  39. },
  40. #{
  41. dirs => ["test", "apps/**/test"],
  42. filter => "*.erl",
  43. rules => [
  44. {elvis_text_style, line_length, #{
  45. limit => 120,
  46. skip_comments => false
  47. }},
  48. {elvis_style, dont_repeat_yourself, #{min_complexity => 100}},
  49. {elvis_style, nesting_level, #{level => 6}}
  50. ]
  51. },
  52. #{
  53. dirs => ["apps/emqx_rule_engine/src"],
  54. filter => "*_rule_funcs.erl",
  55. rules => [
  56. {elvis_style, god_modules, disable}
  57. ]
  58. },
  59. #{
  60. dirs => ["."],
  61. filter => "Makefile",
  62. ruleset => makefiles
  63. },
  64. #{
  65. dirs => ["."],
  66. filter => "rebar.config",
  67. ruleset => rebar_config
  68. },
  69. #{
  70. dirs => ["."],
  71. filter => "elvis.config",
  72. ruleset => elvis_config
  73. }
  74. ]}
  75. ]
  76. }
  77. ].