-
Regex-Folding de listing
Bonjour,
je voudrais ajouter à la sortie HTML de pygments la possibilité de faire du folding, i.e. du déplier-replier de blocs logiques dans un code. J'ai commencé un bout de code basé sur jQuery qui permet de déplier-replier des lignes : voir ici (ce code javascript reste un brouillon).
Venons à ma demande : j'aurais besoin de deux types de regex pour une gestion ligne par ligne.
- Une pour repérér des commentaires à la C, c'est à dire du type , cas où le commentaire est fermée dans la ligne, et aussi , cas où le commentaire sera fermé sur une autre ligne.
Dans ce cas, il faut pouvoir repérer quelque chose comme . - Il faudrait aussi pouvoir repérer les docstrings à la Python comme .
Dans ce cas, il ne faut pas repérer quelque chose comme .
Dans chacun des cas, l'idée est de repérer des blocs s'ouvrant sur plusieurs lignes à venir.
Toute aide est bienvenue.
-
Ben pour le premier,
(c-à-d, une recherche non-gloutonne de “n’importe quoi” entre un /* et un */)
…devrait faire l’affaire, je pense ?
Quand aux docstrings… peut-être ça, en mode MULTILINE :
Code:
^\s*(\"\"\"|\'\'\').*?\1
(c-à-d, un début de ligne suivi d’un nombre indéterminé d’espaces, tabulations etc., suivi de trois " ou ', suivi, encore un non-glouton, de “n’importe quoi”, suivi du même groupe de trois " ou ' qu’au début).
J’ai pas testé (et c’est dur de faire des regex sans bug du premier coup :calim2: ), mais ça devrait au moins te donner un bon point de départ… enfin j’espère:mrgreen:
Grr, le forum, il est pas en utf-8 ?:aie: Il aime pas mes espaces insécables:cry: