Como reindentar colchetes com Sublime Text 3?

Como reindentar colchetes com Sublime Text 3?

Tentei usar o atalho para reindentar e incluí este código em minhas Preferências → Key Binding - User

[
     { "keys": ["f3"], "command": "reindent" , "args": { "single_line": false } }
]

Mas quando tento reindentar a página inteira, não parece bom para os colchetes

Por exemplo, quando digito array aninhado assim

[
    nest => [
        child => [
            [
                grandchild => aaaa,
                grandchild2 => bbbb,
                grandchild3 => cccc
            ]
        ]
    ]
]

Depois disso eu quero reindentar e mover tudo para isso

[
nest => [
child => [
[
grandchild => aaaa,
grandchild2 => bbbb,
grandchild3 => cccc
]
]
]
]

Como posso consertar isso?

Responder1

O problema não é causado pela criação de uma tecla de atalho. Observei o mesmo comportamento reindentando manualmente: Seleção -> Selecionar tudo, Editar -> Linha, Reindentar.

O Sublime Text "reindenta" de acordo com as regras da sintaxe selecionada.

Com "Texto simples" selecionado, o código é formatado sem recuo conforme você descobriu.

Com "Ruby" selecionado, o código é reindentado conforme o esperado.

informação relacionada