Un objet texte intelligent est-il possible?
Est - il possible de créer un objet texte intelligent pour i), i], i}, i>, i'et i"?
L'objet texte représenterait le premier objet le plus intérieur qu'il puisse trouver. Par exemple, avec le curseur sur le signe plus viv, sélectionnez a + bci-dessous:
{ [ (a + b) ] }
Réponses
Le targets.vim plug-in met en œuvre quelque chose de très semblable à ce que vous avez décrit, la principale différence étant qu'il a deux objets texte séparé l' un pour « un bloc » ( ib, etc.) , qui travaille pour (), []et {}et un autre pour « toute citation "( iq, etc.) qui fonctionne pour les guillemets simples, doubles ou arrière.
Voir la section README sur les objets multi-texte pour plus de détails.
La raison principale de la séparation des objets pour les blocs et les guillemets est que les blocs s'imbriquent généralement, contrairement aux guillemets.
Dans tous les cas, l'existence même de ce plug-in qui implémente un objet texte qui correspondra à l'un des nombreux délimiteurs basés sur le contexte devrait démontrer qu'il est tout à fait possible d'implémenter un objet texte intelligent. Si vous en voulez vraiment un qui correspond aux blocs et aux guillemets, vous pourrez peut-être vous inspirer des idées de ce plug-in pour implémenter votre opérateur.