mirror of
https://github.com/oliverbooth/VpSharp
synced 2024-11-22 07:58:48 +00:00
Initial commit
This commit is contained in:
commit
13348208c6
213
.editorconfig
Normal file
213
.editorconfig
Normal file
@ -0,0 +1,213 @@
|
||||
# All files
|
||||
[*]
|
||||
guidelines = 130
|
||||
|
||||
# C# files
|
||||
[*.cs]
|
||||
|
||||
#### Core EditorConfig Options ####
|
||||
|
||||
# Indentation and spacing
|
||||
indent_size=4
|
||||
indent_style=space
|
||||
tab_width=4
|
||||
|
||||
# New line preferences
|
||||
end_of_line=crlf
|
||||
insert_final_newline=true
|
||||
|
||||
#### .NET Coding Conventions ####
|
||||
|
||||
# Organize usings
|
||||
dotnet_separate_import_directive_groups=false
|
||||
dotnet_sort_system_directives_first=true
|
||||
|
||||
# this. and Me. preferences
|
||||
dotnet_style_qualification_for_event=false:warning
|
||||
dotnet_style_qualification_for_field=false:warning
|
||||
dotnet_style_qualification_for_method=false:warning
|
||||
dotnet_style_qualification_for_property=false:warning
|
||||
|
||||
# Language keywords vs BCL types preferences
|
||||
dotnet_style_predefined_type_for_locals_parameters_members=true:warning
|
||||
dotnet_style_predefined_type_for_member_access=true:warning
|
||||
|
||||
# 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
|
||||
|
||||
# Modifier preferences
|
||||
dotnet_style_require_accessibility_modifiers=for_non_interface_members:silent
|
||||
|
||||
# Expression-level preferences
|
||||
dotnet_style_coalesce_expression=true:suggestion
|
||||
dotnet_style_collection_initializer=true:suggestion
|
||||
dotnet_style_explicit_tuple_names=true:suggestion
|
||||
dotnet_style_null_propagation=true:suggestion
|
||||
dotnet_style_object_initializer=true:suggestion
|
||||
dotnet_style_prefer_auto_properties=true:silent
|
||||
dotnet_style_prefer_compound_assignment=true:suggestion
|
||||
dotnet_style_prefer_conditional_expression_over_assignment=true:silent
|
||||
dotnet_style_prefer_conditional_expression_over_return=true:silent
|
||||
dotnet_style_prefer_inferred_anonymous_type_member_names=false:suggestion
|
||||
dotnet_style_prefer_inferred_tuple_names=false:suggestion
|
||||
dotnet_style_prefer_is_null_check_over_reference_equality_method=true:suggestion
|
||||
dotnet_style_prefer_simplified_interpolation=true:suggestion
|
||||
|
||||
# Field preferences
|
||||
dotnet_style_readonly_field=true:suggestion
|
||||
|
||||
# Parameter preferences
|
||||
dotnet_code_quality_unused_parameters=all:suggestion
|
||||
|
||||
#### C# Coding Conventions ####
|
||||
|
||||
# var preferences
|
||||
csharp_style_var_when_type_is_apparent=true:warning
|
||||
|
||||
# Expression-bodied members
|
||||
csharp_style_expression_bodied_accessors=true:suggestion
|
||||
csharp_style_expression_bodied_constructors=false:suggestion
|
||||
csharp_style_expression_bodied_indexers=true:suggestion
|
||||
csharp_style_expression_bodied_lambdas=true:silent
|
||||
csharp_style_expression_bodied_local_functions=false:silent
|
||||
csharp_style_expression_bodied_methods=false:suggestion
|
||||
csharp_style_expression_bodied_operators=false:suggestion
|
||||
csharp_style_expression_bodied_properties=false: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_switch_expression=true:suggestion
|
||||
|
||||
# Null-checking preferences
|
||||
csharp_style_conditional_delegate_call=true:suggestion
|
||||
|
||||
# Modifier preferences
|
||||
csharp_prefer_static_local_function=true:suggestion
|
||||
csharp_preferred_modifier_order=public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:silent
|
||||
|
||||
# Code-block preferences
|
||||
csharp_prefer_braces=true:suggestion
|
||||
csharp_prefer_simple_using_statement=true:suggestion
|
||||
|
||||
# Expression-level preferences
|
||||
csharp_prefer_simple_default_expression=true:suggestion
|
||||
csharp_style_deconstructed_variable_declaration=true:suggestion
|
||||
csharp_style_inlined_variable_declaration=true:suggestion
|
||||
csharp_style_pattern_local_over_anonymous_function=true:suggestion
|
||||
csharp_style_prefer_index_operator=true:suggestion
|
||||
csharp_style_prefer_range_operator=true:suggestion
|
||||
csharp_style_throw_expression=true:suggestion
|
||||
csharp_style_unused_value_assignment_preference=discard_variable:suggestion
|
||||
csharp_style_unused_value_expression_statement_preference=discard_variable:silent
|
||||
|
||||
# 'using' directive preferences
|
||||
csharp_using_directive_placement=outside_namespace:error
|
||||
|
||||
#### C# Formatting Rules ####
|
||||
|
||||
max_line_length=130
|
||||
|
||||
# New line preferences
|
||||
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
|
||||
|
||||
# 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
|
||||
|
||||
# Wrapping preferences
|
||||
csharp_preserve_single_line_blocks=true
|
||||
csharp_preserve_single_line_statements=true
|
||||
|
||||
#### Naming styles ####
|
||||
|
||||
# Naming rules
|
||||
|
||||
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
|
||||
|
||||
# Symbol specifications
|
||||
|
||||
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=
|
||||
|
||||
# Naming styles
|
||||
|
||||
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.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
|
||||
|
||||
# XML comment analysis is disabled due to project configuration
|
||||
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA0001.md
|
||||
dotnet_diagnostic.SA0001.severity = silent
|
||||
|
||||
# A C# code file is missing a standard file header.
|
||||
# https://github.com/DotNetAnalyzers/StyleCopAnalyzers/blob/master/documentation/SA1633.md
|
||||
dotnet_diagnostic.SA1633.severity = silent
|
||||
|
||||
# Consider calling ConfigureAwait on the awaited Task
|
||||
# https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2007?view=vs-2019
|
||||
# https://github.com/JosefPihrt/Roslynator/blob/master/docs/analyzers/RCS1090.md
|
||||
dotnet_diagnostic.CA2007.severity = silent
|
||||
dotnet_diagnostic.RCS1090.severity = silent
|
38
.gitignore
vendored
Normal file
38
.gitignore
vendored
Normal file
@ -0,0 +1,38 @@
|
||||
.env
|
||||
*.swp
|
||||
*.*~
|
||||
project.lock.json
|
||||
.DS_Store
|
||||
*.pyc
|
||||
nupkg/
|
||||
|
||||
# Visual Studio Code
|
||||
.vscode
|
||||
|
||||
# Rider
|
||||
.idea
|
||||
|
||||
# User-specific files
|
||||
*.suo
|
||||
*.user
|
||||
*.userosscache
|
||||
*.sln.docstates
|
||||
|
||||
# Build results
|
||||
[Dd]ebug/
|
||||
[Dd]ebugPublic/
|
||||
[Rr]elease/
|
||||
[Rr]eleases/
|
||||
x64/
|
||||
x86/
|
||||
build/
|
||||
bld/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
[Oo]ut/
|
||||
msbuild.log
|
||||
msbuild.err
|
||||
msbuild.wrn
|
||||
|
||||
# Visual Studio 2015
|
||||
.vs/
|
43
CONTRIBUTING.md
Normal file
43
CONTRIBUTING.md
Normal file
@ -0,0 +1,43 @@
|
||||
## How you can contribute
|
||||
|
||||
Contributions to this project are always welcome. If you spot a bug, or want to request a new extension method, open a new issue
|
||||
or submit a pull request.
|
||||
|
||||
### Pull request guidelines
|
||||
|
||||
This project uses C# 10.0 language features, and adheres to StyleCop rules with some minor adjustments.
|
||||
There is an `.editorconfig` included in this repository. For quick and painless pull requests, ensure that the analyzer does not
|
||||
throw warnings.
|
||||
|
||||
### Code style
|
||||
|
||||
Below are a few pointers to which you may refer, but keep in mind this is not an exhaustive list:
|
||||
|
||||
- Use C# 10.0 features where possible
|
||||
- Try to ensure code is CLS-compliant. Where this is not possible, decorate methods with `CLSCompliantAttribute` and pass `false`
|
||||
- Follow all .NET guidelines and coding conventions.
|
||||
See https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/coding-conventions
|
||||
and https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/
|
||||
- Make full use of XMLDoc and be thorough - but concise - with all documentation
|
||||
- Ensure that no line exceeds 130 characters in length
|
||||
- Do NOT include file headers in any form
|
||||
- Declare `using` directives outside of namespace scope
|
||||
- Avoid using exceptions for flow control where possible
|
||||
- Use braces, even for single-statement bodies
|
||||
- Use implicit type when the type is apparent
|
||||
- Use explicit type otherwise
|
||||
- Use U.S. English throughout the codebase and documentation
|
||||
|
||||
When in doubt, follow .NET guidelines.
|
||||
|
||||
### Tests
|
||||
|
||||
When introducing a new extension method, you must ensure that you have also defined a unit test that asserts its correct behavior.
|
||||
The code style guidelines and code-analysis rules apply to the `X10D.Tests` equally as much as `X10D`, although documentation may
|
||||
be briefer. Refer to existing tests as a guideline.
|
||||
|
||||
### Disclaimer
|
||||
|
||||
In the event of a code style violation, a pull request may left open (or closed entirely) without merging. Keep in mind this does
|
||||
not mean the theory or implementation of the method is inherently bad or rejected entirely (although if this is the case, it will
|
||||
be outlined)
|
21
LICENSE.md
Normal file
21
LICENSE.md
Normal file
@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2019-2022 Oliver Booth
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
26
README.md
Normal file
26
README.md
Normal file
@ -0,0 +1,26 @@
|
||||
<h1 align="center"><img src="banner.png"></h1>
|
||||
<p align="center">
|
||||
<a href="https://github.com/oliverbooth/VpSharp/actions?query=workflow%3A%22.NET%22"><img src="https://img.shields.io/github/workflow/status/oliverbooth/VpSharp/.NET" alt="GitHub Workflow Status" title="GitHub Workflow Status"></a>
|
||||
<a href="https://github.com/oliverbooth/VpSharp/issues"><img src="https://img.shields.io/github/issues/oliverbooth/VpSharp" alt="GitHub Issues" title="GitHub Issues"></a>
|
||||
<a href="https://github.com/oliverbooth/VpSharp/blob/master/LICENSE.md"><img src="https://img.shields.io/github/license/oliverbooth/VpSharp" alt="MIT License" title="MIT License"></a>
|
||||
</p>
|
||||
|
||||
### About
|
||||
VP# is a modern .NET wrapper for the Virtual Paradise SDK which introduces a cleaner, more modern, and more async API.
|
||||
|
||||
*(I'm also [dogfooding](https://www.pcmag.com/encyclopedia/term/dogfooding) this library, so there's that.)*
|
||||
|
||||
## Installation
|
||||
### NuGet installation
|
||||
```ps
|
||||
Install-Package VpSharp -Version 0.1.0
|
||||
```
|
||||
|
||||
### Manual installation
|
||||
Download the [latest release](https://github.com/oliverbooth/VpSharp/releases/latest) from this repository and adding a direct assembly reference for your chosen platform.
|
||||
|
||||
## Contributing
|
||||
Contributions are welcome. See [CONTRIBUTING.md](CONTRIBUTING.md).
|
||||
|
||||
## License
|
||||
VP# is released under the MIT License. See [here](https://github.com/oliverbooth/VpSharp/blob/master/LICENSE.md) for more details.
|
BIN
banner.png
Normal file
BIN
banner.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 29 KiB |
Loading…
Reference in New Issue
Block a user