Giter VIP home page Giter VIP logo

Comments (3)

belav avatar belav commented on June 2, 2024

Regarding options -

CSharpier provides a few basic options that affect formatting and has no plans to add more. It follows the Option Philosophy of prettier.

I had intended to keep blank lines between some groups of usings but getting the logic working correctly when usings were moving was difficult and didn't seem worth the effort.

from csharpier.

Ahronsilv avatar Ahronsilv commented on June 2, 2024

Regarding options -

CSharpier provides a few basic options that affect formatting and has no plans to add more. It follows the Option Philosophy of prettier.

I had intended to keep blank lines between some groups of usings but getting the logic working correctly when usings were moving was difficult and didn't seem worth the effort.

Prettier has a plugin prettier-plugin-sort-imports which does what I want - it sorts imports according to the importOrder config option. Maybe, it's possible to develop something similar for CSharpier? I am ready to put an effort into this thing.

from csharpier.

belav avatar belav commented on June 2, 2024

I'm not opposed to a plugin system, but I don't know of a good way to deal with it currently in a dotnet tool. There is this open issue proposing that microsoft add plugin support to dotnet tools. I have csproj/xml formatting mostly done in a branch and was hoping I could make that system extensible. So that other formatters could be added to csharpier.

It looks like the prettier plugin works as a preprocessor, which I assume does the sorting on the syntax tree first and then prettier does the formatting. The CSharpier using sorting happens at the same time as the formatting. That would need to go away for a preprocessor plugin to be able to sort the usings.

Another potential option is a postprocessor plugin, which modifies the syntax tree after csharpier is done with it.

from csharpier.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.