Je suis en train d' écrire une fonction VIML qui, en mode d'insertion, permet à <BS>
travers la partie d'ouverture d'une paire ( [
, {
, etc.) pour supprimer la partie de fermeture de la paire si elle est le caractère suivant le curseur ( un peu comme paires d'auto- et vim-autoclose ). Cette fonction sera différente car la partie de fermeture de la paire ne sera pas supprimée s'il y a des paires déséquilibrées.
Exemples:
Le format est celui <initial> => <result-after-backspace>
où mon curseur se trouve devant le |
.
((|) => (|)
((|)) => (|)
(|) => |
(defn => (defn
(|) |)
Comment puis-je déterminer si les paires sont déséquilibrées ou non avant de continuer et de supprimer la paire de clôture?
J'ai testé les paires automatiques et vim-autoclose . Avec les deux plugins, la partie de fermeture de la paire est toujours supprimée.