Sublime 3: Como fazer com que a linha reindent atual da TAB ou a região selecionada (se presente)?

1

A tecla TAB, por padrão, apenas coloca uma guia e recua apenas dependendo de vários contextos, o que eu não entendi muito bem.

{ "keys": ["tab"], "command": "reindent", "context":
    [
        { "key": "setting.auto_indent", "operator": "equal", "operand": true },
        { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
        { "key": "preceding_text", "operator": "regex_match", "operand": "^$", "match_all": true },
        { "key": "following_text", "operator": "regex_match", "operand": "^$", "match_all": true }
    ]
},

Eu queria criar a guia reindent por padrão, mas removendo o contexto

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

feito sublime reindent o arquivo inteiro de uma só vez. E eu não quero isso, já que quero manter o recuo personalizado para heredocs shell.

    
por tijagi 11.07.2016 / 00:39

1 resposta

0

Para tornar a guia reindentir a linha atual quando houver uma seleção em todas as linhas dentro do cursor, basta fazer:

{ "keys": ["tab"], "command": "indent", "context":
    [
        { "key": "selection_empty", "operator": "equal", "operand": false, "match_all": false }
    ]
},

{ "keys": ["tab"], "command": "insert_best_completion", "args": {"default": "\t", "exact": true}, "context":
    [
        { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": false }
    ]
},

Estrutura de um contexto

chave : Nome do contexto cujo valor você deseja consultar.

operador : Tipo de teste a ser executado em relação ao valor da chave. O padrão é igual a.

operando : O resultado retornado pela chave é testado em relação a esse valor.

match_all : Requer que o teste seja bem-sucedido para todas as seleções. O padrão é falso.

link link

    
por 24.11.2016 / 11:02