Indent style possible?

Background
I like to write code that is aesthetic to the eye - I find it makes it easier to read when I come back to it a week from now.

For example, I like to line up my equals signs

HeightInFeet   = 6.0
FeetToMeters   = 0.3048
HeightInMeters = HeightInFeet * FeetToMeters

Specific Question
When I write function calls that cross a line break, I like to do this:

a = MyFunc(ArgWithLongName, AnotherArgWithLongName,
           YetAnotherArgWithLongName)
AndNowAnotherLineOfCode()

So this leads to two questions.

  1. It would be nice if there were a setting to auto-indent within any sort of open brackets, to the level of the open bracket. Or at least a hotkey to hyper-tab to that spot. Does that exist?

  2. More important, I want the editor to not auto-indent AndNowAnotherLineOfCode() to the level of the previous line of text, but rather to the same level as the beginning of the last line of code.

In a way, I am asking for an indent feature that is bracket-sensitive, that modifies the auto-indent column based on brackets. If you’re not inside a bracket, you ignore stuff that’s inside brackets when deciding the next auto-indent. If you are inside a bracket, you use the bracket to guide the auto-indent.

Do these features exist, or is there an easy way for me to jury-rig this functionality?

Thanks,
Brad

This, of course, depends on the language you’re talking about.

Generally speaking, there are code formatters for most popular languages. Even if there is an Atom package that supports the particular formatter, in most cases it would rely on an external CLI tool. The Atom package just serves as an interface for such a tool.

Examples for popular code formatters are Black (Python) or Prettier (HTML, JavaScript, CSS, PHP, Elm and many more).