Skip to content

Commit

Permalink
Update project settings and re-run formatters (#34)
Browse files Browse the repository at this point in the history
Co-authored-by: Avasam <[email protected]>
  • Loading branch information
pre-commit-ci[bot] and Avasam authored Apr 30, 2024
1 parent 50048e4 commit 2a75857
Show file tree
Hide file tree
Showing 21 changed files with 680 additions and 505 deletions.
273 changes: 273 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,273 @@
# SPDX-License-Identifier: MIT
# Copyright 2023 Beslogic Inc.

# The source skeleton for this configuration can be found at
# https://github.com/BesLogic/shared-configs/blob/main/.editorconfig
# Modifications to this file that are not project-specific should also be done upstream.

# Editor configuration, see https://editorconfig.org
root = true

[*]
#### Widely Supported by Editors ####
#### https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties#widely-supported-by-editors

indent_style = space
indent_size = 2
# tab_width defaults indent_size when indent_size is a number, but VS will add it back
tab_width = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

#### Supported By A Limited Number of Editors ####
#### https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties#supported-by-a-limited-number-of-editors

max_line_length = 100

#### Ideas for Domain-Specific Properties ####
#### https://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties#ideas-for-domain-specific-properties

quote_type = auto

#### EditorGuidelines ####
#### https://marketplace.visualstudio.com/items?itemName=PaulHarrington.EditorGuidelinesPreview#editorconfig-support-vs-2017-and-above
guidelines = 80, 100

#### Language-specific overrides ####

[*.{js,jsx,ts,tsx}]
quote_type = single

[*.{py,pyi}]
quote_type = double
indent_size = 4

[*.md]
max_line_length = off
trim_trailing_whitespace = false

[*.csproj]
indent_size = 4

#### .NET source code analysis ####
#### https://learn.microsoft.com/en-us/dotnet/fundamentals/code-analysis/categories
# Note that Visual Studio automatically adds back *:severity. So we left them there to avoid unwanted changes.

[*]
# Suppression preferences
dotnet_remove_unnecessary_suppression_exclusions = none

# Avoid simple if block w/o brace that could lead to inserting a new statement and breaking code
# csharp_prefer_braces = true:silent
# csharp_preserve_single_line_statements = false
csharp_style_allow_embedded_statements_on_same_line_experimental = true:silent
# TODO: Reconsider later. For now, allow single-line if-guards
csharp_prefer_braces = when_multiline:silent
csharp_preserve_single_line_statements = true

# Extra loop safety. TODO: consider "always"
dotnet_style_prefer_foreach_explicit_cast_in_source = when_strongly_typed

# Allow { get; set; } on a single line
csharp_preserve_single_line_blocks = true

# Don't hide the operator at the end of the line
dotnet_style_operator_placement_when_wrapping = beginning_of_line

# Modifier preferences
csharp_prefer_static_local_function = true:suggestion
csharp_preferred_modifier_order = public,private,protected,internal,file,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,required,volatile,async
csharp_style_prefer_readonly_struct = true:suggestion
csharp_style_prefer_readonly_struct_member = true:suggestion
dotnet_style_readonly_field = true:suggestion
dotnet_style_require_accessibility_modifiers = for_non_interface_members:silent

# Organize usings and namespace
csharp_style_namespace_declarations = file_scoped:silent
csharp_using_directive_placement = outside_namespace:suggestion
csharp_prefer_simple_using_statement = true:suggestion
dotnet_separate_import_directive_groups = false
dotnet_sort_system_directives_first = true
dotnet_style_namespace_match_folder = true:suggestion

# Destructuring and ranges
csharp_style_deconstructed_variable_declaration = true:suggestion
csharp_style_prefer_index_operator = true:suggestion
csharp_style_prefer_range_operator = true:suggestion
csharp_style_prefer_tuple_swap = true:suggestion
dotnet_style_explicit_tuple_names = true:suggestion

# Pattern matching preferences
csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
csharp_style_prefer_extended_property_pattern = true:suggestion
csharp_style_prefer_not_pattern = true:suggestion
csharp_style_prefer_pattern_matching = true:silent
csharp_style_prefer_switch_expression = true:suggestion

# Parentheses preferences
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:silent
dotnet_style_parentheses_in_other_binary_operators = always_for_clarity:silent
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:silent
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:silent

# New lines and Blank lines
csharp_new_line_before_catch = true
csharp_new_line_before_else = true
csharp_new_line_before_finally = true
csharp_new_line_before_members_in_anonymous_types = true
csharp_new_line_before_members_in_object_initializers = true
csharp_new_line_before_open_brace = all
csharp_new_line_between_query_expression_clauses = true
csharp_style_allow_blank_lines_between_consecutive_braces_experimental = false:silent
csharp_style_allow_blank_line_after_colon_in_constructor_initializer_experimental = false:silent
csharp_style_allow_blank_line_after_token_in_conditional_expression_experimental = false:silent
csharp_style_allow_blank_line_after_token_in_arrow_expression_clause_experimental = false:silent
dotnet_style_allow_multiple_blank_lines_experimental = false:silent
dotnet_style_allow_statement_immediately_after_block_experimental = false:silent

# Indentation preferences
csharp_indent_block_contents = true
csharp_indent_braces = false
csharp_indent_case_contents = true
csharp_indent_case_contents_when_block = true
csharp_indent_labels = one_less_than_current
csharp_indent_switch_labels = true

# Space preferences
csharp_space_after_cast = false
csharp_space_after_colon_in_inheritance_clause = true
csharp_space_after_comma = true
csharp_space_after_dot = false
csharp_space_after_keywords_in_control_flow_statements = true
csharp_space_after_semicolon_in_for_statement = true
csharp_space_around_binary_operators = before_and_after
csharp_space_around_declaration_statements = false
csharp_space_before_colon_in_inheritance_clause = true
csharp_space_before_comma = false
csharp_space_before_dot = false
csharp_space_before_open_square_brackets = false
csharp_space_before_semicolon_in_for_statement = false
csharp_space_between_empty_square_brackets = false
csharp_space_between_method_call_empty_parameter_list_parentheses = false
csharp_space_between_method_call_name_and_opening_parenthesis = false
csharp_space_between_method_call_parameter_list_parentheses = false
csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
csharp_space_between_method_declaration_name_and_open_parenthesis = false
csharp_space_between_method_declaration_parameter_list_parentheses = false
csharp_space_between_parentheses = false
csharp_space_between_square_brackets = false

#### Code simplifications ####

# Simplified initializers and calls
csharp_prefer_simple_default_expression = true:suggestion
csharp_style_implicit_object_creation_when_type_is_apparent = true:suggestion
csharp_style_inlined_variable_declaration = true:suggestion
csharp_style_prefer_method_group_conversion = true:silent
csharp_style_prefer_primary_constructors = true:suggestion
csharp_style_prefer_utf8_string_literals = true:suggestion
dotnet_style_collection_initializer = true:suggestion
dotnet_style_object_initializer = true:suggestion
dotnet_style_prefer_auto_properties = true:silent
dotnet_style_prefer_collection_expression = when_types_loosely_match:suggestion
dotnet_style_prefer_compound_assignment = true:suggestion
dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
dotnet_style_prefer_inferred_tuple_names = true:suggestion
dotnet_style_prefer_simplified_interpolation = true:suggestion

# Unused variables, declarations and assignements
csharp_style_prefer_top_level_statements = true:silent
csharp_style_unused_value_assignment_preference = discard_variable:suggestion
csharp_style_unused_value_expression_statement_preference = false
dotnet_code_quality_unused_parameters = all:suggestion

# Ternaries, coalescence and null-checking
csharp_style_conditional_delegate_call = true:suggestion
csharp_style_prefer_null_check_over_type_check = true:suggestion
dotnet_style_coalesce_expression = true:suggestion
dotnet_style_null_propagation = true:suggestion
dotnet_style_prefer_conditional_expression_over_assignment = true:silent
dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
dotnet_style_prefer_simplified_boolean_expressions = true:suggestion
# ... but don't treat throw as an expression and ensure it stays obvious
csharp_style_throw_expression = false:suggestion
dotnet_style_prefer_conditional_expression_over_return = false:silent

# Prefer arrow functions!
csharp_style_expression_bodied_methods = true:silent
# TODO: Take a decision on this, false vs when_on_single_line
# csharp_style_expression_bodied_constructors = when_on_single_line:silent
# For now just disable
dotnet_diagnostic.IDE0021.severity = none
csharp_style_expression_bodied_operators = when_on_single_line:silent
csharp_style_expression_bodied_properties = true:silent
csharp_style_expression_bodied_indexers = true:silent
csharp_style_expression_bodied_accessors = true:silent
csharp_style_expression_bodied_lambdas = true:silent
csharp_style_expression_bodied_local_functions = true:silent

# Prefer more succint variable declarations
csharp_style_prefer_local_over_anonymous_function = true:suggestion
csharp_style_var_elsewhere = true:silent
csharp_style_var_for_built_in_types = true:silent
csharp_style_var_when_type_is_apparent = true:silent
dotnet_style_predefined_type_for_locals_parameters_members = true:silent
dotnet_style_predefined_type_for_member_access = true:silent

# Avoid redundant this. and Me.
dotnet_style_qualification_for_event = false:silent
dotnet_style_qualification_for_field = false:silent
dotnet_style_qualification_for_method = false:silent
dotnet_style_qualification_for_property = false:silent

#### Naming styles, rules and Symbol specifications ###

dotnet_naming_style.begins_with_i.required_prefix = I
dotnet_naming_style.begins_with_i.required_suffix =
dotnet_naming_style.begins_with_i.word_separator =
dotnet_naming_style.begins_with_i.capitalization = pascal_case

dotnet_naming_style.pascal_case.required_prefix =
dotnet_naming_style.pascal_case.required_suffix =
dotnet_naming_style.pascal_case.word_separator =
dotnet_naming_style.pascal_case.capitalization = pascal_case

dotnet_naming_style._fieldname.required_prefix = _
dotnet_naming_style._fieldname.required_suffix =
dotnet_naming_style._fieldname.word_separator =
dotnet_naming_style._fieldname.capitalization = camel_case

dotnet_naming_rule.interface_should_be_begins_with_i.severity = suggestion
dotnet_naming_rule.interface_should_be_begins_with_i.symbols = interface
dotnet_naming_rule.interface_should_be_begins_with_i.style = begins_with_i

dotnet_naming_rule.types_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.types_should_be_pascal_case.symbols = types
dotnet_naming_rule.types_should_be_pascal_case.style = pascal_case

dotnet_naming_rule.non_field_members_should_be_pascal_case.severity = suggestion
dotnet_naming_rule.non_field_members_should_be_pascal_case.symbols = non_field_members
dotnet_naming_rule.non_field_members_should_be_pascal_case.style = pascal_case

dotnet_naming_rule.private_or_internal_field_should_be__fieldname.severity = suggestion
dotnet_naming_rule.private_or_internal_field_should_be__fieldname.symbols = private_or_internal_field
dotnet_naming_rule.private_or_internal_field_should_be__fieldname.style = _fieldname

dotnet_naming_symbols.interface.applicable_kinds = interface
dotnet_naming_symbols.interface.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.interface.required_modifiers =

dotnet_naming_symbols.types.applicable_kinds = class, struct, interface, enum
dotnet_naming_symbols.types.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.types.required_modifiers =

dotnet_naming_symbols.non_field_members.applicable_kinds = property, event, method
dotnet_naming_symbols.non_field_members.applicable_accessibilities = public, internal, private, protected, protected_internal, private_protected
dotnet_naming_symbols.non_field_members.required_modifiers =

dotnet_naming_symbols.private_or_internal_field.applicable_kinds = field
dotnet_naming_symbols.private_or_internal_field.applicable_accessibilities = internal, private, private_protected
dotnet_naming_symbols.private_or_internal_field.required_modifiers =
12 changes: 6 additions & 6 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,33 +17,33 @@ repos:
# # args: [--autofix]
# # I don't like it, it really messes up a lot a stuff
# # - id: pretty-format-yaml
# # args: [--autofix, --indent, "2", --offset, "0", --preserve-quotes, --line-width, "120"],
# # args: [--autofix, --indent, "2", --offset, "0", --preserve-quotes, --line-width, "100"],
# - id: pretty-format-ini
# args: [--autofix]
- repo: local
- repo: local # https://github.com/dprint/dprint
hooks:
- id: dprint
name: dprint
entry: dprint fmt
language: node
types: [text]
additional_dependencies: ["dprint@~0.38.0"]
additional_dependencies: ["dprint@~0.45.1"]
pass_filenames: false # https://github.com/adamchainz/pre-commit-dprint/issues/3#issuecomment-1483410008
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: "v0.2.0" # Must match requirements-dev.txt
rev: "v0.4.2" # Must match requirements-dev.txt
hooks:
- id: ruff
args: [--fix]
- repo: https://github.com/hhatto/autopep8
rev: "v2.0.4" # Must match requirements-dev.txt
rev: "v2.1.0" # Must match requirements-dev.txt
hooks:
- id: autopep8
- repo: https://github.com/asottile/add-trailing-comma
rev: v3.1.0 # Must match .pre-commit-config.yaml
hooks:
- id: add-trailing-comma
- repo: https://github.com/RobertCraigie/pyright-python
rev: "v1.1.350"
rev: "v1.1.360"
hooks:
- id: pyright

Expand Down
21 changes: 4 additions & 17 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,7 @@
},
"files.associations": {
"*.dmw": "json",
"pyrightconfig*.json": "jsonc",
"dprint*.json": "jsonc",
".flake8": "properties"
"*.json": "jsonc"
},
"files.exclude": {
"**/.mypy_cache": true,
Expand All @@ -23,7 +21,7 @@
"editor.tabSize": 2,
"editor.rulers": [
80,
120
100
],
"[git-commit]": {
"editor.rulers": [
Expand All @@ -48,7 +46,7 @@
// 79, // PEP8-17 default max
// 88, // Black default
// 99, // PEP8-17 acceptable max
120 // Our hard rule
100 // Our hard rule
],
"editor.codeActionsOnSave": {
// TODO: Ruff is supposed to be able to take care of this
Expand All @@ -64,20 +62,9 @@
// Specifically ignoring unusedImports because it's annoying to loose imports when commenting code for testing
// "source.unusedImports"
],
"python.linting.enabled": true,
"ruff.importStrategy": "fromEnvironment",
// Use the Ruff extension instead
"isort.check": false,
"python.linting.banditEnabled": false,
"python.linting.flake8Enabled": false,
"python.linting.prospectorEnabled": false,
"python.linting.pycodestyleEnabled": false,
"python.linting.pylamaEnabled": false,
"python.linting.pylintEnabled": false,
// Use the autopep8 extension instead
"python.formatting.provider": "none",
// Use Pyright/Pylance instead
"python.linting.mypyEnabled": false,
"emeraldwalk.runonsave": {
"commands": [
{
Expand All @@ -95,7 +82,7 @@
"evenBetterToml.formatter.arrayAutoCollapse": true,
"evenBetterToml.formatter.arrayAutoExpand": true,
"evenBetterToml.formatter.arrayTrailingComma": true,
"evenBetterToml.formatter.columnWidth": 120,
"evenBetterToml.formatter.columnWidth": 100,
"evenBetterToml.formatter.compactArrays": true,
"evenBetterToml.formatter.compactEntries": false,
"evenBetterToml.formatter.compactInlineTables": false,
Expand Down
2 changes: 1 addition & 1 deletion Dolphin Memory Watches (DMW)/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ It even explains how to deal with dynamic pointers, which is my current issue wi

All codes below are for NTSC Gamecube only

Start in specific Level (by Avasam):
Start in specific Level (by Avasam):\
Replace `XXXX XXXX` by the `asset_crc32` found in [world_infos.json](/Various%20technical%20notes/world_infos.json)

```txt
Expand Down
4 changes: 3 additions & 1 deletion Dolphin scripts/Entrance Randomizer/CONFIGS.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@
DISABLE_MAPS_IN_SHOP: bool = True
"""
Whether you can buy maps in the Shaman Shop.
When maps are disabled, and using original shop prices, the 4 lowest prices (0, 1, 2, 2) are also removed form the pool.
When maps are disabled, and using original shop prices,
the 4 lowest prices (0, 1, 2, 2) are also removed form the pool.
"""

SHOP_PRICES_RANGE: PriceRange = False # (0, 32)
Expand Down
Loading

0 comments on commit 2a75857

Please sign in to comment.