forge-fmt 0.2.0

solidity formatting
Documentation
interface ITarget {
    function run() external payable;
    function veryAndVeryLongNameOfSomeRunFunction() external payable;
}

contract FunctionCallArgsStatement {
    ITarget public target;

    function estimate() public returns (uint256 gas) {
        gas = 1 gwei;
    }

    function veryAndVeryLongNameOfSomeGasEstimateFunction() public returns (uint256) {
        return gasleft();
    }

    function value(uint256 val) public returns (uint256) {
        return val;
    }

    function test() external {
        target.run{ gas: gasleft(), value: 1 wei };

        target.run{gas:1,value:0x00}();

        target.run{ 
                gas : 1000, 
        value: 1 ether 
        } ();

        target.run{  gas: estimate(),
    value: value(1) }(); 

        target.run { value:
        value(1 ether), gas: veryAndVeryLongNameOfSomeGasEstimateFunction() } ();

        target.run /* comment 1 */ { value: /* comment2 */ 1 }; 

        target.run { /* comment3 */ value: 1, // comment4
        gas: gasleft()};

        target.run {
            // comment5
            value: 1,
            // comment6
            gas: gasleft()};

        vm.expectEmit({ checkTopic1: false, checkTopic2: false    });
    }
}