← All docs

Default configuration (papyrus-lint.yaml)

The full papyrus-lint.yaml written into a project with no configuration file yet, with every key's default value documented inline. See the README's configuration reference for what each key does.

# Path to PapyrusCompiler.exe, or null to auto-detect it
compiler_path: null
# Extra directories (relative to the project root, or absolute) to search
# for .psc files, besides scripts/source and source/scripts
additional_script_roots: []
# true, false; also runs PapyrusCompiler.exe (into a throwaway temporary
# directory) as part of linting a dropped .psc, reporting its errors
# alongside the lint engine's own. Requires compiler_path to be set/
# auto-detected
compile_check: false
# true enables strict cross-script resolution and conflicting-script-versions
# checks for only the achlist's listed entries. false (the default) keeps
# parent-directory search roots. In strict mode, every .psc dependency must
# be listed in the achlist
strict_achlist_scope: false
# true, false
semicolon: false
# tab, space
indentation: tab
# Non-negative integer; used only when indentation is space
indentation_width: 4
# camelCase, PascalCase, snake_case, CONSTANT_CASE
identifier_casing: PascalCase
# Non-negative integer
cyclomatic_complexity_warning: 10
# Non-negative integer
cyclomatic_complexity_error: 20
# PascalCase, camelCase, lowercase, UPPERCASE
type_casing: PascalCase
# always, instead_of_defaults, never
named_arguments: never
# Non-negative number
min_wait_interval: 0.1
# loose, strict
magic_numbers: loose
# true, false
fail_on_warning: false
# true, false
fail_on_info: false
# true, false
bool_like_int: true
# Each rule accepts true or false
rules:
  trailing_whitespace: true
  comma_spacing: true
  forbidden_functions: true
  formid_hex_notation: true
  slow_functions: true
  unused_getter: true
  unused_property: true
  semicolon: true
  float_int_conversion: true
  int_division_to_float: true
  strict_boolean: true
  argument_types: true
  return_types: true
  function_override: true
  argument_naming: true
  numeric_comparison: true
  indentation: true
  cyclomatic_complexity: true
  unreachable_statement: true
  static_condition: true
  division_by_zero: true
  empty_body: true
  unused_local_variable: true
  variable_used_before_assignment: true
  none_form_usage: true
  local_variable_shadowing: true
  parameter_reassignment: true
  chain_whitespace: true
  exclamation_spacing: true
  identifier_casing: true
  type_casing: true
  named_arguments: true
  operator_spacing: true
  property_sorting: false
  explicit_return: true
  unchecked_form_parameter: false
  unchecked_cast: true
  useless_downcast: true
  unresolved_script: true
  non_global_function_call: true
  static_function_call_via_instance: true
  short_wait_interval: true
  state_function_signature: true
  goto_state: true
  too_many_states: true
  multiple_auto_states: true
  conflicting_script_versions: true
  unused_disable: false
  magic_numbers: false
  native_function_usage: false
  repeated_getvalue: false
  global_variable_setvalue: false
  invariant_loop_condition: true
  script_name_collision: true

View raw source on GitHub →