Coder Social home page Coder Social logo

Debug mode about nixpkgs-fmt HOT 3 CLOSED

nix-community avatar nix-community commented on May 19, 2024
Debug mode

from nixpkgs-fmt.

Comments (3)

matklad avatar matklad commented on May 19, 2024

Yeah, I also find it quite hard to debug interactions between the rules. Though, I am not sure if just somehow showing matching rules would help: it seems like it would produce way to much information to be useful.

At the moment, I just comment out some rules to minimize the example. I imagine that could be automated: formatting could print a series of diffs, starting with "zero rules applied", and ending with "all rules applied". Still not sure if that would be more effective than just manually commenting out specifc things

from nixpkgs-fmt.

zimbatm avatar zimbatm commented on May 19, 2024

The difference would mainly be that as a user it would be possible to understand what is going on without toughing the code (assuming that the output is helpful). I think rules would also have to have names attached to them so they could be distinguished one from another.

Brainstorming a bit more, another approach might be to attach some assertions onto a node, asserting that rule X is going to be applied to it.

from nixpkgs-fmt.

matklad avatar matklad commented on May 19, 2024

This is implemented as --explain flag in #79!

from nixpkgs-fmt.

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.