# TODOs, notes, and various thoughts ## TODOs - [x] `=` and `\in` should be `in` in for loops - [x] Space after `,` in tuples, function calls, function definitions, `{}` etc. - [x] No leading/trailing space in tuples etc `( a, b )` -> `(a, b)` - [ ] Disallow putting kwargs before all positional args when calling functions - [ ] Space after `;` in named tuples, keyword arguments (callsite and definitions) - [x] Indentation - [ ] Trim trailing `;` togheter with ws. - [x] Whitespace in ternaries - [x] Parenteses around expressions in `:` operator (e.g. `1 + 2:3` -> `(1 + 2):3)`) ## Ideas - Normalize `1.0e3` -> `1.0e+3`? Normalize `1.0e+3` -> `1.0e3`? Leave alone? I kinda thing it looks clearer with the `+` and for `-` it is necessary anyway so that would make it symmetric. ## Inconsistencies - The `spaces_around_operators` rule have the following inconsistencies. - `:`, `^`, and `::` instead fall under `no_spaces_around_colon_etc`: ```julia # current formatting # "consistent" formatting a:b a : b ✖ a^b a ^ b ✖ a::b a :: b ✖ ``` - `<:` and `<:` fall under `no_spaces_around_colon_etc` if they have no LHS: ```julia # current formatting # "consistent" formatting a <: b a <: b ✔ a >: b a >: b ✔ a{c <: b} a{c <: b} ✔ a{c >: b} a{c >: b} ✔ a{<:b} a{<: b} ✖ a{>:b} a{>: b} ✖ ``` ## Bad decisions? - Space around operators: if there are more, leave alone? This usualy indicate some kind of manual alignment. Perhaps we can align at `=` for connected siblings. - Trimming trailing 0 in floats messes up alignment sometimes.