(Aparté: le RegExp est toujours aussi imbuvable ...).
Juste pour le fun et comme "proof of concept", voici des modifications pour un début de reconnaissance des fonctions et procédures Pascal dans Notepad++.
Ajouter la ligne suivante vers le début du fichier "functionList.xml" dans "<associationMap>...</associationMap>", pour ajouter la reconnaissance du pascal:
<association id= "pascal_function" langID="11" />
Et voici le corps, à ajouter dans le même fichier dans "<parsers>...</parsers>":
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <!-- ========================================= [ Pascal ] -->
<parser
displayName="Pascal"
id ="pascal_function"
>
<function
mainExpr="^\s*(procedure|function)\s+[A-Za-z_][\w.]*\s*(\(|:|;)"
>
<functionName>
<nameExpr expr="[A-Za-z_][\w.]*\s*(\(|:|;)" />
<nameExpr expr="[A-Za-z_][\w.]*" />
</functionName>
</function>
</parser>
<!-- ================================================================= --> |
Je précise que c'est loin d'être fonctionnel. J'ai notamment shunté plusieurs choses comme les commentaires, les paramètres, les classes, les constructor/destructor etc ... De plus, je ne vois pas trop comment faire la distinction au niveau des sections "interface" et "implémentation" du fichier source concerné. Mais encore une fois, c'est juste pour prouver que c'est, au moins théoriquement, faisable ...
PS. Comme indiqué dans la documentation, faire les modifs dans le "bon" fichier "functionList.xml": celui dans dans %APPDATA%\roaming\notepad++\ (pour Windows 7 par exemple).
PS2. Corps modifié (simplification).
Partager