" Vim syntax file " Language: SUSY/Flavour Les Houches Accord (SLHA1, SLHA2, FLHA) " Maintainer: Frank S. Thomas " Last Change: 2010-08-08 " SLHA1 is specified in arXiv:hep-ph/0311123 " SLHA2 is specified in arXiv:0801.0045 [hep-ph] " FLHA is specified in arXiv:1008.0762 [hep-ph] " For version 5.x: Clear all syntax items " For version 6.x: Quit when a syntax file was already loaded if version < 600 syntax clear elseif exists("b:current_syntax") finish endif " SLHA{1,2} do not specify if case is important although all keywords in the " specs are upper case. syn case ignore " Every line that is not matched below does not follow the specs. syn match slhaBadLine "^[^#]*" syn match slhaRealNum "[+-]\?\d\+\.\d*\(e[+-]\=\d\+\)\=" syn match slhaRealNum "\.\d\+\(e[+-]\=\d\+\)\=" syn match slhaRealNum "[+-]\?\d\+e[+-]\=\d\+" syn match slhaComment "#.*$" contains=slhaTodo syn match slhaBlockLine "^\(BLOCK\|DECAY\).*$" syn match slhaDataLine "^\s\+[0-9+-].*" contains=slhaRealNum,slhaComment,slhaError syn keyword slhaTodo TODO FIXME XXX syn keyword slhaBlock BLOCK DECAY " Block names defined in SLHA1. syn keyword slhaBlockNames MODSEL SMINPUTS MINPAR EXTPAR MASS NMIX UMIX VMIX \ STOPMIX SBOTMIX STAUMIX ALPHA HMIX GAUGE MSOFT \ AU AD AE YU YD YE SPINFO " Block names defined in SLHA2 (4.1 Flavour Violation). syn keyword slhaBlockNames QEXTPAR VCKMIN VCKM IMVCKM UPMNSIN UPMNS IMUPMNS \ MSQ2IN MSQ2 MSU2IN MSU2 MSD2IN MSD2 MSL2IN MSL2 \ MSE2IN MSE2 TUIN TU TDIN TD TEIN TE USQMIX DSQMIX \ SELMIX SNUMIX SNSMIX SNAMIX " Block names defined in SLHA2 (4.2 R-Parity Violation). syn keyword slhaBlockNames RVLAMLLEIN RVLAMLLE RVLAMLQDIN RVLAMLQD RVLAMUDDIN \ RVLAMUDD RVTLLEIN RVTLLE RVTLQDIN RVTLQD RVTUDDIN \ RVTUDD RVKAPPAIN RVKAPPA RVDIN RVD RVSNVEVIN \ RVSNVEV RVM2LH1IN RVM2LH1 \ RVNMIX RVUMIX RVVMIX RVHMIX RVAMIX RVLMIX " Block names defined in SLHA2 (4.3 CP Violation). syn keyword slhaBlockNames IMAU IMAD IMAE IMMINPAR IMEXTPAR CVHMIX IMCVHMIX " Block names defined in SLHA2 (5 The Next-to-Minimal Supersymmetric SM). syn keyword slhaBlockNames NMSSMRUN NMHMIX NMAMIX NMNMIX " Block names defined in FLHA. syn keyword slhaBlockNames FCINFO FMODSEL FMASS FLIFE FCONST FCONSTRATIO FBA \ FWCOEF IMFWCOEF FOBS FOBSERR FOBSSM FPARAM " Block names used in various tools. syn keyword slhaBlockNames DCINFO SOFTSUSY SU_FINETUNE SU_LOWPAR " Block names used in SPheno. syn keyword slhaBlockNames SPhenoInput SPhenoINFO SPhenoCrossSections \ SPhenoLowEnergy SPhenoRP LHCobservables " Block names used in Kaimini. syn keyword slhaBlockNames KaiminiBootstrap KaiminiCalculator \ KaiminiChiSquare KaiminiChiSquareContrib \ KaiminiChiSquareContribSingle KaiminiControl \ KaiminiCorrelationMatrix \ KaiminiCovarianceMatrix KaiminiDataPoints \ KaiminiDataPointsOut KaiminiInfo \ KaiminiMinosErrors KaiminiParameterDifferences \ KaiminiParameters KaiminiParametersOut " Quote from SLHA1: "Use of the 'tab' character is dangerous and should be " avoided". So mark tabs as error. syn match slhaError "\t" " Define the default highlighting. hi def link slhaBadLine Error hi def link slhaRealNum Constant hi def link slhaComment Comment hi def link slhaTodo Todo hi def link slhaBlock Statement hi def link slhaBlockNames Type hi def link slhaError Error let b:current_syntax = "slha"