From af1031b97c65acd430fd080dc70e5cc04c7364de Mon Sep 17 00:00:00 2001 From: Giovanni Bussi <giovanni.bussi@gmail.com> Date: Fri, 11 Mar 2016 16:09:58 +0100 Subject: [PATCH] Small fixes to VIM syntax - Made plumed dictionaries local to buffer - Improved syntax annotation Now it also annotates spaces. Moreover, output is formatted. (requires a rt to be reset) - Fixed nested parenthesis - Made all regions foldable (include {}) --- .../rt-vimsyntax/annotation.dat.reference | 323 ++++++++++-------- src/maketools/vimsyntax.sh | 38 ++- 2 files changed, 193 insertions(+), 168 deletions(-) diff --git a/regtest/basic/rt-vimsyntax/annotation.dat.reference b/regtest/basic/rt-vimsyntax/annotation.dat.reference index d60d2fcb7..d15299e09 100644 --- a/regtest/basic/rt-vimsyntax/annotation.dat.reference +++ b/regtest/basic/rt-vimsyntax/annotation.dat.reference @@ -1,150 +1,173 @@ -ANNOTATION 1 0 D +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 1 1 I +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 1 2 S +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 1 3 T +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 1 4 A +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 1 5 N +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 1 6 C +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 1 7 E +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 1 9 A +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 1 10 T +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 1 11 O +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 1 12 M +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 1 13 S +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 1 14 = +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 1 15 1 +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword -ANNOTATION 1 16 , +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword -ANNOTATION 1 17 2 +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword -ANNOTATION 1 19 C +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 1 20 O +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 1 21 M +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 1 22 P +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 1 23 O +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 1 24 N +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 1 25 E +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 1 26 N +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 1 27 T +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 1 28 S +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 2 0 # +plumedComment -ANNOTATION 2 2 c +plumedComment -ANNOTATION 2 3 o +plumedComment -ANNOTATION 2 4 m +plumedComment -ANNOTATION 2 5 m +plumedComment -ANNOTATION 2 6 e +plumedComment -ANNOTATION 2 7 n +plumedComment -ANNOTATION 2 8 t +plumedComment -ANNOTATION 3 0 D +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 3 1 I +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 3 2 S +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 3 3 T +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 3 4 A +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 3 5 N +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 3 6 C +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 3 7 E +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 3 9 . +plumedLineDISTANCE+plumedDots -ANNOTATION 3 10 . +plumedLineDISTANCE+plumedDots -ANNOTATION 3 11 . +plumedLineDISTANCE+plumedDots -ANNOTATION 4 3 A +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 4 4 T +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 4 5 O +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 4 6 M +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 4 7 S +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 4 8 = +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 4 9 1 +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword -ANNOTATION 4 10 , +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword -ANNOTATION 4 11 2 +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword -ANNOTATION 4 13 C +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 4 14 O +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 4 15 M +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 4 16 P +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 4 17 O +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 4 18 N +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 4 19 E +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 4 20 N +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 4 21 T +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 4 22 S +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 4 24 L +plumedLineDISTANCE+plumedLabel -ANNOTATION 4 25 A +plumedLineDISTANCE+plumedLabel -ANNOTATION 4 26 B +plumedLineDISTANCE+plumedLabel -ANNOTATION 4 27 E +plumedLineDISTANCE+plumedLabel -ANNOTATION 4 28 L +plumedLineDISTANCE+plumedLabel -ANNOTATION 4 29 = +plumedLineDISTANCE+plumedLabel -ANNOTATION 4 30 a +plumedLineDISTANCE+plumedLabel -ANNOTATION 5 0 . +plumedActionDISTANCE -ANNOTATION 5 1 . +plumedActionDISTANCE -ANNOTATION 5 2 . +plumedActionDISTANCE -ANNOTATION 6 0 D +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 6 1 I +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 6 2 S +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 6 3 T +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 6 4 A +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 6 5 N +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 6 6 C +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 6 7 E +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 6 9 L +plumedLineDISTANCE+plumedLabel -ANNOTATION 6 10 A +plumedLineDISTANCE+plumedLabel -ANNOTATION 6 11 B +plumedLineDISTANCE+plumedLabel -ANNOTATION 6 12 E +plumedLineDISTANCE+plumedLabel -ANNOTATION 6 13 L +plumedLineDISTANCE+plumedLabel -ANNOTATION 6 14 = +plumedLineDISTANCE+plumedLabel -ANNOTATION 6 15 a +plumedLineDISTANCE+plumedLabel -ANNOTATION 6 17 . +plumedLineDISTANCE+plumedDots -ANNOTATION 6 18 . +plumedLineDISTANCE+plumedDots -ANNOTATION 6 19 . +plumedLineDISTANCE+plumedDots -ANNOTATION 7 3 A +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 7 4 T +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 7 5 O +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 7 6 M +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 7 7 S +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 7 8 = +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 7 9 1 +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword -ANNOTATION 7 10 , +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword -ANNOTATION 7 11 2 +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword -ANNOTATION 7 13 C +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 7 14 O +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 7 15 M +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 7 16 P +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 7 17 O +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 7 18 N +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 7 19 E +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 7 20 N +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 7 21 T +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 7 22 S +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 8 0 . +plumedActionDISTANCE -ANNOTATION 8 1 . +plumedActionDISTANCE -ANNOTATION 8 2 . +plumedActionDISTANCE -ANNOTATION 9 0 a +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 9 1 : +plumedLineDISTANCE+plumedActionDISTANCE -ANNOTATION 9 3 . +plumedLineDISTANCE+plumedDots -ANNOTATION 9 4 . +plumedLineDISTANCE+plumedDots -ANNOTATION 9 5 . +plumedLineDISTANCE+plumedDots -ANNOTATION 10 2 D +plumedLineDISTANCE+plumedSpecialDISTANCE -ANNOTATION 10 3 I +plumedLineDISTANCE+plumedSpecialDISTANCE -ANNOTATION 10 4 S +plumedLineDISTANCE+plumedSpecialDISTANCE -ANNOTATION 10 5 T +plumedLineDISTANCE+plumedSpecialDISTANCE -ANNOTATION 10 6 A +plumedLineDISTANCE+plumedSpecialDISTANCE -ANNOTATION 10 7 N +plumedLineDISTANCE+plumedSpecialDISTANCE -ANNOTATION 10 8 C +plumedLineDISTANCE+plumedSpecialDISTANCE -ANNOTATION 10 9 E +plumedLineDISTANCE+plumedSpecialDISTANCE -ANNOTATION 10 11 A +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 10 12 T +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 10 13 O +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 10 14 M +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 10 15 S +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 10 16 = +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 10 17 1 +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword -ANNOTATION 10 18 , +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword -ANNOTATION 10 19 2 +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword -ANNOTATION 11 2 C +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 11 3 O +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 11 4 M +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 11 5 P +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 11 6 O +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 11 7 N +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 11 8 E +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 11 9 N +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 11 10 T +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 11 11 S +plumedLineDISTANCE+plumedKeywordsDISTANCE -ANNOTATION 12 0 . +plumedActionDISTANCE -ANNOTATION 12 1 . +plumedActionDISTANCE -ANNOTATION 12 2 . +plumedActionDISTANCE +ANNOTATION 1 0 D +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 1 1 I +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 1 2 S +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 1 3 T +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 1 4 A +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 1 5 N +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 1 6 C +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 1 7 E +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 1 8 +plumedLineDISTANCE +ANNOTATION 1 9 A +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 1 10 T +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 1 11 O +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 1 12 M +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 1 13 S +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 1 14 = +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 1 15 1 +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword +ANNOTATION 1 16 , +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword +ANNOTATION 1 17 2 +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword +ANNOTATION 1 18 +plumedLineDISTANCE +ANNOTATION 1 19 C +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 1 20 O +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 1 21 M +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 1 22 P +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 1 23 O +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 1 24 N +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 1 25 E +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 1 26 N +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 1 27 T +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 1 28 S +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 2 0 # +plumedComment +ANNOTATION 2 1 +plumedComment +ANNOTATION 2 2 c +plumedComment +ANNOTATION 2 3 o +plumedComment +ANNOTATION 2 4 m +plumedComment +ANNOTATION 2 5 m +plumedComment +ANNOTATION 2 6 e +plumedComment +ANNOTATION 2 7 n +plumedComment +ANNOTATION 2 8 t +plumedComment +ANNOTATION 3 0 D +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 3 1 I +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 3 2 S +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 3 3 T +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 3 4 A +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 3 5 N +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 3 6 C +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 3 7 E +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 3 8 +plumedLineDISTANCE +ANNOTATION 3 9 . +plumedLineDISTANCE+plumedDots +ANNOTATION 3 10 . +plumedLineDISTANCE+plumedDots +ANNOTATION 3 11 . +plumedLineDISTANCE+plumedDots +ANNOTATION 4 0 +plumedLineDISTANCE +ANNOTATION 4 1 +plumedLineDISTANCE +ANNOTATION 4 2 +plumedLineDISTANCE +ANNOTATION 4 3 A +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 4 4 T +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 4 5 O +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 4 6 M +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 4 7 S +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 4 8 = +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 4 9 1 +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword +ANNOTATION 4 10 , +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword +ANNOTATION 4 11 2 +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword +ANNOTATION 4 12 +plumedLineDISTANCE +ANNOTATION 4 13 C +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 4 14 O +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 4 15 M +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 4 16 P +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 4 17 O +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 4 18 N +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 4 19 E +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 4 20 N +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 4 21 T +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 4 22 S +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 4 23 +plumedLineDISTANCE +ANNOTATION 4 24 L +plumedLineDISTANCE+plumedLabel +ANNOTATION 4 25 A +plumedLineDISTANCE+plumedLabel +ANNOTATION 4 26 B +plumedLineDISTANCE+plumedLabel +ANNOTATION 4 27 E +plumedLineDISTANCE+plumedLabel +ANNOTATION 4 28 L +plumedLineDISTANCE+plumedLabel +ANNOTATION 4 29 = +plumedLineDISTANCE+plumedLabel +ANNOTATION 4 30 a +plumedLineDISTANCE+plumedLabel +ANNOTATION 5 0 . +plumedActionDISTANCE +ANNOTATION 5 1 . +plumedActionDISTANCE +ANNOTATION 5 2 . +plumedActionDISTANCE +ANNOTATION 5 3 +plumedActionDISTANCE +ANNOTATION 6 0 D +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 6 1 I +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 6 2 S +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 6 3 T +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 6 4 A +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 6 5 N +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 6 6 C +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 6 7 E +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 6 8 +plumedLineDISTANCE +ANNOTATION 6 9 L +plumedLineDISTANCE+plumedLabel +ANNOTATION 6 10 A +plumedLineDISTANCE+plumedLabel +ANNOTATION 6 11 B +plumedLineDISTANCE+plumedLabel +ANNOTATION 6 12 E +plumedLineDISTANCE+plumedLabel +ANNOTATION 6 13 L +plumedLineDISTANCE+plumedLabel +ANNOTATION 6 14 = +plumedLineDISTANCE+plumedLabel +ANNOTATION 6 15 a +plumedLineDISTANCE+plumedLabel +ANNOTATION 6 16 +plumedLineDISTANCE +ANNOTATION 6 17 . +plumedLineDISTANCE+plumedDots +ANNOTATION 6 18 . +plumedLineDISTANCE+plumedDots +ANNOTATION 6 19 . +plumedLineDISTANCE+plumedDots +ANNOTATION 7 0 +plumedLineDISTANCE +ANNOTATION 7 1 +plumedLineDISTANCE +ANNOTATION 7 2 +plumedLineDISTANCE +ANNOTATION 7 3 A +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 7 4 T +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 7 5 O +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 7 6 M +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 7 7 S +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 7 8 = +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 7 9 1 +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword +ANNOTATION 7 10 , +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword +ANNOTATION 7 11 2 +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword +ANNOTATION 7 12 +plumedLineDISTANCE +ANNOTATION 7 13 C +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 7 14 O +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 7 15 M +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 7 16 P +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 7 17 O +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 7 18 N +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 7 19 E +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 7 20 N +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 7 21 T +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 7 22 S +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 8 0 . +plumedActionDISTANCE +ANNOTATION 8 1 . +plumedActionDISTANCE +ANNOTATION 8 2 . +plumedActionDISTANCE +ANNOTATION 8 3 +plumedActionDISTANCE +ANNOTATION 9 0 a +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 9 1 : +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 9 2 +plumedLineDISTANCE+plumedActionDISTANCE +ANNOTATION 9 3 . +plumedLineDISTANCE+plumedDots +ANNOTATION 9 4 . +plumedLineDISTANCE+plumedDots +ANNOTATION 9 5 . +plumedLineDISTANCE+plumedDots +ANNOTATION 10 0 +plumedLineDISTANCE +ANNOTATION 10 1 +plumedLineDISTANCE +ANNOTATION 10 2 D +plumedLineDISTANCE+plumedSpecialDISTANCE +ANNOTATION 10 3 I +plumedLineDISTANCE+plumedSpecialDISTANCE +ANNOTATION 10 4 S +plumedLineDISTANCE+plumedSpecialDISTANCE +ANNOTATION 10 5 T +plumedLineDISTANCE+plumedSpecialDISTANCE +ANNOTATION 10 6 A +plumedLineDISTANCE+plumedSpecialDISTANCE +ANNOTATION 10 7 N +plumedLineDISTANCE+plumedSpecialDISTANCE +ANNOTATION 10 8 C +plumedLineDISTANCE+plumedSpecialDISTANCE +ANNOTATION 10 9 E +plumedLineDISTANCE+plumedSpecialDISTANCE +ANNOTATION 10 10 +plumedLineDISTANCE +ANNOTATION 10 11 A +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 10 12 T +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 10 13 O +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 10 14 M +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 10 15 S +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 10 16 = +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 10 17 1 +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword +ANNOTATION 10 18 , +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword +ANNOTATION 10 19 2 +plumedLineDISTANCE+plumedKeywordsDISTANCE+plumedStringInKeyword +ANNOTATION 11 0 +plumedLineDISTANCE +ANNOTATION 11 1 +plumedLineDISTANCE +ANNOTATION 11 2 C +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 11 3 O +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 11 4 M +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 11 5 P +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 11 6 O +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 11 7 N +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 11 8 E +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 11 9 N +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 11 10 T +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 11 11 S +plumedLineDISTANCE+plumedKeywordsDISTANCE +ANNOTATION 12 0 . +plumedActionDISTANCE +ANNOTATION 12 1 . +plumedActionDISTANCE +ANNOTATION 12 2 . +plumedActionDISTANCE diff --git a/src/maketools/vimsyntax.sh b/src/maketools/vimsyntax.sh index 46577e642..6026aa85e 100755 --- a/src/maketools/vimsyntax.sh +++ b/src/maketools/vimsyntax.sh @@ -26,6 +26,8 @@ if exists("b:current_syntax") finish endif +let b:current_syntax="plumed" + " All except space and hash are in word set iskeyword=33,34,36-126 @@ -34,15 +36,15 @@ set iskeyword=33,34,36-126 syntax match plumedDots /\v\.\.\.(\s*(#.*)*$)@=/ contained highlight link plumedDots Type -let plumedActions=[] -let plumedDictionary={} +let b:plumedActions=[] +let b:plumedDictionary={} EOF for a in $actions ; do action_name="${a%%,*}" action_name_=$(echo $action_name | sed s/-/_/g) -echo 'call add(plumedActions,{"word":"'"$action_name"'"})' +echo 'call add(b:plumedActions,{"word":"'"$action_name"'"})' dictionary='{"word":"LABEL=","menu":"add a label"}' @@ -76,7 +78,7 @@ done dictionary="$( echo "$dictionary" | sort | tr '\n' ',' | sed 's/,$//' )" -echo "let plumedDictionary[\"plumedLine$action_name\"]=[$dictionary]" +echo "let b:plumedDictionary[\"plumedLine$action_name\"]=[$dictionary]" cat << \EOF | sed s/ACTION/$action_name/g | sed s/ACTNAME/$action_name_/g " single line, with explicit LABEL @@ -120,8 +122,8 @@ EOF done cat << \EOF " comments and strings last, with highest priority -syntax region plumedString start=/\v\{/ end=/\v\}/ contained -syntax region plumedStringOneline start=/\v\{/ end=/\v\}/ oneline contained +syntax region plumedString start=/\v\{/ end=/\v\}/ contained contains=plumedString fold +syntax region plumedStringOneline start=/\v\{/ end=/\v\}/ oneline contained contains=plumedStringOneline fold highlight link plumedString String highlight link plumedStringOneline String syntax match plumedStringInKeyword /\v(<[^ #]+\=)@<=[^ #]+/ contained @@ -135,12 +137,12 @@ highlight link plumedLabel Type syntax match plumedLabelWrong "\v<LABEL\=\@[^ #]*" contained highlight link plumedLabelWrong Error -syntax region plumedComment start="\v^\s*ENDPLUMED>" end="\%$" +syntax region plumedComment start="\v^\s*ENDPLUMED>" end="\%$" fold syntax match plumedComment excludenl "\v#.*$" highlight link plumedComment Comment " autocomplete function -fun! CompletePlumed(findstart, base) +fun! PlumedComplete(findstart, base) " this is to find the start of the word to be completed if a:findstart " locate the start of the word @@ -169,11 +171,11 @@ fun! CompletePlumed(findstart, base) let comp=[] if key =="" " if outside of any region, complete with list of actions - let comp=g:plumedActions - elseif has_key(g:plumedDictionary,key) + let comp=b:plumedActions + elseif has_key(b:plumedDictionary,key) " if inside a region in the form "plumedLineXXX" " complete with keywords associated to action XXX - let comp=g:plumedDictionary[key] + let comp=b:plumedDictionary[key] endif " find months matching with "a:base" let res = [] @@ -195,7 +197,7 @@ fun! CompletePlumed(findstart, base) return res endif endfun -set omnifunc=CompletePlumed +setlocal omnifunc=PlumedComplete " inspect the entire file to find lines containing " non highlighted characters @@ -213,19 +215,19 @@ fun! PlumedAnnotateSyntax() call cursor(l,1) redraw! "! is required for some reason while p <len(line) + let stack=synstack(l,p+1) if line[p] !~ "[ \t]" - let stack=synstack(l,p+1) if(len(stack)==0) let wrong=1 elseif(synIDattr(stack[len(stack)-1],"name")=~"^plumedLine.*") let wrong=1 endif - let annotation="" - for s in stack - let annotation=annotation."+".synIDattr(s,"name") - endfor - call add(buffer,"ANNOTATION ".l." ".p." ".line[p]." ".annotation) endif + let annotation="" + for s in stack + let annotation=annotation."+".synIDattr(s,"name") + endfor + call add(buffer,printf("ANNOTATION %5d %3d %s %s",l,p,line[p],annotation)) let p=p+1 endwhile -- GitLab