0

J'essaie d'obtenir "TAB" pour sortir des parenthèses, des citations, etc. mais seulement quand ce n'est PAS le seul caractère sur la ligne. Si | représente le curseur:Reliure de clé subliminale "TAB" pour quitter parenthèses, guillemets etc, SAUF quand c'est le premier caractère sur la ligne

sortie ici:

function(e|) {} 

Mais pas ici:

function() { 
    return; 
|} 

Pour ce faire, je suis en train de définir le contexte pour vérifier cette condition sans succès. Voici ce que j'ai jusqu'à présent:

{ "keys": ["tab"], "command": "move", "args": {"by": "characters", "forward": true}, "context": 
[ 
    { "key": "following_text", "operator": "regex_contains", "operand": "^[)'}\"\\]]", "match_all": true }, 
    { "key": "preceding_text", "operator": "not_regex_match", "operand": "\\n", "match_all":true }, 
    { "key": "auto_complete_visible", "operator": "equal", "operand": false } 
] 
} 

La deuxième ligne du contexte est ce que je ne peux pas obtenir correctement. Toute aide serait grandement appréciée!

Best,

Michael

+1

Changez juste '\\ n' en'^'ou'^\\ s * '. –

+0

En effet, utiliser '' '^ \\ s *' '' fonctionne parfaitement. Merci! (Si vous publiez une réponse, je peux l'accepter.) – mgp

Répondre

1

Puisque vous voulez correspondre jusqu'à ce que la ligne de départ, vous devez utiliser ^. La correspondance regex est seulement par ligne, par conséquent vous pouvez utiliser ^ pour le début et $ pour la fin de la ligne. Modifiez-la en ^\\s* si vous souhaitez également la désactiver pour les lignes avec retrait, par ex. appuyer plusieurs fois sur l'onglet pour mettre en retrait le support.