Have a look at CSharpier instead.
Prettier C# Plugin
Intro
Prettier C# adds C# support to the Prettier code formatter. Like Prettier, it is opinionated and restricts style options to a minimum. It runs where Prettier runs, including CI and pre-commit hooks.
Unmaintained
This repository is unmaintained and the project is incomplete, don't expect anything else than a toy C# project to reformat correctly! It will break your code.
Preview the result with this diff example.
Install
yarn add --dev --exact prettier prettier-plugin-csharp
Use
prettier --write "**/*.cs"
How it works
The plugin is written in JavaScript. It depends on the JavaScript port of ANTLR and relies on a fork of an unofficial C# 6 grammar from ANTLR. The grammar is precompiled to plain JavaScript and ready to use in the project.
Contributing
Installing dependencies
Use your favorite Node package manager:
yarn
Updating the grammar
The grammar supports C# 6 as a baseline, and tries to catch up with recent additions. Contributions are welcome. To update the grammar:
- Update
src/csharp/*.g4
files. - Ensure you have Java 8+ installed on your machine.
- Fetch a local copy of ANTLR:
yarn fetch-antlr
- Generate the JavaScript parser:
yarn generate-parser
Testing
The project is developed against a single grammar-complete regression test. There are no unit tests for the moment.
Run the test with:
yarn test
To test it out on an actual C# file:
- Clone this repository.
- Run
yarn
. - Run
yarn prettier Your/File.cs
to check the output.
Maintainers
Warren Seine |