dawnbeen / c_formatter_42

C language formatter for 42 norminette
GNU General Public License v3.0
176 stars 17 forks source link

Line breaker: Fix variable assignation with cast #66

Closed younesaassila closed 1 year ago

younesaassila commented 1 year ago

The current regex doesn't take into account variable assignments with casting (e.g. (type)var = value;)

Implementing a regex to match all cases (e.g. (type)var, (type) var, (type)(var), (type)(var->value)->value) would probably result in an illegible regex.

I've modified the code to match any line like txt = txt. It checks that the equal sign is not within parens (like for while (var = value)) and that it isn't in a string.

I've added test cases and used it to format all files in my minishell project with great success.

Let me know if the code needs anything changed.