Do you think approaching the way typescript does it for Bolt is a reasonable compromise here? Bolt already supports full-module renames like
import math as not_math
So supporting something along the lines of import abs as absolute, sqrt as square_root from math
Would be farily simple to accomplish.Why?
Put the category first so it makes it easy to skim and sort dependencies. You're never going to organise your dependencies based on what the individual functions, types or sub-packages are called, and sorting based on something that ends up in a more or less random place at the end of a line just seems obtuse.
Or: `import math with abs as absolute, sqrt as square_root`
The OP seems to be asking for the Python order of the import statement because it allows for simpler auto-completion when typing it:
In a format like this, your language service can open up `math` immediately after the `from math` and start auto-completing the various types inside math on the other side of the `import`.Whereas the `import abs from math` often means you type `import` have no auto-complete for what comes next, maybe type ` from math` then cursor back to after the import to get auto-completion hints.
It's very similar to the arguments about how the SQL syntax is backwards for good auto-complete and a lot of people prefer things like PRQL or C# LINQ that take an approach like `from someTable where color = 'Red' select name` (rather than `select name from someTable where color = 'Red'`).