1" Vim syntax file 2" Language: ReDIF 3" Maintainer: Axel Castellane <[email protected]> 4" Last Change: 2013 Feb 20 5" Original Author: Axel Castellane 6" Source: http://openlib.org/acmes/root/docu/redif_1.html 7" Note: The ReDIF format is used by RePEc. 8 9" Start with a check for "b:current_syntax". If it is defined, some other 10" syntax file, earlier in 'runtimepath' was already loaded: 11if exists("b:current_syntax") 12 finish 13endif 14 15" Sync: The template-type (ReDIF-Paper, ReDIF-Archive, etc.) influences which 16" fields can follow. Thus sync must start from the beginning to know which 17" fields are right or wrong. 18syntax sync fromstart 19 20" ReDIF is case-insensitive 21syntax case ignore 22 23" Structure: Some fields determine what fields can come next. For example: 24" Template-Type 25" *-Name 26" File-URL 27" *-Institution 28" Those fields span a syntax region over several lines so that these regions 29" can only contain their respective items. 30" 31" Other fields (except comments) can only happen in one of these regions. 32 33" Comments must start with # as the first character of the line, otherwise 34" I believe that they are considered as part of an argument. 35syntax region redifComment start=/^#/ end=/$/ containedin=ALL display 36 37" Beginning: Anything which is not a comment is not allowed before a 38" "Template-Type:" statement. However, not to trouble the users when beginning 39" writing a Template-Type, this are not highlighted as errors. 40syntax region redifIncorrectBeginningOfFile start=/\%^/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifComment,redifBeginningOfCorrectTemplateType,redifFieldTemplateType 41syntax match redifBeginningOfCorrectTemplateType /^\cT\%[emplate-Type:]$/ display 42 43highlight def link redifIncorrectBeginningOfFile redifError 44 45" Defines the 9 possible multi-lines regions of Template-Type and the fields 46" they can contain. 47syntax region redifRegionTemplatePaper start=/^Template-Type:\_s*ReDIF-Paper \d\+\.\d\+/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifUnknownField,redifRegionClusterAuthor,redifRegionClusterFile,redifFieldTitle,redifFieldHandleOfWork,redifFieldLanguage,redifFieldContactEmail,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldNumber,redifFieldCreationDate,redifFieldRevisionDate,redifFieldPublicationStatus,redifFieldNote,redifFieldLength,redifFieldSeries,redifFieldAvailability,redifFieldOrderURL,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldRestriction,redifFieldPrice,redifFieldNotification,redifFieldPublicationType,redifFieldTemplateType 48syntax region redifRegionTemplateArticle start=/^Template-Type:\_s*ReDIF-Article \d\+\.\d\+/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifUnknownField,redifRegionClusterAuthor,redifRegionClusterFile,redifFieldTitle,redifFieldHandleOfWork,redifFieldLanguage,redifFieldContactEmail,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldNumber,redifFieldCreationDate,redifFieldPublicationStatus,redifFieldOrderURL,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldRestriction,redifFieldPrice,redifFieldNotification,redifFieldPublicationType,redifFieldJournal,redifFieldVolume,redifFieldYear,redifFieldIssue,redifFieldMonth,redifFieldPages,redifFieldNumber,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType 49syntax region redifRegionTemplateChapter start=/^Template-Type:\_s*ReDIF-Chapter \d\+\.\d\+/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifUnknownField,redifRegionClusterAuthor,redifRegionClusterFile,redifRegionClusterProvider,redifRegionClusterPublisher,redifRegionClusterEditor,redifFieldHandleOfWork,redifFieldTitle,redifFieldContactEmail,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldBookTitle,redifFieldYear,redifFieldMonth,redifFieldPages,redifFieldChapter,redifFieldVolume,redifFieldEdition,redifFieldSeries,redifFieldISBN,redifFieldPublicationStatus,redifFieldNote,redifFieldInBook,redifFieldOrderURL,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType 50syntax region redifRegionTemplateBook start=/^Template-Type:\_s*ReDIF-Book \d\+\.\d\+/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifUnknownField,redifRegionClusterAuthor,redifRegionClusterFile,redifRegionClusterProvider,redifRegionClusterPublisher,redifRegionClusterEditor,redifFieldTitle,redifFieldHandleOfWork,redifFieldContactEmail,redifFieldYear,redifFieldMonth,redifFieldVolume,redifFieldEdition,redifFieldSeries,redifFieldISBN,redifFieldPublicationStatus,redifFieldNote,redifFieldAbstract,redifFieldClassificationJEL,redifFieldKeywords,redifFieldHasChapter,redifFieldPrice,redifFieldOrderURL,redifFieldNumber,redifFieldCreationDate,redifFieldPublicationDate,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType 51syntax region redifRegionTemplateSoftware start=/^Template-Type:\_s*ReDIF-Software \d\+\.\d\+/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifUnknownField,redifRegionClusterAuthor,redifRegionClusterFile,redifFieldHandleOfWork,redifFieldTitle,redifFieldProgrammingLanguage,redifFieldAbstract,redifFieldNumber,redifFieldVersion,redifFieldClassificationJEL,redifFieldKeywords,redifFieldSize,redifFieldSeries,redifFieldCreationDate,redifFieldRevisionDate,redifFieldNote,redifFieldRequires,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType 52syntax region redifRegionTemplateArchive start=/^Template-Type:\_s*ReDIF-Archive \d\+\.\d\+/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifUnknownField,redifFieldHandleOfArchive,redifFieldURL,redifFieldMaintainerEmail,redifFieldName,redifFieldMaintainerName,redifFieldMaintainerPhone,redifFieldMaintainerFax,redifFieldClassificationJEL,redifFieldHomepage,redifFieldDescription,redifFieldNotification,redifFieldRestriction,redifFieldTemplateType 53syntax region redifRegionTemplateSeries start=/^Template-Type:\_s*ReDIF-Series \d\+\.\d\+/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifUnknownField,redifRegionClusterProvider,redifRegionClusterPublisher,redifRegionClusterEditor,redifFieldName,redifFieldHandleOfSeries,redifFieldMaintainerEmail,redifFieldType,redifFieldOrderEmail,redifFieldOrderHomepage,redifFieldOrderPostal,redifFieldPrice,redifFieldRestriction,redifFieldMaintainerPhone,redifFieldMaintainerFax,redifFieldMaintainerName,redifFieldDescription,redifFieldClassificationJEL,redifFieldKeywords,redifFieldNotification,redifFieldISSN,redifFieldFollowup,redifFieldPredecessor,redifFieldTemplateType 54syntax region redifRegionTemplateInstitution start=/^Template-Type:\_s*ReDIF-Institution \d\+\.\d\+/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifUnknownField,redifRegionClusterPrimary,redifRegionClusterSecondary,redifRegionClusterTertiary,redifRegionClusterQuaternary,redifFieldHandleOfInstitution,redifFieldPrimaryDefunct,redifFieldSecondaryDefunct,redifFieldTertiaryDefunct,redifFieldTemplateType 55syntax region redifRegionTemplatePerson start=/^Template-Type:\_s*ReDIF-Person \d\+\.\d\+/ end=/^Template-Type:\_s*ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\) \d\+\.\d\+/me=s-1 contains=redifUnknownField,redifRegionClusterWorkplace,redifFieldHandleOfPerson,redifFieldNameFull,redifFieldNameFirst,redifFieldNameLast,redifFieldNamePrefix,redifFieldNameMiddle,redifFieldNameSuffix,redifFieldNameASCII,redifFieldEmail,redifFieldHomepage,redifFieldFax,redifFieldPostal,redifFieldPhone,redifFieldWorkplaceOrganization,redifFieldAuthorPaper,redifFieldAuthorArticle,redifFieldAuthorSoftware,redifFieldAuthorBook,redifFieldAuthorChapter,redifFieldEditorBook,redifFieldEditorSeries,redifFieldClassificationJEL,redifFieldShortId,redifFieldLastLoginDate,redifFieldRegisteredDate,redifFieldTemplateType 56 57" For each template, non-whitespaces ending with a colon must be 58" correct fields. By default, they are wrong fields. 59syntax match redifUnknownField /^\S\{-1,}:/ contained display 60 61highlight def link redifUnknownField redifError 62 63" Defines the 12 possible clusters and what they can contain 64syntax region redifRegionClusterAuthorWorkplace start=/^Author-Workplace-Name:/ skip=/^Author-Workplace-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldAuthorWorkplaceName,redifFieldAuthorWorkplaceHomepage,redifFieldAuthorWorkplaceNameEnglish,redifFieldAuthorWorkplacePostal,redifFieldAuthorWorkplaceLocation,redifFieldAuthorWorkplaceEmail,redifFieldAuthorWorkplacePhone,redifFieldAuthorWorkplaceFax,redifFieldAuthorWorkplaceInstitution 65syntax region redifRegionClusterEditorWorkplace start=/^Editor-Workplace-Name:/ skip=/^Editor-Workplace-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldEditorWorkplaceName,redifFieldEditorWorkplaceHomepage,redifFieldEditorWorkplaceNameEnglish,redifFieldEditorWorkplacePostal,redifFieldEditorWorkplaceLocation,redifFieldEditorWorkplaceEmail,redifFieldEditorWorkplacePhone,redifFieldEditorWorkplaceFax,redifFieldEditorWorkplaceInstitution 66syntax region redifRegionClusterWorkplace start=/^Workplace-Name:/ skip=/^Workplace-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldWorkplaceName,redifFieldWorkplaceHomepage,redifFieldWorkplaceNameEnglish,redifFieldWorkplacePostal,redifFieldWorkplaceLocation,redifFieldWorkplaceEmail,redifFieldWorkplacePhone,redifFieldWorkplaceFax,redifFieldWorkplaceInstitution 67syntax region redifRegionClusterPrimary start=/^Primary-Name:/ skip=/^Primary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldPrimaryName,redifFieldPrimaryHomepage,redifFieldPrimaryNameEnglish,redifFieldPrimaryPostal,redifFieldPrimaryLocation,redifFieldPrimaryEmail,redifFieldPrimaryPhone,redifFieldPrimaryFax,redifFieldPrimaryInstitution 68syntax region redifRegionClusterSecondary start=/^Secondary-Name:/ skip=/^Secondary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldSecondaryName,redifFieldSecondaryHomepage,redifFieldSecondaryNameEnglish,redifFieldSecondaryPostal,redifFieldSecondaryLocation,redifFieldSecondaryEmail,redifFieldSecondaryPhone,redifFieldSecondaryFax,redifFieldSecondaryInstitution 69syntax region redifRegionClusterTertiary start=/^Tertiary-Name:/ skip=/^Tertiary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldTertiaryName,redifFieldTertiaryHomepage,redifFieldTertiaryNameEnglish,redifFieldTertiaryPostal,redifFieldTertiaryLocation,redifFieldTertiaryEmail,redifFieldTertiaryPhone,redifFieldTertiaryFax,redifFieldTertiaryInstitution 70syntax region redifRegionClusterQuaternary start=/^Quaternary-Name:/ skip=/^Quaternary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldQuaternaryName,redifFieldQuaternaryHomepage,redifFieldQuaternaryNameEnglish,redifFieldQuaternaryPostal,redifFieldQuaternaryLocation,redifFieldQuaternaryEmail,redifFieldQuaternaryPhone,redifFieldQuaternaryFax,redifFieldQuaternaryInstitution 71syntax region redifRegionClusterProvider start=/^Provider-Name:/ skip=/^Provider-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldProviderName,redifFieldProviderHomepage,redifFieldProviderNameEnglish,redifFieldProviderPostal,redifFieldProviderLocation,redifFieldProviderEmail,redifFieldProviderPhone,redifFieldProviderFax,redifFieldProviderInstitution 72syntax region redifRegionClusterPublisher start=/^Publisher-Name:/ skip=/^Publisher-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldPublisherName,redifFieldPublisherHomepage,redifFieldPublisherNameEnglish,redifFieldPublisherPostal,redifFieldPublisherLocation,redifFieldPublisherEmail,redifFieldPublisherPhone,redifFieldPublisherFax,redifFieldPublisherInstitution 73syntax region redifRegionClusterAuthor start=/^Author-Name:/ skip=/^Author-\%(Name\%(-First\|-Last\)\|Homepage\|Email\|Fax\|Postal\|Phone\|Person\|Workplace-Name\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifRegionClusterAuthorWorkplace,redifFieldAuthorName,redifFieldAuthorNameFirst,redifFieldAuthorNameLast,redifFieldAuthorHomepage,redifFieldAuthorEmail,redifFieldAuthorFax,redifFieldAuthorPostal,redifFieldAuthorPhone,redifFieldAuthorPerson 74syntax region redifRegionClusterEditor start=/^Editor-Name:/ skip=/^Editor-\%(Name\%(-First\|-Last\)\|Homepage\|Email\|Fax\|Postal\|Phone\|Person\|Workplace-Name\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifRegionClusterEditorWorkplace,redifFieldEditorName,redifFieldEditorNameFirst,redifFieldEditorNameLast,redifFieldEditorHomepage,redifFieldEditorEmail,redifFieldEditorFax,redifFieldEditorPostal,redifFieldEditorPhone,redifFieldEditorPerson 75syntax region redifRegionClusterFile start=/^File-URL:/ skip=/^File-\%(Format\|Function\|Size\|Restriction\):/ end=/^\c\S\{-1,}:/me=s-1 contained contains=redifFieldFileURL,redifFieldFileFormat,redifFieldFileFunction,redifFieldFileSize,redifFieldFileRestriction 76 77" A field not in the cluster ends the cluster, so no need to define wrong 78" fields, because they will be handled by the containing UnknownField region 79" immediately when exiting the cluster. 80 81" All the possible fields 82" Note: The "Handle" field is handled a little bit differently, because it 83" does not have the same meaning depending on the Template-Type. 84" /redifFieldHandleOf.... 85syntax match redifFieldAbstract /^Abstract:/ skipwhite skipempty nextgroup=redifArgumentAbstract contained 86syntax match redifFieldArticleHandle /^Article-Handle:/ skipwhite skipempty nextgroup=redifArgumentArticleHandle contained 87syntax match redifFieldAuthorArticle /^Author-Article:/ skipwhite skipempty nextgroup=redifArgumentAuthorArticle contained 88syntax match redifFieldAuthorBook /^Author-Book:/ skipwhite skipempty nextgroup=redifArgumentAuthorBook contained 89syntax match redifFieldAuthorChapter /^Author-Chapter:/ skipwhite skipempty nextgroup=redifArgumentAuthorChapter contained 90syntax match redifFieldAuthorEmail /^Author-Email:/ skipwhite skipempty nextgroup=redifArgumentAuthorEmail contained 91syntax match redifFieldAuthorFax /^Author-Fax:/ skipwhite skipempty nextgroup=redifArgumentAuthorFax contained 92syntax match redifFieldAuthorHomepage /^Author-Homepage:/ skipwhite skipempty nextgroup=redifArgumentAuthorHomepage contained 93syntax match redifFieldAuthorName /^Author-Name:/ skipwhite skipempty nextgroup=redifArgumentAuthorName contained 94syntax match redifFieldAuthorNameFirst /^Author-Name-First:/ skipwhite skipempty nextgroup=redifArgumentAuthorNameFirst contained 95syntax match redifFieldAuthorNameLast /^Author-Name-Last:/ skipwhite skipempty nextgroup=redifArgumentAuthorNameLast contained 96syntax match redifFieldAuthorPaper /^Author-Paper:/ skipwhite skipempty nextgroup=redifArgumentAuthorPaper contained 97syntax match redifFieldAuthorPerson /^Author-Person:/ skipwhite skipempty nextgroup=redifArgumentAuthorPerson contained 98syntax match redifFieldAuthorPhone /^Author-Phone:/ skipwhite skipempty nextgroup=redifArgumentAuthorPhone contained 99syntax match redifFieldAuthorPostal /^Author-Postal:/ skipwhite skipempty nextgroup=redifArgumentAuthorPostal contained 100syntax match redifFieldAuthorSoftware /^Author-Software:/ skipwhite skipempty nextgroup=redifArgumentAuthorSoftware contained 101syntax match redifFieldAuthorWorkplaceEmail /^Author-Workplace-Email:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceEmail contained 102syntax match redifFieldAuthorWorkplaceFax /^Author-Workplace-Fax:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceFax contained 103syntax match redifFieldAuthorWorkplaceHomepage /^Author-Workplace-Homepage:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceHomepage contained 104syntax match redifFieldAuthorWorkplaceInstitution /^Author-Workplace-Institution:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceInstitution contained 105syntax match redifFieldAuthorWorkplaceLocation /^Author-Workplace-Location:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceLocation contained 106syntax match redifFieldAuthorWorkplaceName /^Author-Workplace-Name:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceName contained 107syntax match redifFieldAuthorWorkplaceNameEnglish /^Author-Workplace-Name-English:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceNameEnglish contained 108syntax match redifFieldAuthorWorkplacePhone /^Author-Workplace-Phone:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplacePhone contained 109syntax match redifFieldAuthorWorkplacePostal /^Author-Workplace-Postal:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplacePostal contained 110syntax match redifFieldAvailability /^Availability:/ skipwhite skipempty nextgroup=redifArgumentAvailability contained 111syntax match redifFieldBookHandle /^Book-Handle:/ skipwhite skipempty nextgroup=redifArgumentBookHandle contained 112syntax match redifFieldBookTitle /^Book-Title:/ skipwhite skipempty nextgroup=redifArgumentBookTitle contained 113syntax match redifFieldChapterHandle /^Chapter-Handle:/ skipwhite skipempty nextgroup=redifArgumentChapterHandle contained 114syntax match redifFieldChapter /^Chapter:/ skipwhite skipempty nextgroup=redifArgumentChapter contained 115syntax match redifFieldClassificationJEL /^Classification-JEL:/ skipwhite skipempty nextgroup=redifArgumentClassificationJEL contained 116syntax match redifFieldContactEmail /^Contact-Email:/ skipwhite skipempty nextgroup=redifArgumentContactEmail contained 117syntax match redifFieldCreationDate /^Creation-Date:/ skipwhite skipempty nextgroup=redifArgumentCreationDate contained 118syntax match redifFieldDescription /^Description:/ skipwhite skipempty nextgroup=redifArgumentDescription contained 119syntax match redifFieldEdition /^Edition:/ skipwhite skipempty nextgroup=redifArgumentEdition contained 120syntax match redifFieldEditorBook /^Editor-Book:/ skipwhite skipempty nextgroup=redifArgumentEditorBook contained 121syntax match redifFieldEditorEmail /^Editor-Email:/ skipwhite skipempty nextgroup=redifArgumentEditorEmail contained 122syntax match redifFieldEditorFax /^Editor-Fax:/ skipwhite skipempty nextgroup=redifArgumentEditorFax contained 123syntax match redifFieldEditorHomepage /^Editor-Homepage:/ skipwhite skipempty nextgroup=redifArgumentEditorHomepage contained 124syntax match redifFieldEditorName /^Editor-Name:/ skipwhite skipempty nextgroup=redifArgumentEditorName contained 125syntax match redifFieldEditorNameFirst /^Editor-Name-First:/ skipwhite skipempty nextgroup=redifArgumentEditorNameFirst contained 126syntax match redifFieldEditorNameLast /^Editor-Name-Last:/ skipwhite skipempty nextgroup=redifArgumentEditorNameLast contained 127syntax match redifFieldEditorPerson /^Editor-Person:/ skipwhite skipempty nextgroup=redifArgumentEditorPerson contained 128syntax match redifFieldEditorPhone /^Editor-Phone:/ skipwhite skipempty nextgroup=redifArgumentEditorPhone contained 129syntax match redifFieldEditorPostal /^Editor-Postal:/ skipwhite skipempty nextgroup=redifArgumentEditorPostal contained 130syntax match redifFieldEditorSeries /^Editor-Series:/ skipwhite skipempty nextgroup=redifArgumentEditorSeries contained 131syntax match redifFieldEditorWorkplaceEmail /^Editor-Workplace-Email:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceEmail contained 132syntax match redifFieldEditorWorkplaceFax /^Editor-Workplace-Fax:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceFax contained 133syntax match redifFieldEditorWorkplaceHomepage /^Editor-Workplace-Homepage:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceHomepage contained 134syntax match redifFieldEditorWorkplaceInstitution /^Editor-Workplace-Institution:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceInstitution contained 135syntax match redifFieldEditorWorkplaceLocation /^Editor-Workplace-Location:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceLocation contained 136syntax match redifFieldEditorWorkplaceName /^Editor-Workplace-Name:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceName contained 137syntax match redifFieldEditorWorkplaceNameEnglish /^Editor-Workplace-Name-English:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceNameEnglish contained 138syntax match redifFieldEditorWorkplacePhone /^Editor-Workplace-Phone:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplacePhone contained 139syntax match redifFieldEditorWorkplacePostal /^Editor-Workplace-Postal:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplacePostal contained 140syntax match redifFieldEmail /^Email:/ skipwhite skipempty nextgroup=redifArgumentEmail contained 141syntax match redifFieldFax /^Fax:/ skipwhite skipempty nextgroup=redifArgumentFax contained 142syntax match redifFieldFileFormat /^File-Format:/ skipwhite skipempty nextgroup=redifArgumentFileFormat contained 143syntax match redifFieldFileFunction /^File-Function:/ skipwhite skipempty nextgroup=redifArgumentFileFunction contained 144syntax match redifFieldFileRestriction /^File-Restriction:/ skipwhite skipempty nextgroup=redifArgumentFileRestriction contained 145syntax match redifFieldFileSize /^File-Size:/ skipwhite skipempty nextgroup=redifArgumentFileSize contained 146syntax match redifFieldFileURL /^File-URL:/ skipwhite skipempty nextgroup=redifArgumentFileURL contained 147syntax match redifFieldFollowup /^Followup:/ skipwhite skipempty nextgroup=redifArgumentFollowup contained 148syntax match redifFieldHandleOfArchive /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfArchive contained 149syntax match redifFieldHandleOfInstitution /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfInstitution contained 150syntax match redifFieldHandleOfPerson /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfPerson contained 151syntax match redifFieldHandleOfSeries /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfSeries contained 152syntax match redifFieldHandleOfWork /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfWork contained 153syntax match redifFieldHasChapter /^HasChapter:/ skipwhite skipempty nextgroup=redifArgumentHasChapter contained 154syntax match redifFieldHomepage /^Homepage:/ skipwhite skipempty nextgroup=redifArgumentHomepage contained 155syntax match redifFieldInBook /^In-Book:/ skipwhite skipempty nextgroup=redifArgumentInBook contained 156syntax match redifFieldISBN /^ISBN:/ skipwhite skipempty nextgroup=redifArgumentISBN contained 157syntax match redifFieldISSN /^ISSN:/ skipwhite skipempty nextgroup=redifArgumentISSN contained 158syntax match redifFieldIssue /^Issue:/ skipwhite skipempty nextgroup=redifArgumentIssue contained 159syntax match redifFieldJournal /^Journal:/ skipwhite skipempty nextgroup=redifArgumentJournal contained 160syntax match redifFieldKeywords /^Keywords:/ skipwhite skipempty nextgroup=redifArgumentKeywords contained 161syntax match redifFieldKeywords /^Keywords:/ skipwhite skipempty nextgroup=redifArgumentKeywords contained 162syntax match redifFieldLanguage /^Language:/ skipwhite skipempty nextgroup=redifArgumentLanguage contained 163syntax match redifFieldLastLoginDate /^Last-Login-Date:/ skipwhite skipempty nextgroup=redifArgumentLastLoginDate contained 164syntax match redifFieldLength /^Length:/ skipwhite skipempty nextgroup=redifArgumentLength contained 165syntax match redifFieldMaintainerEmail /^Maintainer-Email:/ skipwhite skipempty nextgroup=redifArgumentMaintainerEmail contained 166syntax match redifFieldMaintainerFax /^Maintainer-Fax:/ skipwhite skipempty nextgroup=redifArgumentMaintainerFax contained 167syntax match redifFieldMaintainerName /^Maintainer-Name:/ skipwhite skipempty nextgroup=redifArgumentMaintainerName contained 168syntax match redifFieldMaintainerPhone /^Maintainer-Phone:/ skipwhite skipempty nextgroup=redifArgumentMaintainerPhone contained 169syntax match redifFieldMonth /^Month:/ skipwhite skipempty nextgroup=redifArgumentMonth contained 170syntax match redifFieldNameASCII /^Name-ASCII:/ skipwhite skipempty nextgroup=redifArgumentNameASCII contained 171syntax match redifFieldNameFirst /^Name-First:/ skipwhite skipempty nextgroup=redifArgumentNameFirst contained 172syntax match redifFieldNameFull /^Name-Full:/ skipwhite skipempty nextgroup=redifArgumentNameFull contained 173syntax match redifFieldNameLast /^Name-Last:/ skipwhite skipempty nextgroup=redifArgumentNameLast contained 174syntax match redifFieldNameMiddle /^Name-Middle:/ skipwhite skipempty nextgroup=redifArgumentNameMiddle contained 175syntax match redifFieldNamePrefix /^Name-Prefix:/ skipwhite skipempty nextgroup=redifArgumentNamePrefix contained 176syntax match redifFieldNameSuffix /^Name-Suffix:/ skipwhite skipempty nextgroup=redifArgumentNameSuffix contained 177syntax match redifFieldName /^Name:/ skipwhite skipempty nextgroup=redifArgumentName contained 178syntax match redifFieldNote /^Note:/ skipwhite skipempty nextgroup=redifArgumentNote contained 179syntax match redifFieldNotification /^Notification:/ skipwhite skipempty nextgroup=redifArgumentNotification contained 180syntax match redifFieldNumber /^Number:/ skipwhite skipempty nextgroup=redifArgumentNumber contained 181syntax match redifFieldOrderEmail /^Order-Email:/ skipwhite skipempty nextgroup=redifArgumentOrderEmail contained 182syntax match redifFieldOrderHomepage /^Order-Homepage:/ skipwhite skipempty nextgroup=redifArgumentOrderHomepage contained 183syntax match redifFieldOrderPostal /^Order-Postal:/ skipwhite skipempty nextgroup=redifArgumentOrderPostal contained 184syntax match redifFieldOrderURL /^Order-URL:/ skipwhite skipempty nextgroup=redifArgumentOrderURL contained 185syntax match redifFieldPages /^Pages:/ skipwhite skipempty nextgroup=redifArgumentPages contained 186syntax match redifFieldPaperHandle /^Paper-Handle:/ skipwhite skipempty nextgroup=redifArgumentPaperHandle contained 187syntax match redifFieldPhone /^Phone:/ skipwhite skipempty nextgroup=redifArgumentPhone contained 188syntax match redifFieldPostal /^Postal:/ skipwhite skipempty nextgroup=redifArgumentPostal contained 189syntax match redifFieldPredecessor /^Predecessor:/ skipwhite skipempty nextgroup=redifArgumentPredecessor contained 190syntax match redifFieldPrice /^Price:/ skipwhite skipempty nextgroup=redifArgumentPrice contained 191syntax match redifFieldPrimaryDefunct /^Primary-Defunct:/ skipwhite skipempty nextgroup=redifArgumentPrimaryDefunct contained 192syntax match redifFieldPrimaryEmail /^Primary-Email:/ skipwhite skipempty nextgroup=redifArgumentPrimaryEmail contained 193syntax match redifFieldPrimaryFax /^Primary-Fax:/ skipwhite skipempty nextgroup=redifArgumentPrimaryFax contained 194syntax match redifFieldPrimaryHomepage /^Primary-Homepage:/ skipwhite skipempty nextgroup=redifArgumentPrimaryHomepage contained 195syntax match redifFieldPrimaryInstitution /^Primary-Institution:/ skipwhite skipempty nextgroup=redifArgumentPrimaryInstitution contained 196syntax match redifFieldPrimaryLocation /^Primary-Location:/ skipwhite skipempty nextgroup=redifArgumentPrimaryLocation contained 197syntax match redifFieldPrimaryName /^Primary-Name:/ skipwhite skipempty nextgroup=redifArgumentPrimaryName contained 198syntax match redifFieldPrimaryNameEnglish /^Primary-Name-English:/ skipwhite skipempty nextgroup=redifArgumentPrimaryNameEnglish contained 199syntax match redifFieldPrimaryPhone /^Primary-Phone:/ skipwhite skipempty nextgroup=redifArgumentPrimaryPhone contained 200syntax match redifFieldPrimaryPostal /^Primary-Postal:/ skipwhite skipempty nextgroup=redifArgumentPrimaryPostal contained 201syntax match redifFieldProgrammingLanguage /^Programming-Language:/ skipwhite skipempty nextgroup=redifArgumentProgrammingLanguage contained 202syntax match redifFieldProviderEmail /^Provider-Email:/ skipwhite skipempty nextgroup=redifArgumentProviderEmail contained 203syntax match redifFieldProviderFax /^Provider-Fax:/ skipwhite skipempty nextgroup=redifArgumentProviderFax contained 204syntax match redifFieldProviderHomepage /^Provider-Homepage:/ skipwhite skipempty nextgroup=redifArgumentProviderHomepage contained 205syntax match redifFieldProviderInstitution /^Provider-Institution:/ skipwhite skipempty nextgroup=redifArgumentProviderInstitution contained 206syntax match redifFieldProviderLocation /^Provider-Location:/ skipwhite skipempty nextgroup=redifArgumentProviderLocation contained 207syntax match redifFieldProviderName /^Provider-Name:/ skipwhite skipempty nextgroup=redifArgumentProviderName contained 208syntax match redifFieldProviderNameEnglish /^Provider-Name-English:/ skipwhite skipempty nextgroup=redifArgumentProviderNameEnglish contained 209syntax match redifFieldProviderPhone /^Provider-Phone:/ skipwhite skipempty nextgroup=redifArgumentProviderPhone contained 210syntax match redifFieldProviderPostal /^Provider-Postal:/ skipwhite skipempty nextgroup=redifArgumentProviderPostal contained 211syntax match redifFieldPublicationDate /^Publication-Date:/ skipwhite skipempty nextgroup=redifArgumentPublicationDate contained 212syntax match redifFieldPublicationStatus /^Publication-Status:/ skipwhite skipempty nextgroup=redifArgumentPublicationStatus contained 213syntax match redifFieldPublicationType /^Publication-Type:/ skipwhite skipempty nextgroup=redifArgumentPublicationType contained 214syntax match redifFieldPublisherEmail /^Publisher-Email:/ skipwhite skipempty nextgroup=redifArgumentPublisherEmail contained 215syntax match redifFieldPublisherFax /^Publisher-Fax:/ skipwhite skipempty nextgroup=redifArgumentPublisherFax contained 216syntax match redifFieldPublisherHomepage /^Publisher-Homepage:/ skipwhite skipempty nextgroup=redifArgumentPublisherHomepage contained 217syntax match redifFieldPublisherInstitution /^Publisher-Institution:/ skipwhite skipempty nextgroup=redifArgumentPublisherInstitution contained 218syntax match redifFieldPublisherLocation /^Publisher-Location:/ skipwhite skipempty nextgroup=redifArgumentPublisherLocation contained 219syntax match redifFieldPublisherName /^Publisher-Name:/ skipwhite skipempty nextgroup=redifArgumentPublisherName contained 220syntax match redifFieldPublisherNameEnglish /^Publisher-Name-English:/ skipwhite skipempty nextgroup=redifArgumentPublisherNameEnglish contained 221syntax match redifFieldPublisherPhone /^Publisher-Phone:/ skipwhite skipempty nextgroup=redifArgumentPublisherPhone contained 222syntax match redifFieldPublisherPostal /^Publisher-Postal:/ skipwhite skipempty nextgroup=redifArgumentPublisherPostal contained 223syntax match redifFieldQuaternaryEmail /^Quaternary-Email:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryEmail contained 224syntax match redifFieldQuaternaryFax /^Quaternary-Fax:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryFax contained 225syntax match redifFieldQuaternaryHomepage /^Quaternary-Homepage:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryHomepage contained 226syntax match redifFieldQuaternaryInstitution /^Quaternary-Institution:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryInstitution contained 227syntax match redifFieldQuaternaryLocation /^Quaternary-Location:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryLocation contained 228syntax match redifFieldQuaternaryName /^Quaternary-Name:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryName contained 229syntax match redifFieldQuaternaryNameEnglish /^Quaternary-Name-English:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryNameEnglish contained 230syntax match redifFieldQuaternaryPhone /^Quaternary-Phone:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryPhone contained 231syntax match redifFieldQuaternaryPostal /^Quaternary-Postal:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryPostal contained 232syntax match redifFieldRegisteredDate /^Registered-Date:/ skipwhite skipempty nextgroup=redifArgumentRegisteredDate contained 233syntax match redifFieldRequires /^Requires:/ skipwhite skipempty nextgroup=redifArgumentRequires contained 234syntax match redifFieldRestriction /^Restriction:/ skipwhite skipempty nextgroup=redifArgumentRestriction contained 235syntax match redifFieldRevisionDate /^Revision-Date:/ skipwhite skipempty nextgroup=redifArgumentRevisionDate contained 236syntax match redifFieldSecondaryDefunct /^Secondary-Defunct:/ skipwhite skipempty nextgroup=redifArgumentSecondaryDefunct contained 237syntax match redifFieldSecondaryEmail /^Secondary-Email:/ skipwhite skipempty nextgroup=redifArgumentSecondaryEmail contained 238syntax match redifFieldSecondaryFax /^Secondary-Fax:/ skipwhite skipempty nextgroup=redifArgumentSecondaryFax contained 239syntax match redifFieldSecondaryHomepage /^Secondary-Homepage:/ skipwhite skipempty nextgroup=redifArgumentSecondaryHomepage contained 240syntax match redifFieldSecondaryInstitution /^Secondary-Institution:/ skipwhite skipempty nextgroup=redifArgumentSecondaryInstitution contained 241syntax match redifFieldSecondaryLocation /^Secondary-Location:/ skipwhite skipempty nextgroup=redifArgumentSecondaryLocation contained 242syntax match redifFieldSecondaryName /^Secondary-Name:/ skipwhite skipempty nextgroup=redifArgumentSecondaryName contained 243syntax match redifFieldSecondaryNameEnglish /^Secondary-Name-English:/ skipwhite skipempty nextgroup=redifArgumentSecondaryNameEnglish contained 244syntax match redifFieldSecondaryPhone /^Secondary-Phone:/ skipwhite skipempty nextgroup=redifArgumentSecondaryPhone contained 245syntax match redifFieldSecondaryPostal /^Secondary-Postal:/ skipwhite skipempty nextgroup=redifArgumentSecondaryPostal contained 246syntax match redifFieldSeries /^Series:/ skipwhite skipempty nextgroup=redifArgumentSeries contained 247syntax match redifFieldShortId /^Short-Id:/ skipwhite skipempty nextgroup=redifArgumentShortId contained 248syntax match redifFieldSize /^Size:/ skipwhite skipempty nextgroup=redifArgumentSize contained 249syntax match redifFieldSoftwareHandle /^Software-Handle:/ skipwhite skipempty nextgroup=redifArgumentSoftwareHandle contained 250syntax match redifFieldTemplateType /^Template-Type:/ skipwhite skipempty nextgroup=redifArgumentTemplateType contained 251syntax match redifFieldTertiaryDefunct /^Tertiary-Defunct:/ skipwhite skipempty nextgroup=redifArgumentTertiaryDefunct contained 252syntax match redifFieldTertiaryEmail /^Tertiary-Email:/ skipwhite skipempty nextgroup=redifArgumentTertiaryEmail contained 253syntax match redifFieldTertiaryFax /^Tertiary-Fax:/ skipwhite skipempty nextgroup=redifArgumentTertiaryFax contained 254syntax match redifFieldTertiaryHomepage /^Tertiary-Homepage:/ skipwhite skipempty nextgroup=redifArgumentTertiaryHomepage contained 255syntax match redifFieldTertiaryInstitution /^Tertiary-Institution:/ skipwhite skipempty nextgroup=redifArgumentTertiaryInstitution contained 256syntax match redifFieldTertiaryLocation /^Tertiary-Location:/ skipwhite skipempty nextgroup=redifArgumentTertiaryLocation contained 257syntax match redifFieldTertiaryName /^Tertiary-Name:/ skipwhite skipempty nextgroup=redifArgumentTertiaryName contained 258syntax match redifFieldTertiaryNameEnglish /^Tertiary-Name-English:/ skipwhite skipempty nextgroup=redifArgumentTertiaryNameEnglish contained 259syntax match redifFieldTertiaryPhone /^Tertiary-Phone:/ skipwhite skipempty nextgroup=redifArgumentTertiaryPhone contained 260syntax match redifFieldTertiaryPostal /^Tertiary-Postal:/ skipwhite skipempty nextgroup=redifArgumentTertiaryPostal contained 261syntax match redifFieldTitle /^Title:/ skipwhite skipempty nextgroup=redifArgumentTitle contained 262syntax match redifFieldType /^Type:/ skipwhite skipempty nextgroup=redifArgumentType contained 263syntax match redifFieldURL /^URL:/ skipwhite skipempty nextgroup=redifArgumentURL contained 264syntax match redifFieldVersion /^Version:/ skipwhite skipempty nextgroup=redifArgumentVersion contained 265syntax match redifFieldVolume /^Volume:/ skipwhite skipempty nextgroup=redifArgumentVolume contained 266syntax match redifFieldWorkplaceEmail /^Workplace-Email:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceEmail contained 267syntax match redifFieldWorkplaceFax /^Workplace-Fax:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceFax contained 268syntax match redifFieldWorkplaceHomepage /^Workplace-Homepage:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceHomepage contained 269syntax match redifFieldWorkplaceInstitution /^Workplace-Institution:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceInstitution contained 270syntax match redifFieldWorkplaceLocation /^Workplace-Location:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceLocation contained 271syntax match redifFieldWorkplaceName /^Workplace-Name:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceName contained 272syntax match redifFieldWorkplaceNameEnglish /^Workplace-Name-English:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceNameEnglish contained 273syntax match redifFieldWorkplaceOrganization /^Workplace-Organization:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceOrganization contained 274syntax match redifFieldWorkplacePhone /^Workplace-Phone:/ skipwhite skipempty nextgroup=redifArgumentWorkplacePhone contained 275syntax match redifFieldWorkplacePostal /^Workplace-Postal:/ skipwhite skipempty nextgroup=redifArgumentWorkplacePostal contained 276syntax match redifFieldYear /^Year:/ skipwhite skipempty nextgroup=redifArgumentYear contained 277 278highlight def link redifFieldAbstract redifField 279highlight def link redifFieldArticleHandle redifField 280highlight def link redifFieldAuthorArticle redifField 281highlight def link redifFieldAuthorBook redifField 282highlight def link redifFieldAuthorChapter redifField 283highlight def link redifFieldAuthorEmail redifField 284highlight def link redifFieldAuthorFax redifField 285highlight def link redifFieldAuthorHomepage redifField 286highlight def link redifFieldAuthorName redifField 287highlight def link redifFieldAuthorNameFirst redifField 288highlight def link redifFieldAuthorNameLast redifField 289highlight def link redifFieldAuthorPaper redifField 290highlight def link redifFieldAuthorPerson redifField 291highlight def link redifFieldAuthorPhone redifField 292highlight def link redifFieldAuthorPostal redifField 293highlight def link redifFieldAuthorSoftware redifField 294highlight def link redifFieldAuthorWorkplaceEmail redifField 295highlight def link redifFieldAuthorWorkplaceFax redifField 296highlight def link redifFieldAuthorWorkplaceHomepage redifField 297highlight def link redifFieldAuthorWorkplaceInstitution redifField 298highlight def link redifFieldAuthorWorkplaceLocation redifField 299highlight def link redifFieldAuthorWorkplaceName redifField 300highlight def link redifFieldAuthorWorkplaceNameEnglish redifField 301highlight def link redifFieldAuthorWorkplacePhone redifField 302highlight def link redifFieldAuthorWorkplacePostal redifField 303highlight def link redifFieldAvailability redifField 304highlight def link redifFieldBookHandle redifField 305highlight def link redifFieldBookTitle redifField 306highlight def link redifFieldChapterHandle redifField 307highlight def link redifFieldChapter redifField 308highlight def link redifFieldClassificationJEL redifField 309highlight def link redifFieldContactEmail redifField 310highlight def link redifFieldCreationDate redifField 311highlight def link redifFieldDescription redifField 312highlight def link redifFieldEdition redifField 313highlight def link redifFieldEditorBook redifField 314highlight def link redifFieldEditorEmail redifField 315highlight def link redifFieldEditorFax redifField 316highlight def link redifFieldEditorHomepage redifField 317highlight def link redifFieldEditorName redifField 318highlight def link redifFieldEditorNameFirst redifField 319highlight def link redifFieldEditorNameLast redifField 320highlight def link redifFieldEditorPerson redifField 321highlight def link redifFieldEditorPhone redifField 322highlight def link redifFieldEditorPostal redifField 323highlight def link redifFieldEditorSeries redifField 324highlight def link redifFieldEditorWorkplaceEmail redifField 325highlight def link redifFieldEditorWorkplaceFax redifField 326highlight def link redifFieldEditorWorkplaceHomepage redifField 327highlight def link redifFieldEditorWorkplaceInstitution redifField 328highlight def link redifFieldEditorWorkplaceLocation redifField 329highlight def link redifFieldEditorWorkplaceName redifField 330highlight def link redifFieldEditorWorkplaceNameEnglish redifField 331highlight def link redifFieldEditorWorkplacePhone redifField 332highlight def link redifFieldEditorWorkplacePostal redifField 333highlight def link redifFieldEmail redifField 334highlight def link redifFieldFax redifField 335highlight def link redifFieldFileFormat redifField 336highlight def link redifFieldFileFunction redifField 337highlight def link redifFieldFileRestriction redifField 338highlight def link redifFieldFileSize redifField 339highlight def link redifFieldFileURL redifField 340highlight def link redifFieldFollowup redifField 341highlight def link redifFieldHandleOfArchive redifField 342highlight def link redifFieldHandleOfInstitution redifField 343highlight def link redifFieldHandleOfPerson redifField 344highlight def link redifFieldHandleOfSeries redifField 345highlight def link redifFieldHandleOfWork redifField 346highlight def link redifFieldHasChapter redifField 347highlight def link redifFieldHomepage redifField 348highlight def link redifFieldInBook redifField 349highlight def link redifFieldISBN redifField 350highlight def link redifFieldISSN redifField 351highlight def link redifFieldIssue redifField 352highlight def link redifFieldJournal redifField 353highlight def link redifFieldKeywords redifField 354highlight def link redifFieldKeywords redifField 355highlight def link redifFieldLanguage redifField 356highlight def link redifFieldLastLoginDate redifField 357highlight def link redifFieldLength redifField 358highlight def link redifFieldMaintainerEmail redifField 359highlight def link redifFieldMaintainerFax redifField 360highlight def link redifFieldMaintainerName redifField 361highlight def link redifFieldMaintainerPhone redifField 362highlight def link redifFieldMonth redifField 363highlight def link redifFieldNameASCII redifField 364highlight def link redifFieldNameFirst redifField 365highlight def link redifFieldNameFull redifField 366highlight def link redifFieldNameLast redifField 367highlight def link redifFieldNameMiddle redifField 368highlight def link redifFieldNamePrefix redifField 369highlight def link redifFieldNameSuffix redifField 370highlight def link redifFieldName redifField 371highlight def link redifFieldNote redifField 372highlight def link redifFieldNotification redifField 373highlight def link redifFieldNumber redifField 374highlight def link redifFieldOrderEmail redifField 375highlight def link redifFieldOrderHomepage redifField 376highlight def link redifFieldOrderPostal redifField 377highlight def link redifFieldOrderURL redifField 378highlight def link redifFieldPages redifField 379highlight def link redifFieldPaperHandle redifField 380highlight def link redifFieldPhone redifField 381highlight def link redifFieldPostal redifField 382highlight def link redifFieldPredecessor redifField 383highlight def link redifFieldPrice redifField 384highlight def link redifFieldPrimaryDefunct redifField 385highlight def link redifFieldPrimaryEmail redifField 386highlight def link redifFieldPrimaryFax redifField 387highlight def link redifFieldPrimaryHomepage redifField 388highlight def link redifFieldPrimaryInstitution redifField 389highlight def link redifFieldPrimaryLocation redifField 390highlight def link redifFieldPrimaryName redifField 391highlight def link redifFieldPrimaryNameEnglish redifField 392highlight def link redifFieldPrimaryPhone redifField 393highlight def link redifFieldPrimaryPostal redifField 394highlight def link redifFieldProgrammingLanguage redifField 395highlight def link redifFieldProviderEmail redifField 396highlight def link redifFieldProviderFax redifField 397highlight def link redifFieldProviderHomepage redifField 398highlight def link redifFieldProviderInstitution redifField 399highlight def link redifFieldProviderLocation redifField 400highlight def link redifFieldProviderName redifField 401highlight def link redifFieldProviderNameEnglish redifField 402highlight def link redifFieldProviderPhone redifField 403highlight def link redifFieldProviderPostal redifField 404highlight def link redifFieldPublicationDate redifField 405highlight def link redifFieldPublicationStatus redifField 406highlight def link redifFieldPublicationType redifField 407highlight def link redifFieldPublisherEmail redifField 408highlight def link redifFieldPublisherFax redifField 409highlight def link redifFieldPublisherHomepage redifField 410highlight def link redifFieldPublisherInstitution redifField 411highlight def link redifFieldPublisherLocation redifField 412highlight def link redifFieldPublisherName redifField 413highlight def link redifFieldPublisherNameEnglish redifField 414highlight def link redifFieldPublisherPhone redifField 415highlight def link redifFieldPublisherPostal redifField 416highlight def link redifFieldQuaternaryEmail redifField 417highlight def link redifFieldQuaternaryFax redifField 418highlight def link redifFieldQuaternaryHomepage redifField 419highlight def link redifFieldQuaternaryInstitution redifField 420highlight def link redifFieldQuaternaryLocation redifField 421highlight def link redifFieldQuaternaryName redifField 422highlight def link redifFieldQuaternaryNameEnglish redifField 423highlight def link redifFieldQuaternaryPhone redifField 424highlight def link redifFieldQuaternaryPostal redifField 425highlight def link redifFieldRegisteredDate redifField 426highlight def link redifFieldRequires redifField 427highlight def link redifFieldRestriction redifField 428highlight def link redifFieldRevisionDate redifField 429highlight def link redifFieldSecondaryDefunct redifField 430highlight def link redifFieldSecondaryEmail redifField 431highlight def link redifFieldSecondaryFax redifField 432highlight def link redifFieldSecondaryHomepage redifField 433highlight def link redifFieldSecondaryInstitution redifField 434highlight def link redifFieldSecondaryLocation redifField 435highlight def link redifFieldSecondaryName redifField 436highlight def link redifFieldSecondaryNameEnglish redifField 437highlight def link redifFieldSecondaryPhone redifField 438highlight def link redifFieldSecondaryPostal redifField 439highlight def link redifFieldSeries redifField 440highlight def link redifFieldShortId redifField 441highlight def link redifFieldSize redifField 442highlight def link redifFieldSoftwareHandle redifField 443highlight def link redifFieldTemplateType redifField 444highlight def link redifFieldTertiaryDefunct redifField 445highlight def link redifFieldTertiaryEmail redifField 446highlight def link redifFieldTertiaryFax redifField 447highlight def link redifFieldTertiaryHomepage redifField 448highlight def link redifFieldTertiaryInstitution redifField 449highlight def link redifFieldTertiaryLocation redifField 450highlight def link redifFieldTertiaryName redifField 451highlight def link redifFieldTertiaryNameEnglish redifField 452highlight def link redifFieldTertiaryPhone redifField 453highlight def link redifFieldTertiaryPostal redifField 454highlight def link redifFieldTitle redifField 455highlight def link redifFieldTitle redifField 456highlight def link redifFieldType redifField 457highlight def link redifFieldURL redifField 458highlight def link redifFieldVersion redifField 459highlight def link redifFieldVolume redifField 460highlight def link redifFieldWorkplaceEmail redifField 461highlight def link redifFieldWorkplaceFax redifField 462highlight def link redifFieldWorkplaceHomepage redifField 463highlight def link redifFieldWorkplaceInstitution redifField 464highlight def link redifFieldWorkplaceLocation redifField 465highlight def link redifFieldWorkplaceName redifField 466highlight def link redifFieldWorkplaceNameEnglish redifField 467highlight def link redifFieldWorkplaceOrganization redifField 468highlight def link redifFieldWorkplacePhone redifField 469highlight def link redifFieldWorkplacePostal redifField 470highlight def link redifFieldYear redifField 471 472" Standard arguments 473" Contains all the remaining line if it is not a new field 474" /\%(^\S\{-}:\)\@!\S.*/ 475" Note: Those arguments are not highlighted so far. They are here for 476" future extensions. 477" Note: Those matches do not extend further the end of the line. They are 478" unfit for arguments that may span several lines like Title, Abstract, 479" Postal. They are well-fit for arguments that must not span more than one 480" line by definition, such as URLs, Email addresses, etc. 481" TODO Find more RegEx for these arguments 482" TODO Fax, Phone 483" TODO URL, Homepage 484" TODO Keywords 485" TODO Classification-JEL 486" TODO Short-Id, Author-Person, Editor-Person 487"syntax match redifArgumentAuthorFax /\%(^\S\{-}:\)\@!\S.*/ contained display 488"syntax match redifArgumentAuthorHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display 489"syntax match redifArgumentAuthorName /\%(^\S\{-}:\)\@!\S.*/ contained display 490"syntax match redifArgumentAuthorNameFirst /\%(^\S\{-}:\)\@!\S.*/ contained display 491"syntax match redifArgumentAuthorNameLast /\%(^\S\{-}:\)\@!\S.*/ contained display 492"syntax match redifArgumentAuthorPerson /\%(^\S\{-}:\)\@!\S.*/ contained display 493"syntax match redifArgumentAuthorPhone /\%(^\S\{-}:\)\@!\S.*/ contained display 494"syntax match redifArgumentAuthorPostal /\%(^\S\{-}:\)\@!\S.*/ contained display 495"syntax match redifArgumentAuthorWorkplaceFax /\%(^\S\{-}:\)\@!\S.*/ contained display 496"syntax match redifArgumentAuthorWorkplaceHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display 497"syntax match redifArgumentAuthorWorkplaceLocation /\%(^\S\{-}:\)\@!\S.*/ contained display 498"syntax match redifArgumentAuthorWorkplaceName /\%(^\S\{-}:\)\@!\S.*/ contained display 499"syntax match redifArgumentAuthorWorkplaceNameEnglish /\%(^\S\{-}:\)\@!\S.*/ contained display 500"syntax match redifArgumentAuthorWorkplacePhone /\%(^\S\{-}:\)\@!\S.*/ contained display 501"syntax match redifArgumentAuthorWorkplacePostal /\%(^\S\{-}:\)\@!\S.*/ contained display 502"syntax match redifArgumentEditorFax /\%(^\S\{-}:\)\@!\S.*/ contained display 503"syntax match redifArgumentEditorHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display 504"syntax match redifArgumentEditorName /\%(^\S\{-}:\)\@!\S.*/ contained display 505"syntax match redifArgumentEditorNameFirst /\%(^\S\{-}:\)\@!\S.*/ contained display 506"syntax match redifArgumentEditorNameLast /\%(^\S\{-}:\)\@!\S.*/ contained display 507"syntax match redifArgumentEditorPerson /\%(^\S\{-}:\)\@!\S.*/ contained display 508"syntax match redifArgumentEditorPhone /\%(^\S\{-}:\)\@!\S.*/ contained display 509"syntax match redifArgumentEditorPostal /\%(^\S\{-}:\)\@!\S.*/ contained display 510"syntax match redifArgumentEditorWorkplaceFax /\%(^\S\{-}:\)\@!\S.*/ contained display 511"syntax match redifArgumentEditorWorkplaceHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display 512"syntax match redifArgumentEditorWorkplaceLocation /\%(^\S\{-}:\)\@!\S.*/ contained display 513"syntax match redifArgumentEditorWorkplaceName /\%(^\S\{-}:\)\@!\S.*/ contained display 514"syntax match redifArgumentEditorWorkplaceNameEnglish /\%(^\S\{-}:\)\@!\S.*/ contained display 515"syntax match redifArgumentEditorWorkplacePhone /\%(^\S\{-}:\)\@!\S.*/ contained display 516"syntax match redifArgumentEditorWorkplacePostal /\%(^\S\{-}:\)\@!\S.*/ contained display 517"syntax match redifArgumentFax /\%(^\S\{-}:\)\@!\S.*/ contained display 518"syntax match redifArgumentFileFunction /\%(^\S\{-}:\)\@!\S.*/ contained display 519"syntax match redifArgumentFileURL /\%(^\S\{-}:\)\@!\S.*/ contained display 520"syntax match redifArgumentHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display 521"syntax match redifArgumentIssue /\%(^\S\{-}:\)\@!\S.*/ contained display 522"syntax match redifArgumentJournal /\%(^\S\{-}:\)\@!\S.*/ contained display 523"syntax match redifArgumentMaintainerFax /\%(^\S\{-}:\)\@!\S.*/ contained display 524"syntax match redifArgumentMaintainerName /\%(^\S\{-}:\)\@!\S.*/ contained display 525"syntax match redifArgumentMaintainerPhone /\%(^\S\{-}:\)\@!\S.*/ contained display 526"syntax match redifArgumentNameFirst /\%(^\S\{-}:\)\@!\S.*/ contained display 527"syntax match redifArgumentNameFull /\%(^\S\{-}:\)\@!\S.*/ contained display 528"syntax match redifArgumentNameLast /\%(^\S\{-}:\)\@!\S.*/ contained display 529"syntax match redifArgumentNameMiddle /\%(^\S\{-}:\)\@!\S.*/ contained display 530"syntax match redifArgumentNamePrefix /\%(^\S\{-}:\)\@!\S.*/ contained display 531"syntax match redifArgumentNameSuffix /\%(^\S\{-}:\)\@!\S.*/ contained display 532"syntax match redifArgumentName /\%(^\S\{-}:\)\@!\S.*/ contained display 533"syntax match redifArgumentOrderHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display 534"syntax match redifArgumentOrderPostal /\%(^\S\{-}:\)\@!\S.*/ contained display 535"syntax match redifArgumentOrderURL /\%(^\S\{-}:\)\@!\S.*/ contained display 536"syntax match redifArgumentPhone /\%(^\S\{-}:\)\@!\S.*/ contained display 537"syntax match redifArgumentPostal /\%(^\S\{-}:\)\@!\S.*/ contained display 538"syntax match redifArgumentPrice /\%(^\S\{-}:\)\@!\S.*/ contained display 539"syntax match redifArgumentPrimaryFax /\%(^\S\{-}:\)\@!\S.*/ contained display 540"syntax match redifArgumentPrimaryHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display 541"syntax match redifArgumentPrimaryLocation /\%(^\S\{-}:\)\@!\S.*/ contained display 542"syntax match redifArgumentPrimaryName /\%(^\S\{-}:\)\@!\S.*/ contained display 543"syntax match redifArgumentPrimaryNameEnglish /\%(^\S\{-}:\)\@!\S.*/ contained display 544"syntax match redifArgumentPrimaryPhone /\%(^\S\{-}:\)\@!\S.*/ contained display 545"syntax match redifArgumentPrimaryPostal /\%(^\S\{-}:\)\@!\S.*/ contained display 546"syntax match redifArgumentProviderFax /\%(^\S\{-}:\)\@!\S.*/ contained display 547"syntax match redifArgumentProviderHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display 548"syntax match redifArgumentProviderLocation /\%(^\S\{-}:\)\@!\S.*/ contained display 549"syntax match redifArgumentProviderName /\%(^\S\{-}:\)\@!\S.*/ contained display 550"syntax match redifArgumentProviderNameEnglish /\%(^\S\{-}:\)\@!\S.*/ contained display 551"syntax match redifArgumentProviderPhone /\%(^\S\{-}:\)\@!\S.*/ contained display 552"syntax match redifArgumentProviderPostal /\%(^\S\{-}:\)\@!\S.*/ contained display 553"syntax match redifArgumentPublisherFax /\%(^\S\{-}:\)\@!\S.*/ contained display 554"syntax match redifArgumentPublisherHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display 555"syntax match redifArgumentPublisherLocation /\%(^\S\{-}:\)\@!\S.*/ contained display 556"syntax match redifArgumentPublisherName /\%(^\S\{-}:\)\@!\S.*/ contained display 557"syntax match redifArgumentPublisherNameEnglish /\%(^\S\{-}:\)\@!\S.*/ contained display 558"syntax match redifArgumentPublisherPhone /\%(^\S\{-}:\)\@!\S.*/ contained display 559"syntax match redifArgumentPublisherPostal /\%(^\S\{-}:\)\@!\S.*/ contained display 560"syntax match redifArgumentQuaternaryFax /\%(^\S\{-}:\)\@!\S.*/ contained display 561"syntax match redifArgumentQuaternaryHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display 562"syntax match redifArgumentQuaternaryLocation /\%(^\S\{-}:\)\@!\S.*/ contained display 563"syntax match redifArgumentQuaternaryName /\%(^\S\{-}:\)\@!\S.*/ contained display 564"syntax match redifArgumentQuaternaryNameEnglish /\%(^\S\{-}:\)\@!\S.*/ contained display 565"syntax match redifArgumentQuaternaryPhone /\%(^\S\{-}:\)\@!\S.*/ contained display 566"syntax match redifArgumentQuaternaryPostal /\%(^\S\{-}:\)\@!\S.*/ contained display 567"syntax match redifArgumentRequires /\%(^\S\{-}:\)\@!\S.*/ contained display 568"syntax match redifArgumentSecondaryFax /\%(^\S\{-}:\)\@!\S.*/ contained display 569"syntax match redifArgumentSecondaryHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display 570"syntax match redifArgumentSecondaryLocation /\%(^\S\{-}:\)\@!\S.*/ contained display 571"syntax match redifArgumentSecondaryName /\%(^\S\{-}:\)\@!\S.*/ contained display 572"syntax match redifArgumentSecondaryNameEnglish /\%(^\S\{-}:\)\@!\S.*/ contained display 573"syntax match redifArgumentSecondaryPhone /\%(^\S\{-}:\)\@!\S.*/ contained display 574"syntax match redifArgumentSecondaryPostal /\%(^\S\{-}:\)\@!\S.*/ contained display 575"syntax match redifArgumentSeries /\%(^\S\{-}:\)\@!\S.*/ contained display 576"syntax match redifArgumentSize /\%(^\S\{-}:\)\@!\S.*/ contained display 577"syntax match redifArgumentShortId /\%(^\S\{-}:\)\@!\S.*/ contained display 578"syntax match redifArgumentTertiaryFax /\%(^\S\{-}:\)\@!\S.*/ contained display 579"syntax match redifArgumentTertiaryHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display 580"syntax match redifArgumentTertiaryLocation /\%(^\S\{-}:\)\@!\S.*/ contained display 581"syntax match redifArgumentTertiaryName /\%(^\S\{-}:\)\@!\S.*/ contained display 582"syntax match redifArgumentTertiaryNameEnglish /\%(^\S\{-}:\)\@!\S.*/ contained display 583"syntax match redifArgumentTertiaryPhone /\%(^\S\{-}:\)\@!\S.*/ contained display 584"syntax match redifArgumentTertiaryPostal /\%(^\S\{-}:\)\@!\S.*/ contained display 585"syntax match redifArgumentURL /\%(^\S\{-}:\)\@!\S.*/ contained display 586"syntax match redifArgumentVersion /\%(^\S\{-}:\)\@!\S.*/ contained display 587"syntax match redifArgumentWorkplaceFax /\%(^\S\{-}:\)\@!\S.*/ contained display 588"syntax match redifArgumentWorkplaceHomepage /\%(^\S\{-}:\)\@!\S.*/ contained display 589"syntax match redifArgumentWorkplaceLocation /\%(^\S\{-}:\)\@!\S.*/ contained display 590"syntax match redifArgumentWorkplaceName /\%(^\S\{-}:\)\@!\S.*/ contained display 591"syntax match redifArgumentWorkplaceNameEnglish /\%(^\S\{-}:\)\@!\S.*/ contained display 592"syntax match redifArgumentWorkplaceOrganization /\%(^\S\{-}:\)\@!\S.*/ contained display 593"syntax match redifArgumentWorkplacePhone /\%(^\S\{-}:\)\@!\S.*/ contained display 594"syntax match redifArgumentWorkplacePostal /\%(^\S\{-}:\)\@!\S.*/ contained display 595 596" Special arguments 597" Those arguments require special values 598" TODO Improve some RegEx 599" TODO Improve Emails 600" TODO Improve ISBN 601" TODO Improve ISSN 602" TODO Improve spell check (add words from economics. 603" expl=macroeconometrics, Schumpeterian, IS-LM, etc.) 604" 605" Template-Type 606syntax match redifArgumentTemplateType /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectTemplateType contained display 607syntax match redifCorrectTemplateType /ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\)/ nextgroup=redifTemplateVersionNumber contained display 608syntax match redifTemplateVersionNumber / \d\+\.\d\+/ contained display 609 610highlight def link redifArgumentTemplateType redifError 611highlight def link redifCorrectTemplateType Constant 612highlight def link redifTemplateVersionNumber Number 613 614" Handles: 615" 616" Handles of Works: 617syntax match redifArgumentHandleOfWork /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 618syntax match redifArgumentAuthorArticle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 619syntax match redifArgumentAuthorBook /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 620syntax match redifArgumentAuthorChapter /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 621syntax match redifArgumentAuthorPaper /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 622syntax match redifArgumentAuthorSoftware /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 623syntax match redifArgumentEditorBook /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 624syntax match redifArgumentEditorSeries /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 625syntax match redifArgumentInBook /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 626syntax match redifArgumentHasChapter /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 627syntax match redifArgumentArticleHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 628syntax match redifArgumentBookHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 629syntax match redifArgumentChapterHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 630syntax match redifArgumentPaperHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 631syntax match redifArgumentSoftwareHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display 632syntax match redifCorrectHandleOfWork /RePEc:\a\a\a:\%(_\@!\w\)\{6}:\S\+/ contains=redifForbiddenCharactersInHandle,redifBestPracticeInHandle contained display 633" TODO Are those characters really forbidden??? 634syntax match redifForbiddenCharactersInHandle /[\/*?"<>|]/ contained display 635syntax match redifBestPracticeInHandle /\<\%([vi]:[1-9]\d*\|y:[1-9]\d\{3}\|p:[1-9]\d*-[1-9]\d*\|i:\%(jan\|feb\|mar\|apr\|may\|jun\|jul\|aug\|sep\|oct\|nov\|dec\|spr\|sum\|aut\|win\|spe\|Q[1-4]\|\d\d-\d\d\)\|Q:[1-4]\)\>/ contained display 636 637highlight def link redifArgumentHandleOfWork redifError 638highlight def link redifArgumentAuthorArticle redifError 639highlight def link redifArgumentAuthorBook redifError 640highlight def link redifArgumentAuthorChapter redifError 641highlight def link redifArgumentAuthorPaper redifError 642highlight def link redifArgumentAuthorSoftware redifError 643highlight def link redifArgumentEditorBook redifError 644highlight def link redifArgumentEditorSeries redifError 645highlight def link redifArgumentInBook redifError 646highlight def link redifArgumentHasChapter redifError 647highlight def link redifArgumentArticleHandle redifError 648highlight def link redifArgumentBookHandle redifError 649highlight def link redifArgumentChapterHandle redifError 650highlight def link redifArgumentPaperHandle redifError 651highlight def link redifArgumentSoftwareHandle redifError 652highlight def link redifForbiddenCharactersInHandle redifError 653highlight def link redifBestPracticeInHandle redifSpecial 654 655" Handles of Series: 656syntax match redifArgumentHandleOfSeries /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfSeries contained display 657syntax match redifArgumentFollowup /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfSeries contained display 658syntax match redifArgumentPredecessor /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfSeries contained display 659syntax match redifCorrectHandleOfSeries /RePEc:\a\a\a:\%(_\@!\w\)\{6}/ contained display 660 661highlight def link redifArgumentHandleOfSeries redifError 662highlight def link redifArgumentFollowup redifError 663highlight def link redifArgumentPredecessor redifError 664 665" Handles of Archives: 666syntax match redifArgumentHandleOfArchive /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfArchive contained display 667syntax match redifCorrectHandleOfArchive /RePEc:\a\a\a/ contained display 668 669highlight def link redifArgumentHandleOfArchive redifError 670 671" Handles of Person: 672syntax match redifArgumentHandleOfPerson /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfPerson contained display 673syntax match redifCorrectHandleOfPerson /\%(\%(:\@!\S\)\{-}:\)\{2}[1-9]\d\{3}\%(-02\%(-[12]\d\|-0[1-9]\)\|-\%(0[469]\|11\)\%(-30\|-[12]\d\|-0[1-9]\)\|-\%(0[13578]\|1[02]\)\%(-3[01]\|-[12]\d\|-0[1-9]\)\):\S\+/ contained display 674 675highlight def link redifArgumentHandleOfPerson redifError 676 677" Handles of Institution: 678syntax match redifArgumentAuthorWorkplaceInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 679syntax match redifArgumentEditorWorkplaceInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 680syntax match redifArgumentPrimaryInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 681syntax match redifArgumentProviderInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 682syntax match redifArgumentPublisherInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 683syntax match redifArgumentQuaternaryInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 684syntax match redifArgumentSecondaryInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 685syntax match redifArgumentTertiaryInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 686syntax match redifArgumentWorkplaceInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 687syntax match redifArgumentHandleOfInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 688syntax match redifArgumentPrimaryDefunct /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 689syntax match redifArgumentSecondaryDefunct /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 690syntax match redifArgumentTertiaryDefunct /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display 691" TODO Are digits authorized? Apparently not. 692" Country codes: 693" http://www.iso.org/iso/country_codes/iso_3166_code_lists/country_names_and_code_elements.htm 694syntax match redifCorrectHandleOfInstitution /RePEc:\a\a\a:\a\{5}\(ea\|af\|ax\|al\|dz\|as\|ad\|ao\|ai\|aq\|ag\|ar\|am\|aw\|au\|at\|az\|bs\|bh\|bd\|bb\|by\|be\|bz\|bj\|bm\|bt\|bo\|bq\|ba\|bw\|bv\|br\|io\|bn\|bg\|bf\|bi\|kh\|cm\|ca\|cv\|ky\|cf\|td\|cl\|cn\|cx\|cc\|co\|km\|cg\|cd\|ck\|cr\|ci\|hr\|cu\|cw\|cy\|cz\|dk\|dj\|dm\|do\|ec\|eg\|sv\|gq\|er\|ee\|et\|fk\|fo\|fj\|fi\|fr\|gf\|pf\|tf\|ga\|gm\|ge\|de\|gh\|gi\|gr\|gl\|gd\|gp\|gu\|gt\|gg\|gn\|gw\|gy\|ht\|hm\|va\|hn\|hk\|hu\|is\|in\|id\|ir\|iq\|ie\|im\|il\|it\|jm\|jp\|je\|jo\|kz\|ke\|ki\|kp\|kr\|kw\|kg\|la\|lv\|lb\|ls\|lr\|ly\|li\|lt\|lu\|mo\|mk\|mg\|mw\|my\|mv\|ml\|mt\|mh\|mq\|mr\|mu\|yt\|mx\|fm\|md\|mc\|mn\|me\|ms\|ma\|mz\|mm\|na\|nr\|np\|nl\|nc\|nz\|ni\|ne\|ng\|nu\|nf\|mp\|no\|om\|pk\|pw\|ps\|pa\|pg\|py\|pe\|ph\|pn\|pl\|pt\|pr\|qa\|re\|ro\|ru\|rw\|bl\|sh\|kn\|lc\|mf\|pm\|vc\|ws\|sm\|st\|sa\|sn\|rs\|sc\|sl\|sg\|sx\|sk\|si\|sb\|so\|za\|gs\|ss\|es\|lk\|sd\|sr\|sj\|sz\|se\|ch\|sy\|tw\|tj\|tz\|th\|tl\|tg\|tk\|to\|tt\|tn\|tr\|tm\|tc\|tv\|ug\|ua\|ae\|gb\|us\|um\|uy\|uz\|vu\|ve\|vn\|vg\|vi\|wf\|eh\|ye\|zm\|zw\)/ contained display 695 696highlight def link redifArgumentHandleOfInstitution redifError 697highlight def link redifArgumentPrimaryDefunct redifError 698highlight def link redifArgumentSecondaryDefunct redifError 699highlight def link redifArgumentTertiaryDefunct redifError 700 701" Emails: 702syntax match redifArgumentAuthorEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 703syntax match redifArgumentAuthorWorkplaceEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 704syntax match redifArgumentContactEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 705syntax match redifArgumentEditorEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 706syntax match redifArgumentEditorWorkplaceEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 707syntax match redifArgumentEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 708syntax match redifArgumentMaintainerEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 709syntax match redifArgumentOrderEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 710syntax match redifArgumentPrimaryEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 711syntax match redifArgumentProviderEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 712syntax match redifArgumentPublisherEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 713syntax match redifArgumentQuaternaryEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 714syntax match redifArgumentSecondaryEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 715syntax match redifArgumentTertiaryEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 716syntax match redifArgumentWorkplaceEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display 717syntax match redifCorrectEmail /\%(@\@!\S\)\+@\%(@\@!\S\)\+/ contained display 718 719highlight def link redifArgumentAuthorEmail redifError 720highlight def link redifArgumentAuthorWorkplaceEmail redifError 721highlight def link redifArgumentContactEmail redifError 722highlight def link redifArgumentEditorEmail redifError 723highlight def link redifArgumentEditorWorkplaceEmail redifError 724highlight def link redifArgumentEmail redifError 725highlight def link redifArgumentMaintainerEmail redifError 726highlight def link redifArgumentOrderEmail redifError 727highlight def link redifArgumentPrimaryEmail redifError 728highlight def link redifArgumentProviderEmail redifError 729highlight def link redifArgumentPublisherEmail redifError 730highlight def link redifArgumentQuaternaryEmail redifError 731highlight def link redifArgumentSecondaryEmail redifError 732highlight def link redifArgumentTertiaryEmail redifError 733highlight def link redifArgumentWorkplaceEmail redifError 734 735" Language 736" Source: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes 737syntax match redifArgumentLanguage /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectLanguage contained display 738syntax match redifCorrectLanguage /\<\(aa\|ab\|af\|ak\|als\|am\|an\|ang\|ar\|arc\|as\|ast\|av\|ay\|az\|ba\|bar\|bat-smg\|bcl\|be\|be-x-old\|bg\|bh\|bi\|bm\|bn\|bo\|bpy\|br\|bs\|bug\|bxr\|ca\|ce\|ceb\|ch\|cho\|chr\|chy\|co\|cr\|cs\|csb\|cu\|cv\|cy\|da\|de\|diq\|dsb\|dv\|dz\|ee\|el\|en\|eo\|es\|et\|eu\|ext\|fa\|ff\|fi\|fiu-vro\|fj\|fo\|fr\|frp\|fur\|fy\|ga\|gd\|gil\|gl\|gn\|got\|gu\|gv\|ha\|haw\|he\|hi\|ho\|hr\|ht\|hu\|hy\|hz\|ia\|id\|ie\|ig\|ii\|ik\|ilo\|io\|is\|it\|iu\|ja\|jbo\|jv\|ka\|kg\|ki\|kj\|kk\|kl\|km\|kn\|khw\|ko\|kr\|ks\|ksh\|ku\|kv\|kw\|ky\|la\|lad\|lan\|lb\|lg\|li\|lij\|lmo\|ln\|lo\|lt\|lv\|map-bms\|mg\|mh\|mi\|mk\|ml\|mn\|mo\|mr\|ms\|mt\|mus\|my\|na\|nah\|nap\|nd\|nds\|nds-nl\|ne\|new\|ng\|nl\|nn\|no\|nr\|nso\|nrm\|nv\|ny\|oc\|oj\|om\|or\|os\|pa\|pag\|pam\|pap\|pdc\|pi\|pih\|pl\|pms\|ps\|pt\|qu\|rm\|rmy\|rn\|ro\|roa-rup\|ru\|rw\|sa\|sc\|scn\|sco\|sd\|se\|sg\|sh\|si\|simple\|sk\|sl\|sm\|sn\|so\|sq\|sr\|ss\|st\|su\|sv\|sw\|ta\|te\|tet\|tg\|th\|ti\|tk\|tl\|tlh\|tn\|to\|tpi\|tr\|ts\|tt\|tum\|tw\|ty\|udm\|ug\|uk\|ur\|uz\|ve\|vi\|vec\|vls\|vo\|wa\|war\|wo\|xal\|xh\|yi\|yo\|za\|zh\|zh-min-nan\|zh-yue\|zu\)\>/ contained display 739 740highlight def link redifArgumentLanguage redifError 741highlight def link redifCorrectLanguage redifSpecial 742 743" Length 744" Based on the example in the documentation. But apparently any field is 745" possible 746syntax match redifArgumentLength /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodLength contained display 747syntax match redifGoodLength /1 page\|[1-9]\d*\%( pages\)\=/ contained display 748 749highlight def link redifGoodLength redifSpecial 750 751" Publication-Type 752syntax match redifArgumentPublicationType /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectPublicationType contained display 753syntax match redifCorrectPublicationType /\<\(journal article\|book\|book chapter\|working paper\|conference paper\|report\|other\)\>/ contained display 754 755highlight def link redifArgumentPublicationType redifError 756highlight def link redifCorrectPublicationType redifSpecial 757 758" Publication-Status 759syntax match redifArgumentPublicationStatus /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectPublicationStatus contained display 760syntax match redifCorrectPublicationStatus /\<\%(published\|forthcoming\)\>.*/ contains=redifSpecialPublicationStatus contained display 761syntax match redifSpecialPublicationStatus /published\|forthcoming/ contained display 762 763highlight def link redifArgumentPublicationStatus redifError 764highlight def link redifSpecialPublicationStatus redifSpecial 765 766" Month 767" TODO Are numbers also allowed? 768syntax match redifArgumentMonth /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodMonth contained display 769syntax match redifGoodMonth /\<\(Jan\%(uary\)\=\|Feb\%(ruary\)\=\|Mar\%(ch\)\=\|Apr\%(il\)\=\|May\|June\=\|July\=\|Aug\%(ust\)\=\|Sep\%(tember\)\=\|Oct\%(ober\)\=\|Nov\%(ember\)\=\|Dec\%(ember\)\=\)\>/ contained display 770 771highlight def link redifGoodMonth redifSpecial 772 773" Integers: Number, Volume, Chapter 774syntax match redifArgumentNumber /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectInteger contained display 775syntax match redifArgumentVolume /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectInteger contained display 776syntax match redifArgumentChapter /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectInteger contained display 777syntax match redifCorrectInteger /[1-9]\d*/ contained display 778 779highlight def link redifArgumentVolume redifError 780highlight def link redifArgumentChapter redifError 781 782" Year 783syntax match redifArgumentYear /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectYear contained display 784syntax match redifCorrectYear /[1-9]\d\{3}/ contained display 785 786highlight def link redifArgumentYear redifError 787 788" Edition 789" Based on the example in the documentation. 790syntax match redifArgumentEdition /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodEdition contained display 791syntax match redifGoodEdition /1st\|2nd\|3rd\|[4-9]th\|[1-9]\d*\%(1st\|2nd\|3rd\|[4-9]th\)\|[1-9]\d*/ contained display 792 793highlight def link redifGoodEdition redifSpecial 794 795" ISBN 796syntax match redifArgumentISBN /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodISBN contained display 797syntax match redifGoodISBN /\d[0-9-]\{8,15}\d/ contained display 798 799highlight def link redifGoodISBN redifSpecial 800 801" ISSN 802syntax match redifArgumentISSN /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodISSN contained display 803syntax match redifGoodISSN /\d\{4}-\d\{3}[0-9X]/ contained display 804 805highlight def link redifGoodISSN redifSpecial 806 807" File-Size 808" Based on the example in the documentation. 809syntax match redifArgumentFileSize /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodSize contained display 810syntax match redifGoodSize /kb\|bytes/ contained display 811 812highlight def link redifGoodSize redifSpecial 813 814" Type 815syntax match redifArgumentType /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectType contained display 816syntax match redifCorrectType /ReDIF-Paper\|ReDIF-Software\|ReDIF-Article\|ReDIF-Chapter\|ReDIF-Book/ contained display 817 818highlight def link redifArgumentType redifError 819highlight def link redifCorrectType redifSpecial 820 821" Dates: Publication-Date, Creation-Date, Revision-Date, 822" Last-Login-Date, Registration-Date 823syntax match redifArgumentCreationDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display 824syntax match redifArgumentLastLoginDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display 825syntax match redifArgumentPublicationDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display 826syntax match redifArgumentRegisteredDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display 827syntax match redifArgumentRevisionDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display 828syntax match redifCorrectDate /[1-9]\d\{3}\%(-02\%(-[12]\d\|-0[1-9]\)\=\|-\%(0[469]\|11\)\%(-30\|-[12]\d\|-0[1-9]\)\=\|-\%(0[13578]\|1[02]\)\%(-3[01]\|-[12]\d\|-0[1-9]\)\=\)\=/ contained display 829 830highlight def link redifArgumentCreationDate redifError 831highlight def link redifArgumentLastLoginDate redifError 832highlight def link redifArgumentPublicationDate redifError 833highlight def link redifArgumentRegisteredDate redifError 834highlight def link redifArgumentRevisionDate redifError 835 836" Classification-JEL 837syntax match redifArgumentClassificationJEL /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectJEL contained display 838syntax match redifCorrectJEL /\<\u\d\{,2}\%([,; \t]\s*\)\=/ contains=redifSpecialJEL contained display 839syntax match redifSpecialJEL /\<\u\d\{,2}/ contained display 840 841highlight def link redifArgumentClassificationJEL redifError 842highlight def link redifSpecialJEL redifSpecial 843 844" Pages 845syntax match redifArgumentPages /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectPages contained display 846syntax match redifCorrectPages /[1-9]\d*-[1-9]\d*/ contained display 847 848highlight def link redifArgumentPages redifError 849 850" Name-ASCII 851syntax match redifArgumentNameASCII /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectNameASCII contained display 852syntax match redifCorrectNameASCII /[ -~]/ contained display 853 854highlight def link redifArgumentNameASCII redifError 855 856" Programming-Language 857syntax match redifArgumentProgrammingLanguage /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodProgrammingLanguage contained display 858syntax match redifGoodProgrammingLanguage /\<c++\|\<\%(c\|dos executable\|executable\|fortran\|gauss\|gretl\|java\|mathematica\|matlab\|octave\|ox\|perl\|python\|rats\|r\|shazam\|s-plus\|stata\|tsp international\)\>/ contained display 859 860highlight def link redifGoodProgrammingLanguage redifSpecial 861 862" File-Format 863" TODO The link in the documentation that gives the list of possible formats is broken. 864" ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/media-types 865" These are based on the examples in the documentation. 866syntax match redifArgumentFileFormat /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodFormat contained display 867syntax match redifGoodFormat /application\/pdf\|application\/postscript\|text\/html\|text\/plain/ contained display 868 869highlight def link redifGoodFormat redifSpecial 870 871" Spell-checked arguments 872" Very useful when copy-pasting abstracts that may contain hyphens or 873" ligatures. 874syntax region redifArgumentAbstract start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained 875syntax region redifArgumentAvailability start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained 876syntax region redifArgumentBookTitle start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained 877syntax region redifArgumentDescription start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained 878syntax region redifArgumentFileRestriction start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained 879syntax region redifArgumentKeywords start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained 880syntax region redifArgumentNote start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained 881syntax region redifArgumentNotification start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained 882syntax region redifArgumentRestriction start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained 883syntax region redifArgumentTitle start=/\%(^\S\{-}:\)\@!\S.*/ end=/^\S\{-}:/me=s-1 contains=@Spell contained 884 885" Final highlight 886highlight def link redifComment Comment 887highlight def link redifError Error 888highlight def link redifField Identifier 889highlight def link redifSpecial Special 890 891" Set "b:current_syntax" to the name of the syntax at the end: 892let b:current_syntax="redif" 893