xref: /vim-8.2.3635/runtime/syntax/redif.vim (revision 6aa57295)
1126bdeeaSBram Moolenaar" Vim syntax file
2126bdeeaSBram Moolenaar" Language:          ReDIF
3126bdeeaSBram Moolenaar" Maintainer:        Axel Castellane <[email protected]>
4*6aa57295SBram Moolenaar" Last Change:       2021 Jul 28
5126bdeeaSBram Moolenaar" Original Author:   Axel Castellane
6126bdeeaSBram Moolenaar" Source:            http://openlib.org/acmes/root/docu/redif_1.html
70187ca0bSBram Moolenaar" File Extension:    rdf
8126bdeeaSBram Moolenaar" Note:              The ReDIF format is used by RePEc.
9126bdeeaSBram Moolenaar
1089bcfda6SBram Moolenaar" quit when a syntax file was already loaded
1189bcfda6SBram Moolenaarif exists("b:current_syntax")
12126bdeeaSBram Moolenaar  finish
13126bdeeaSBram Moolenaarendif
14126bdeeaSBram Moolenaar
15126bdeeaSBram Moolenaar" ReDIF is case-insensitive
16126bdeeaSBram Moolenaarsyntax case ignore
17126bdeeaSBram Moolenaar
18126bdeeaSBram Moolenaar" Structure: Some fields determine what fields can come next. For example:
19126bdeeaSBram Moolenaar"       Template-Type
20126bdeeaSBram Moolenaar"       *-Name
21126bdeeaSBram Moolenaar"       File-URL
22126bdeeaSBram Moolenaar"       *-Institution
23126bdeeaSBram Moolenaar" Those fields span a syntax region over several lines so that these regions
24126bdeeaSBram Moolenaar" can only contain their respective items.
25126bdeeaSBram Moolenaar
260187ca0bSBram Moolenaar" Any line which is not a correct template or part of an argument is an error.
270187ca0bSBram Moolenaar" This comes at the very beginning, so it has the lowest priority and will
280187ca0bSBram Moolenaar" only match if nothing else did.
290187ca0bSBram Moolenaarsyntax match redifWrongLine /^.\+/ display
30126bdeeaSBram Moolenaar
310187ca0bSBram Moolenaarhighlight def link redifWrongLine redifError
32126bdeeaSBram Moolenaar
330187ca0bSBram Moolenaar" Comments must start with # and it must be the first character of the line,
340187ca0bSBram Moolenaar" otherwise I believe that they are considered as part of an argument.
350187ca0bSBram Moolenaarsyntax match redifComment /^#.*/ containedin=ALL display
36126bdeeaSBram Moolenaar
37126bdeeaSBram Moolenaar" Defines the 9 possible multi-lines regions of Template-Type and the fields
38126bdeeaSBram Moolenaar" they can contain.
390187ca0bSBram Moolenaarsyntax region redifRegionTemplatePaper start=/^Template-Type:\_s*ReDIF-Paper \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsPaper,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile fold
400187ca0bSBram Moolenaarsyntax region redifRegionTemplateArticle start=/^Template-Type:\_s*ReDIF-Article \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsArticle,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile fold
410187ca0bSBram Moolenaarsyntax region redifRegionTemplateChapter start=/^Template-Type:\_s*ReDIF-Chapter \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsChapter,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile,redifRegionClusterProvider,redifRegionClusterPublisher,redifRegionClusterEditor fold
420187ca0bSBram Moolenaarsyntax region redifRegionTemplateBook start=/^Template-Type:\_s*ReDIF-Book \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsBook,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile,redifRegionClusterProvider,redifRegionClusterPublisher,redifRegionClusterEditor fold
430187ca0bSBram Moolenaarsyntax region redifRegionTemplateSoftware start=/^Template-Type:\_s*ReDIF-Software \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsSoftware,redifWrongLine,redifRegionClusterAuthor,redifRegionClusterFile fold
440187ca0bSBram Moolenaarsyntax region redifRegionTemplateArchive start=/^Template-Type:\_s*ReDIF-Archive \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsArchive,redifWrongLine fold
450187ca0bSBram Moolenaarsyntax region redifRegionTemplateSeries start=/^Template-Type:\_s*ReDIF-Series \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsSeries,redifWrongLine,redifRegionClusterProvider,redifRegionClusterPublisher,redifRegionClusterEditor fold
460187ca0bSBram Moolenaarsyntax region redifRegionTemplateInstitution start=/^Template-Type:\_s*ReDIF-Institution \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsInstitution,redifWrongLine,redifRegionClusterPrimary,redifRegionClusterSecondary,redifRegionClusterTertiary,redifRegionClusterQuaternary fold
470187ca0bSBram Moolenaarsyntax region redifRegionTemplatePerson start=/^Template-Type:\_s*ReDIF-Person \d\+\.\d\+/ end=/^Template-Type:/me=s-1 contains=redifContainerFieldsPerson,redifWrongLine,redifRegionClusterWorkplace fold
48126bdeeaSBram Moolenaar
490187ca0bSBram Moolenaar" All fields are foldable (These come before clusters, so they have lower
500187ca0bSBram Moolenaar" priority). So they are contained in a foldable syntax region.
510187ca0bSBram Moolenaarsyntax region redifContainerFieldsPaper start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=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,redifWrongLine contained transparent fold
520187ca0bSBram Moolenaarsyntax region redifContainerFieldsArticle start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=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,redifWrongLine contained transparent fold
530187ca0bSBram Moolenaarsyntax region redifContainerFieldsChapter start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=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,redifWrongLine contained transparent fold
540187ca0bSBram Moolenaarsyntax region redifContainerFieldsBook start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=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,redifWrongLine contained transparent fold
550187ca0bSBram Moolenaarsyntax region redifContainerFieldsSoftware start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldHandleOfWork,redifFieldTitle,redifFieldProgrammingLanguage,redifFieldAbstract,redifFieldNumber,redifFieldVersion,redifFieldClassificationJEL,redifFieldKeywords,redifFieldSize,redifFieldSeries,redifFieldCreationDate,redifFieldRevisionDate,redifFieldNote,redifFieldRequires,redifFieldArticleHandle,redifFieldBookHandle,redifFieldChapterHandle,redifFieldPaperHandle,redifFieldSoftwareHandle,redifFieldTemplateType,redifWrongLine contained transparent fold
560187ca0bSBram Moolenaarsyntax region redifContainerFieldsArchive start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldHandleOfArchive,redifFieldURL,redifFieldMaintainerEmail,redifFieldName,redifFieldMaintainerName,redifFieldMaintainerPhone,redifFieldMaintainerFax,redifFieldClassificationJEL,redifFieldHomepage,redifFieldDescription,redifFieldNotification,redifFieldRestriction,redifFieldTemplateType,redifWrongLine contained transparent fold
570187ca0bSBram Moolenaarsyntax region redifContainerFieldsSeries start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldName,redifFieldHandleOfSeries,redifFieldMaintainerEmail,redifFieldType,redifFieldOrderEmail,redifFieldOrderHomepage,redifFieldOrderPostal,redifFieldPrice,redifFieldRestriction,redifFieldMaintainerPhone,redifFieldMaintainerFax,redifFieldMaintainerName,redifFieldDescription,redifFieldClassificationJEL,redifFieldKeywords,redifFieldNotification,redifFieldISSN,redifFieldFollowup,redifFieldPredecessor,redifFieldTemplateType,redifWrongLine contained transparent fold
580187ca0bSBram Moolenaarsyntax region redifContainerFieldsInstitution start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldHandleOfInstitution,redifFieldPrimaryDefunct,redifFieldSecondaryDefunct,redifFieldTertiaryDefunct,redifFieldTemplateType,redifWrongLine contained transparent fold
590187ca0bSBram Moolenaarsyntax region redifContainerFieldsPerson start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=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,redifWrongLine contained transparent fold
60126bdeeaSBram Moolenaar
610187ca0bSBram Moolenaar" Defines the 10 possible clusters and what they can contain
620187ca0bSBram Moolenaar" A field not in the cluster ends the cluster.
630187ca0bSBram Moolenaarsyntax region redifRegionClusterWorkplace start=/^Workplace-Name:/ skip=/^Workplace-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsWorkplace fold
640187ca0bSBram Moolenaarsyntax region redifRegionClusterPrimary start=/^Primary-Name:/ skip=/^Primary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsPrimary fold
650187ca0bSBram Moolenaarsyntax region redifRegionClusterSecondary start=/^Secondary-Name:/ skip=/^Secondary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsSecondary fold
660187ca0bSBram Moolenaarsyntax region redifRegionClusterTertiary start=/^Tertiary-Name:/ skip=/^Tertiary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsTertiary fold
670187ca0bSBram Moolenaarsyntax region redifRegionClusterQuaternary start=/^Quaternary-Name:/ skip=/^Quaternary-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsQuaternary fold
680187ca0bSBram Moolenaarsyntax region redifRegionClusterProvider start=/^Provider-Name:/ skip=/^Provider-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsProvider fold
690187ca0bSBram Moolenaarsyntax region redifRegionClusterPublisher start=/^Publisher-Name:/ skip=/^Publisher-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsPublisher fold
700187ca0bSBram Moolenaarsyntax region redifRegionClusterAuthor start=/^Author-Name:/ skip=/^Author-\%(Name\%(-First\|-Last\)\|Homepage\|Email\|Fax\|Postal\|Phone\|Person\|Workplace-Name\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifRegionClusterAuthorWorkplace,redifContainerFieldsAuthor fold
710187ca0bSBram Moolenaarsyntax region redifRegionClusterEditor start=/^Editor-Name:/ skip=/^Editor-\%(Name\%(-First\|-Last\)\|Homepage\|Email\|Fax\|Postal\|Phone\|Person\|Workplace-Name\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifRegionClusterEditorWorkplace,redifContainerFieldsEditor fold
720187ca0bSBram Moolenaarsyntax region redifRegionClusterFile start=/^File-URL:/ skip=/^File-\%(Format\|Function\|Size\|Restriction\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsFile fold
73126bdeeaSBram Moolenaar
740187ca0bSBram Moolenaar" The foldable containers of the clusters.
750187ca0bSBram Moolenaarsyntax region redifContainerFieldsWorkplace start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldWorkplaceName,redifFieldWorkplaceHomepage,redifFieldWorkplaceNameEnglish,redifFieldWorkplacePostal,redifFieldWorkplaceLocation,redifFieldWorkplaceEmail,redifFieldWorkplacePhone,redifFieldWorkplaceFax,redifFieldWorkplaceInstitution,redifWrongLine contained transparent fold
760187ca0bSBram Moolenaarsyntax region redifContainerFieldsPrimary start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldPrimaryName,redifFieldPrimaryHomepage,redifFieldPrimaryNameEnglish,redifFieldPrimaryPostal,redifFieldPrimaryLocation,redifFieldPrimaryEmail,redifFieldPrimaryPhone,redifFieldPrimaryFax,redifFieldPrimaryInstitution,redifWrongLine contained transparent fold
770187ca0bSBram Moolenaarsyntax region redifContainerFieldsSecondary start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldSecondaryName,redifFieldSecondaryHomepage,redifFieldSecondaryNameEnglish,redifFieldSecondaryPostal,redifFieldSecondaryLocation,redifFieldSecondaryEmail,redifFieldSecondaryPhone,redifFieldSecondaryFax,redifFieldSecondaryInstitution,redifWrongLine contained transparent fold
780187ca0bSBram Moolenaarsyntax region redifContainerFieldsTertiary start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldTertiaryName,redifFieldTertiaryHomepage,redifFieldTertiaryNameEnglish,redifFieldTertiaryPostal,redifFieldTertiaryLocation,redifFieldTertiaryEmail,redifFieldTertiaryPhone,redifFieldTertiaryFax,redifFieldTertiaryInstitution,redifWrongLine contained transparent fold
790187ca0bSBram Moolenaarsyntax region redifContainerFieldsQuaternary start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldQuaternaryName,redifFieldQuaternaryHomepage,redifFieldQuaternaryNameEnglish,redifFieldQuaternaryPostal,redifFieldQuaternaryLocation,redifFieldQuaternaryEmail,redifFieldQuaternaryPhone,redifFieldQuaternaryFax,redifFieldQuaternaryInstitution,redifWrongLine contained transparent fold
800187ca0bSBram Moolenaarsyntax region redifContainerFieldsProvider start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldProviderName,redifFieldProviderHomepage,redifFieldProviderNameEnglish,redifFieldProviderPostal,redifFieldProviderLocation,redifFieldProviderEmail,redifFieldProviderPhone,redifFieldProviderFax,redifFieldProviderInstitution,redifWrongLine contained transparent fold
810187ca0bSBram Moolenaarsyntax region redifContainerFieldsPublisher start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldPublisherName,redifFieldPublisherHomepage,redifFieldPublisherNameEnglish,redifFieldPublisherPostal,redifFieldPublisherLocation,redifFieldPublisherEmail,redifFieldPublisherPhone,redifFieldPublisherFax,redifFieldPublisherInstitution,redifWrongLine contained transparent fold
820187ca0bSBram Moolenaarsyntax region redifContainerFieldsAuthor start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldAuthorName,redifFieldAuthorNameFirst,redifFieldAuthorNameLast,redifFieldAuthorHomepage,redifFieldAuthorEmail,redifFieldAuthorFax,redifFieldAuthorPostal,redifFieldAuthorPhone,redifFieldAuthorPerson,redifWrongLine contained transparent fold
830187ca0bSBram Moolenaarsyntax region redifContainerFieldsEditor start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldEditorName,redifFieldEditorNameFirst,redifFieldEditorNameLast,redifFieldEditorHomepage,redifFieldEditorEmail,redifFieldEditorFax,redifFieldEditorPostal,redifFieldEditorPhone,redifFieldEditorPerson,redifWrongLine contained transparent fold
840187ca0bSBram Moolenaarsyntax region redifContainerFieldsFile start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldFileURL,redifFieldFileFormat,redifFieldFileFunction,redifFieldFileSize,redifFieldFileRestriction,redifWrongLine contained transparent fold
85126bdeeaSBram Moolenaar
860187ca0bSBram Moolenaar" The two clusters in cluster (must be presented after to have priority over
870187ca0bSBram Moolenaar" fields containers)
880187ca0bSBram Moolenaarsyntax region redifRegionClusterAuthorWorkplace start=/^Author-Workplace-Name:/ skip=/^Author-Workplace-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsAuthorWorkplace fold
890187ca0bSBram Moolenaarsyntax region redifRegionClusterEditorWorkplace start=/^Editor-Workplace-Name:/ skip=/^Editor-Workplace-\%(Name-English\|Homepage\|Postal\|Location\|Email\|Phone\|Fax\|Institution\):/ end=/^\S\{-}:/me=s-1 contained contains=redifWrongLine,redifContainerFieldsEditorWorkplace fold
900187ca0bSBram Moolenaar
910187ca0bSBram Moolenaar" Their foldable fields containers
920187ca0bSBram Moolenaarsyntax region redifContainerFieldsAuthorWorkplace start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldAuthorWorkplaceName,redifFieldAuthorWorkplaceHomepage,redifFieldAuthorWorkplaceNameEnglish,redifFieldAuthorWorkplacePostal,redifFieldAuthorWorkplaceLocation,redifFieldAuthorWorkplaceEmail,redifFieldAuthorWorkplacePhone,redifFieldAuthorWorkplaceFax,redifFieldAuthorWorkplaceInstitution,redifWrongLine contained transparent fold
930187ca0bSBram Moolenaarsyntax region redifContainerFieldsEditorWorkplace start=/^\S\{-}:/ end=/^\S\{-}:/me=s-1 contains=redifFieldEditorWorkplaceName,redifFieldEditorWorkplaceHomepage,redifFieldEditorWorkplaceNameEnglish,redifFieldEditorWorkplacePostal,redifFieldEditorWorkplaceLocation,redifFieldEditorWorkplaceEmail,redifFieldEditorWorkplacePhone,redifFieldEditorWorkplaceFax,redifFieldEditorWorkplaceInstitution,redifWrongLine contained transparent fold
94126bdeeaSBram Moolenaar
95126bdeeaSBram Moolenaar" All the possible fields
96126bdeeaSBram Moolenaar"     Note: The "Handle" field is handled a little bit differently, because it
970187ca0bSBram Moolenaar"     does not have the same meaning depending on the Template-Type. See:
98126bdeeaSBram Moolenaar" 	  /redifFieldHandleOf....
99126bdeeaSBram Moolenaarsyntax match redifFieldAbstract /^Abstract:/ skipwhite skipempty nextgroup=redifArgumentAbstract contained
100126bdeeaSBram Moolenaarsyntax match redifFieldArticleHandle /^Article-Handle:/ skipwhite skipempty nextgroup=redifArgumentArticleHandle contained
101126bdeeaSBram Moolenaarsyntax match redifFieldAuthorArticle /^Author-Article:/ skipwhite skipempty nextgroup=redifArgumentAuthorArticle contained
102126bdeeaSBram Moolenaarsyntax match redifFieldAuthorBook /^Author-Book:/ skipwhite skipempty nextgroup=redifArgumentAuthorBook contained
103126bdeeaSBram Moolenaarsyntax match redifFieldAuthorChapter /^Author-Chapter:/ skipwhite skipempty nextgroup=redifArgumentAuthorChapter contained
104126bdeeaSBram Moolenaarsyntax match redifFieldAuthorEmail /^Author-Email:/ skipwhite skipempty nextgroup=redifArgumentAuthorEmail contained
105126bdeeaSBram Moolenaarsyntax match redifFieldAuthorFax /^Author-Fax:/ skipwhite skipempty nextgroup=redifArgumentAuthorFax contained
106126bdeeaSBram Moolenaarsyntax match redifFieldAuthorHomepage /^Author-Homepage:/ skipwhite skipempty nextgroup=redifArgumentAuthorHomepage contained
107126bdeeaSBram Moolenaarsyntax match redifFieldAuthorName /^Author-Name:/ skipwhite skipempty nextgroup=redifArgumentAuthorName contained
108126bdeeaSBram Moolenaarsyntax match redifFieldAuthorNameFirst /^Author-Name-First:/ skipwhite skipempty nextgroup=redifArgumentAuthorNameFirst contained
109126bdeeaSBram Moolenaarsyntax match redifFieldAuthorNameLast /^Author-Name-Last:/ skipwhite skipempty nextgroup=redifArgumentAuthorNameLast contained
110126bdeeaSBram Moolenaarsyntax match redifFieldAuthorPaper /^Author-Paper:/ skipwhite skipempty nextgroup=redifArgumentAuthorPaper contained
111126bdeeaSBram Moolenaarsyntax match redifFieldAuthorPerson /^Author-Person:/ skipwhite skipempty nextgroup=redifArgumentAuthorPerson contained
112126bdeeaSBram Moolenaarsyntax match redifFieldAuthorPhone /^Author-Phone:/ skipwhite skipempty nextgroup=redifArgumentAuthorPhone contained
113126bdeeaSBram Moolenaarsyntax match redifFieldAuthorPostal /^Author-Postal:/ skipwhite skipempty nextgroup=redifArgumentAuthorPostal contained
114126bdeeaSBram Moolenaarsyntax match redifFieldAuthorSoftware /^Author-Software:/ skipwhite skipempty nextgroup=redifArgumentAuthorSoftware contained
115126bdeeaSBram Moolenaarsyntax match redifFieldAuthorWorkplaceEmail /^Author-Workplace-Email:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceEmail contained
116126bdeeaSBram Moolenaarsyntax match redifFieldAuthorWorkplaceFax /^Author-Workplace-Fax:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceFax contained
117126bdeeaSBram Moolenaarsyntax match redifFieldAuthorWorkplaceHomepage /^Author-Workplace-Homepage:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceHomepage contained
118126bdeeaSBram Moolenaarsyntax match redifFieldAuthorWorkplaceInstitution /^Author-Workplace-Institution:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceInstitution contained
119126bdeeaSBram Moolenaarsyntax match redifFieldAuthorWorkplaceLocation /^Author-Workplace-Location:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceLocation contained
120126bdeeaSBram Moolenaarsyntax match redifFieldAuthorWorkplaceName /^Author-Workplace-Name:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceName contained
121126bdeeaSBram Moolenaarsyntax match redifFieldAuthorWorkplaceNameEnglish /^Author-Workplace-Name-English:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplaceNameEnglish contained
122126bdeeaSBram Moolenaarsyntax match redifFieldAuthorWorkplacePhone /^Author-Workplace-Phone:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplacePhone contained
123126bdeeaSBram Moolenaarsyntax match redifFieldAuthorWorkplacePostal /^Author-Workplace-Postal:/ skipwhite skipempty nextgroup=redifArgumentAuthorWorkplacePostal contained
124126bdeeaSBram Moolenaarsyntax match redifFieldAvailability /^Availability:/ skipwhite skipempty nextgroup=redifArgumentAvailability contained
125126bdeeaSBram Moolenaarsyntax match redifFieldBookHandle /^Book-Handle:/ skipwhite skipempty nextgroup=redifArgumentBookHandle contained
126126bdeeaSBram Moolenaarsyntax match redifFieldBookTitle /^Book-Title:/ skipwhite skipempty nextgroup=redifArgumentBookTitle contained
127126bdeeaSBram Moolenaarsyntax match redifFieldChapterHandle /^Chapter-Handle:/ skipwhite skipempty nextgroup=redifArgumentChapterHandle contained
128126bdeeaSBram Moolenaarsyntax match redifFieldChapter /^Chapter:/ skipwhite skipempty nextgroup=redifArgumentChapter contained
129126bdeeaSBram Moolenaarsyntax match redifFieldClassificationJEL /^Classification-JEL:/ skipwhite skipempty nextgroup=redifArgumentClassificationJEL contained
130126bdeeaSBram Moolenaarsyntax match redifFieldContactEmail /^Contact-Email:/ skipwhite skipempty nextgroup=redifArgumentContactEmail contained
131126bdeeaSBram Moolenaarsyntax match redifFieldCreationDate /^Creation-Date:/ skipwhite skipempty nextgroup=redifArgumentCreationDate contained
132126bdeeaSBram Moolenaarsyntax match redifFieldDescription /^Description:/ skipwhite skipempty nextgroup=redifArgumentDescription contained
133126bdeeaSBram Moolenaarsyntax match redifFieldEdition /^Edition:/ skipwhite skipempty nextgroup=redifArgumentEdition contained
134126bdeeaSBram Moolenaarsyntax match redifFieldEditorBook /^Editor-Book:/ skipwhite skipempty nextgroup=redifArgumentEditorBook contained
135126bdeeaSBram Moolenaarsyntax match redifFieldEditorEmail /^Editor-Email:/ skipwhite skipempty nextgroup=redifArgumentEditorEmail contained
136126bdeeaSBram Moolenaarsyntax match redifFieldEditorFax /^Editor-Fax:/ skipwhite skipempty nextgroup=redifArgumentEditorFax contained
137126bdeeaSBram Moolenaarsyntax match redifFieldEditorHomepage /^Editor-Homepage:/ skipwhite skipempty nextgroup=redifArgumentEditorHomepage contained
138126bdeeaSBram Moolenaarsyntax match redifFieldEditorName /^Editor-Name:/ skipwhite skipempty nextgroup=redifArgumentEditorName contained
139126bdeeaSBram Moolenaarsyntax match redifFieldEditorNameFirst /^Editor-Name-First:/ skipwhite skipempty nextgroup=redifArgumentEditorNameFirst contained
140126bdeeaSBram Moolenaarsyntax match redifFieldEditorNameLast /^Editor-Name-Last:/ skipwhite skipempty nextgroup=redifArgumentEditorNameLast contained
141126bdeeaSBram Moolenaarsyntax match redifFieldEditorPerson /^Editor-Person:/ skipwhite skipempty nextgroup=redifArgumentEditorPerson contained
142126bdeeaSBram Moolenaarsyntax match redifFieldEditorPhone /^Editor-Phone:/ skipwhite skipempty nextgroup=redifArgumentEditorPhone contained
143126bdeeaSBram Moolenaarsyntax match redifFieldEditorPostal /^Editor-Postal:/ skipwhite skipempty nextgroup=redifArgumentEditorPostal contained
144126bdeeaSBram Moolenaarsyntax match redifFieldEditorSeries /^Editor-Series:/ skipwhite skipempty nextgroup=redifArgumentEditorSeries contained
145126bdeeaSBram Moolenaarsyntax match redifFieldEditorWorkplaceEmail /^Editor-Workplace-Email:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceEmail contained
146126bdeeaSBram Moolenaarsyntax match redifFieldEditorWorkplaceFax /^Editor-Workplace-Fax:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceFax contained
147126bdeeaSBram Moolenaarsyntax match redifFieldEditorWorkplaceHomepage /^Editor-Workplace-Homepage:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceHomepage contained
148126bdeeaSBram Moolenaarsyntax match redifFieldEditorWorkplaceInstitution /^Editor-Workplace-Institution:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceInstitution contained
149126bdeeaSBram Moolenaarsyntax match redifFieldEditorWorkplaceLocation /^Editor-Workplace-Location:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceLocation contained
150126bdeeaSBram Moolenaarsyntax match redifFieldEditorWorkplaceName /^Editor-Workplace-Name:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceName contained
151126bdeeaSBram Moolenaarsyntax match redifFieldEditorWorkplaceNameEnglish /^Editor-Workplace-Name-English:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplaceNameEnglish contained
152126bdeeaSBram Moolenaarsyntax match redifFieldEditorWorkplacePhone /^Editor-Workplace-Phone:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplacePhone contained
153126bdeeaSBram Moolenaarsyntax match redifFieldEditorWorkplacePostal /^Editor-Workplace-Postal:/ skipwhite skipempty nextgroup=redifArgumentEditorWorkplacePostal contained
154126bdeeaSBram Moolenaarsyntax match redifFieldEmail /^Email:/ skipwhite skipempty nextgroup=redifArgumentEmail contained
155126bdeeaSBram Moolenaarsyntax match redifFieldFax /^Fax:/ skipwhite skipempty nextgroup=redifArgumentFax contained
156126bdeeaSBram Moolenaarsyntax match redifFieldFileFormat /^File-Format:/ skipwhite skipempty nextgroup=redifArgumentFileFormat contained
157126bdeeaSBram Moolenaarsyntax match redifFieldFileFunction /^File-Function:/ skipwhite skipempty nextgroup=redifArgumentFileFunction contained
158126bdeeaSBram Moolenaarsyntax match redifFieldFileRestriction /^File-Restriction:/ skipwhite skipempty nextgroup=redifArgumentFileRestriction contained
159126bdeeaSBram Moolenaarsyntax match redifFieldFileSize /^File-Size:/ skipwhite skipempty nextgroup=redifArgumentFileSize contained
160126bdeeaSBram Moolenaarsyntax match redifFieldFileURL /^File-URL:/ skipwhite skipempty nextgroup=redifArgumentFileURL contained
161126bdeeaSBram Moolenaarsyntax match redifFieldFollowup /^Followup:/ skipwhite skipempty nextgroup=redifArgumentFollowup contained
162126bdeeaSBram Moolenaarsyntax match redifFieldHandleOfArchive /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfArchive contained
163126bdeeaSBram Moolenaarsyntax match redifFieldHandleOfInstitution /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfInstitution contained
164126bdeeaSBram Moolenaarsyntax match redifFieldHandleOfPerson /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfPerson contained
165126bdeeaSBram Moolenaarsyntax match redifFieldHandleOfSeries /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfSeries contained
166126bdeeaSBram Moolenaarsyntax match redifFieldHandleOfWork /^Handle:/ skipwhite skipempty nextgroup=redifArgumentHandleOfWork contained
167126bdeeaSBram Moolenaarsyntax match redifFieldHasChapter /^HasChapter:/ skipwhite skipempty nextgroup=redifArgumentHasChapter contained
168126bdeeaSBram Moolenaarsyntax match redifFieldHomepage /^Homepage:/ skipwhite skipempty nextgroup=redifArgumentHomepage contained
169126bdeeaSBram Moolenaarsyntax match redifFieldInBook /^In-Book:/ skipwhite skipempty nextgroup=redifArgumentInBook contained
170126bdeeaSBram Moolenaarsyntax match redifFieldISBN /^ISBN:/ skipwhite skipempty nextgroup=redifArgumentISBN contained
171126bdeeaSBram Moolenaarsyntax match redifFieldISSN /^ISSN:/ skipwhite skipempty nextgroup=redifArgumentISSN contained
172126bdeeaSBram Moolenaarsyntax match redifFieldIssue /^Issue:/ skipwhite skipempty nextgroup=redifArgumentIssue contained
173126bdeeaSBram Moolenaarsyntax match redifFieldJournal /^Journal:/ skipwhite skipempty nextgroup=redifArgumentJournal contained
174126bdeeaSBram Moolenaarsyntax match redifFieldKeywords /^Keywords:/ skipwhite skipempty nextgroup=redifArgumentKeywords contained
175126bdeeaSBram Moolenaarsyntax match redifFieldKeywords /^Keywords:/ skipwhite skipempty nextgroup=redifArgumentKeywords contained
176126bdeeaSBram Moolenaarsyntax match redifFieldLanguage /^Language:/ skipwhite skipempty nextgroup=redifArgumentLanguage contained
177126bdeeaSBram Moolenaarsyntax match redifFieldLastLoginDate /^Last-Login-Date:/ skipwhite skipempty nextgroup=redifArgumentLastLoginDate contained
178126bdeeaSBram Moolenaarsyntax match redifFieldLength /^Length:/ skipwhite skipempty nextgroup=redifArgumentLength contained
179126bdeeaSBram Moolenaarsyntax match redifFieldMaintainerEmail /^Maintainer-Email:/ skipwhite skipempty nextgroup=redifArgumentMaintainerEmail contained
180126bdeeaSBram Moolenaarsyntax match redifFieldMaintainerFax /^Maintainer-Fax:/ skipwhite skipempty nextgroup=redifArgumentMaintainerFax contained
181126bdeeaSBram Moolenaarsyntax match redifFieldMaintainerName /^Maintainer-Name:/ skipwhite skipempty nextgroup=redifArgumentMaintainerName contained
182126bdeeaSBram Moolenaarsyntax match redifFieldMaintainerPhone /^Maintainer-Phone:/ skipwhite skipempty nextgroup=redifArgumentMaintainerPhone contained
183126bdeeaSBram Moolenaarsyntax match redifFieldMonth /^Month:/ skipwhite skipempty nextgroup=redifArgumentMonth contained
184126bdeeaSBram Moolenaarsyntax match redifFieldNameASCII /^Name-ASCII:/ skipwhite skipempty nextgroup=redifArgumentNameASCII contained
185126bdeeaSBram Moolenaarsyntax match redifFieldNameFirst /^Name-First:/ skipwhite skipempty nextgroup=redifArgumentNameFirst contained
186126bdeeaSBram Moolenaarsyntax match redifFieldNameFull /^Name-Full:/ skipwhite skipempty nextgroup=redifArgumentNameFull contained
187126bdeeaSBram Moolenaarsyntax match redifFieldNameLast /^Name-Last:/ skipwhite skipempty nextgroup=redifArgumentNameLast contained
188126bdeeaSBram Moolenaarsyntax match redifFieldNameMiddle /^Name-Middle:/ skipwhite skipempty nextgroup=redifArgumentNameMiddle contained
189126bdeeaSBram Moolenaarsyntax match redifFieldNamePrefix /^Name-Prefix:/ skipwhite skipempty nextgroup=redifArgumentNamePrefix contained
190126bdeeaSBram Moolenaarsyntax match redifFieldNameSuffix /^Name-Suffix:/ skipwhite skipempty nextgroup=redifArgumentNameSuffix contained
191126bdeeaSBram Moolenaarsyntax match redifFieldName /^Name:/ skipwhite skipempty nextgroup=redifArgumentName contained
192126bdeeaSBram Moolenaarsyntax match redifFieldNote /^Note:/ skipwhite skipempty nextgroup=redifArgumentNote contained
193126bdeeaSBram Moolenaarsyntax match redifFieldNotification /^Notification:/ skipwhite skipempty nextgroup=redifArgumentNotification contained
194126bdeeaSBram Moolenaarsyntax match redifFieldNumber /^Number:/ skipwhite skipempty nextgroup=redifArgumentNumber contained
195126bdeeaSBram Moolenaarsyntax match redifFieldOrderEmail /^Order-Email:/ skipwhite skipempty nextgroup=redifArgumentOrderEmail contained
196126bdeeaSBram Moolenaarsyntax match redifFieldOrderHomepage /^Order-Homepage:/ skipwhite skipempty nextgroup=redifArgumentOrderHomepage contained
197126bdeeaSBram Moolenaarsyntax match redifFieldOrderPostal /^Order-Postal:/ skipwhite skipempty nextgroup=redifArgumentOrderPostal contained
198126bdeeaSBram Moolenaarsyntax match redifFieldOrderURL /^Order-URL:/ skipwhite skipempty nextgroup=redifArgumentOrderURL contained
199126bdeeaSBram Moolenaarsyntax match redifFieldPages /^Pages:/ skipwhite skipempty nextgroup=redifArgumentPages contained
200126bdeeaSBram Moolenaarsyntax match redifFieldPaperHandle /^Paper-Handle:/ skipwhite skipempty nextgroup=redifArgumentPaperHandle contained
201126bdeeaSBram Moolenaarsyntax match redifFieldPhone /^Phone:/ skipwhite skipempty nextgroup=redifArgumentPhone contained
202126bdeeaSBram Moolenaarsyntax match redifFieldPostal /^Postal:/ skipwhite skipempty nextgroup=redifArgumentPostal contained
203126bdeeaSBram Moolenaarsyntax match redifFieldPredecessor /^Predecessor:/ skipwhite skipempty nextgroup=redifArgumentPredecessor contained
204126bdeeaSBram Moolenaarsyntax match redifFieldPrice /^Price:/ skipwhite skipempty nextgroup=redifArgumentPrice contained
205126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryDefunct /^Primary-Defunct:/ skipwhite skipempty nextgroup=redifArgumentPrimaryDefunct contained
206126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryEmail /^Primary-Email:/ skipwhite skipempty nextgroup=redifArgumentPrimaryEmail contained
207126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryFax /^Primary-Fax:/ skipwhite skipempty nextgroup=redifArgumentPrimaryFax contained
208126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryHomepage /^Primary-Homepage:/ skipwhite skipempty nextgroup=redifArgumentPrimaryHomepage contained
209126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryInstitution /^Primary-Institution:/ skipwhite skipempty nextgroup=redifArgumentPrimaryInstitution contained
210126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryLocation /^Primary-Location:/ skipwhite skipempty nextgroup=redifArgumentPrimaryLocation contained
211126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryName /^Primary-Name:/ skipwhite skipempty nextgroup=redifArgumentPrimaryName contained
212126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryNameEnglish /^Primary-Name-English:/ skipwhite skipempty nextgroup=redifArgumentPrimaryNameEnglish contained
213126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryPhone /^Primary-Phone:/ skipwhite skipempty nextgroup=redifArgumentPrimaryPhone contained
214126bdeeaSBram Moolenaarsyntax match redifFieldPrimaryPostal /^Primary-Postal:/ skipwhite skipempty nextgroup=redifArgumentPrimaryPostal contained
215126bdeeaSBram Moolenaarsyntax match redifFieldProgrammingLanguage /^Programming-Language:/ skipwhite skipempty nextgroup=redifArgumentProgrammingLanguage contained
216126bdeeaSBram Moolenaarsyntax match redifFieldProviderEmail /^Provider-Email:/ skipwhite skipempty nextgroup=redifArgumentProviderEmail contained
217126bdeeaSBram Moolenaarsyntax match redifFieldProviderFax /^Provider-Fax:/ skipwhite skipempty nextgroup=redifArgumentProviderFax contained
218126bdeeaSBram Moolenaarsyntax match redifFieldProviderHomepage /^Provider-Homepage:/ skipwhite skipempty nextgroup=redifArgumentProviderHomepage contained
219126bdeeaSBram Moolenaarsyntax match redifFieldProviderInstitution /^Provider-Institution:/ skipwhite skipempty nextgroup=redifArgumentProviderInstitution contained
220126bdeeaSBram Moolenaarsyntax match redifFieldProviderLocation /^Provider-Location:/ skipwhite skipempty nextgroup=redifArgumentProviderLocation contained
221126bdeeaSBram Moolenaarsyntax match redifFieldProviderName /^Provider-Name:/ skipwhite skipempty nextgroup=redifArgumentProviderName contained
222126bdeeaSBram Moolenaarsyntax match redifFieldProviderNameEnglish /^Provider-Name-English:/ skipwhite skipempty nextgroup=redifArgumentProviderNameEnglish contained
223126bdeeaSBram Moolenaarsyntax match redifFieldProviderPhone /^Provider-Phone:/ skipwhite skipempty nextgroup=redifArgumentProviderPhone contained
224126bdeeaSBram Moolenaarsyntax match redifFieldProviderPostal /^Provider-Postal:/ skipwhite skipempty nextgroup=redifArgumentProviderPostal contained
225126bdeeaSBram Moolenaarsyntax match redifFieldPublicationDate /^Publication-Date:/ skipwhite skipempty nextgroup=redifArgumentPublicationDate contained
226126bdeeaSBram Moolenaarsyntax match redifFieldPublicationStatus /^Publication-Status:/ skipwhite skipempty nextgroup=redifArgumentPublicationStatus contained
227126bdeeaSBram Moolenaarsyntax match redifFieldPublicationType /^Publication-Type:/ skipwhite skipempty nextgroup=redifArgumentPublicationType contained
228126bdeeaSBram Moolenaarsyntax match redifFieldQuaternaryEmail /^Quaternary-Email:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryEmail contained
229126bdeeaSBram Moolenaarsyntax match redifFieldQuaternaryFax /^Quaternary-Fax:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryFax contained
230126bdeeaSBram Moolenaarsyntax match redifFieldQuaternaryHomepage /^Quaternary-Homepage:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryHomepage contained
231126bdeeaSBram Moolenaarsyntax match redifFieldQuaternaryInstitution /^Quaternary-Institution:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryInstitution contained
232126bdeeaSBram Moolenaarsyntax match redifFieldQuaternaryLocation /^Quaternary-Location:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryLocation contained
233126bdeeaSBram Moolenaarsyntax match redifFieldQuaternaryName /^Quaternary-Name:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryName contained
234126bdeeaSBram Moolenaarsyntax match redifFieldQuaternaryNameEnglish /^Quaternary-Name-English:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryNameEnglish contained
235126bdeeaSBram Moolenaarsyntax match redifFieldQuaternaryPhone /^Quaternary-Phone:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryPhone contained
236126bdeeaSBram Moolenaarsyntax match redifFieldQuaternaryPostal /^Quaternary-Postal:/ skipwhite skipempty nextgroup=redifArgumentQuaternaryPostal contained
237126bdeeaSBram Moolenaarsyntax match redifFieldRegisteredDate /^Registered-Date:/ skipwhite skipempty nextgroup=redifArgumentRegisteredDate contained
238126bdeeaSBram Moolenaarsyntax match redifFieldRequires /^Requires:/ skipwhite skipempty nextgroup=redifArgumentRequires contained
239126bdeeaSBram Moolenaarsyntax match redifFieldRestriction /^Restriction:/ skipwhite skipempty nextgroup=redifArgumentRestriction contained
240126bdeeaSBram Moolenaarsyntax match redifFieldRevisionDate /^Revision-Date:/ skipwhite skipempty nextgroup=redifArgumentRevisionDate contained
241126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryDefunct /^Secondary-Defunct:/ skipwhite skipempty nextgroup=redifArgumentSecondaryDefunct contained
242126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryEmail /^Secondary-Email:/ skipwhite skipempty nextgroup=redifArgumentSecondaryEmail contained
243126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryFax /^Secondary-Fax:/ skipwhite skipempty nextgroup=redifArgumentSecondaryFax contained
244126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryHomepage /^Secondary-Homepage:/ skipwhite skipempty nextgroup=redifArgumentSecondaryHomepage contained
245126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryInstitution /^Secondary-Institution:/ skipwhite skipempty nextgroup=redifArgumentSecondaryInstitution contained
246126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryLocation /^Secondary-Location:/ skipwhite skipempty nextgroup=redifArgumentSecondaryLocation contained
247126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryName /^Secondary-Name:/ skipwhite skipempty nextgroup=redifArgumentSecondaryName contained
248126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryNameEnglish /^Secondary-Name-English:/ skipwhite skipempty nextgroup=redifArgumentSecondaryNameEnglish contained
249126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryPhone /^Secondary-Phone:/ skipwhite skipempty nextgroup=redifArgumentSecondaryPhone contained
250126bdeeaSBram Moolenaarsyntax match redifFieldSecondaryPostal /^Secondary-Postal:/ skipwhite skipempty nextgroup=redifArgumentSecondaryPostal contained
251126bdeeaSBram Moolenaarsyntax match redifFieldSeries /^Series:/ skipwhite skipempty nextgroup=redifArgumentSeries contained
252126bdeeaSBram Moolenaarsyntax match redifFieldShortId /^Short-Id:/ skipwhite skipempty nextgroup=redifArgumentShortId contained
253126bdeeaSBram Moolenaarsyntax match redifFieldSize /^Size:/ skipwhite skipempty nextgroup=redifArgumentSize contained
254126bdeeaSBram Moolenaarsyntax match redifFieldSoftwareHandle /^Software-Handle:/ skipwhite skipempty nextgroup=redifArgumentSoftwareHandle contained
255126bdeeaSBram Moolenaarsyntax match redifFieldTemplateType /^Template-Type:/ skipwhite skipempty nextgroup=redifArgumentTemplateType contained
256126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryDefunct /^Tertiary-Defunct:/ skipwhite skipempty nextgroup=redifArgumentTertiaryDefunct contained
257126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryEmail /^Tertiary-Email:/ skipwhite skipempty nextgroup=redifArgumentTertiaryEmail contained
258126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryFax /^Tertiary-Fax:/ skipwhite skipempty nextgroup=redifArgumentTertiaryFax contained
259126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryHomepage /^Tertiary-Homepage:/ skipwhite skipempty nextgroup=redifArgumentTertiaryHomepage contained
260126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryInstitution /^Tertiary-Institution:/ skipwhite skipempty nextgroup=redifArgumentTertiaryInstitution contained
261126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryLocation /^Tertiary-Location:/ skipwhite skipempty nextgroup=redifArgumentTertiaryLocation contained
262126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryName /^Tertiary-Name:/ skipwhite skipempty nextgroup=redifArgumentTertiaryName contained
263126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryNameEnglish /^Tertiary-Name-English:/ skipwhite skipempty nextgroup=redifArgumentTertiaryNameEnglish contained
264126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryPhone /^Tertiary-Phone:/ skipwhite skipempty nextgroup=redifArgumentTertiaryPhone contained
265126bdeeaSBram Moolenaarsyntax match redifFieldTertiaryPostal /^Tertiary-Postal:/ skipwhite skipempty nextgroup=redifArgumentTertiaryPostal contained
266126bdeeaSBram Moolenaarsyntax match redifFieldTitle /^Title:/ skipwhite skipempty nextgroup=redifArgumentTitle contained
267126bdeeaSBram Moolenaarsyntax match redifFieldType /^Type:/ skipwhite skipempty nextgroup=redifArgumentType contained
268126bdeeaSBram Moolenaarsyntax match redifFieldURL /^URL:/ skipwhite skipempty nextgroup=redifArgumentURL contained
269126bdeeaSBram Moolenaarsyntax match redifFieldVersion /^Version:/ skipwhite skipempty nextgroup=redifArgumentVersion contained
270126bdeeaSBram Moolenaarsyntax match redifFieldVolume /^Volume:/ skipwhite skipempty nextgroup=redifArgumentVolume contained
271126bdeeaSBram Moolenaarsyntax match redifFieldWorkplaceEmail /^Workplace-Email:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceEmail contained
272126bdeeaSBram Moolenaarsyntax match redifFieldWorkplaceFax /^Workplace-Fax:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceFax contained
273126bdeeaSBram Moolenaarsyntax match redifFieldWorkplaceHomepage /^Workplace-Homepage:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceHomepage contained
274126bdeeaSBram Moolenaarsyntax match redifFieldWorkplaceInstitution /^Workplace-Institution:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceInstitution contained
275126bdeeaSBram Moolenaarsyntax match redifFieldWorkplaceLocation /^Workplace-Location:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceLocation contained
276126bdeeaSBram Moolenaarsyntax match redifFieldWorkplaceName /^Workplace-Name:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceName contained
277126bdeeaSBram Moolenaarsyntax match redifFieldWorkplaceNameEnglish /^Workplace-Name-English:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceNameEnglish contained
278126bdeeaSBram Moolenaarsyntax match redifFieldWorkplaceOrganization /^Workplace-Organization:/ skipwhite skipempty nextgroup=redifArgumentWorkplaceOrganization contained
279126bdeeaSBram Moolenaarsyntax match redifFieldWorkplacePhone /^Workplace-Phone:/ skipwhite skipempty nextgroup=redifArgumentWorkplacePhone contained
280126bdeeaSBram Moolenaarsyntax match redifFieldWorkplacePostal /^Workplace-Postal:/ skipwhite skipempty nextgroup=redifArgumentWorkplacePostal contained
281126bdeeaSBram Moolenaarsyntax match redifFieldYear /^Year:/ skipwhite skipempty nextgroup=redifArgumentYear contained
282126bdeeaSBram Moolenaar
283126bdeeaSBram Moolenaarhighlight def link redifFieldAbstract redifField
284126bdeeaSBram Moolenaarhighlight def link redifFieldArticleHandle redifField
285126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorArticle redifField
286126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorBook redifField
287126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorChapter redifField
288126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorEmail redifField
289126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorFax redifField
290126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorHomepage redifField
291126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorName redifField
292126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorNameFirst redifField
293126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorNameLast redifField
294126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorPaper redifField
295126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorPerson redifField
296126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorPhone redifField
297126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorPostal redifField
298126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorSoftware redifField
299126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorWorkplaceEmail redifField
300126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorWorkplaceFax redifField
301126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorWorkplaceHomepage redifField
302126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorWorkplaceInstitution redifField
303126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorWorkplaceLocation redifField
304126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorWorkplaceName redifField
305126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorWorkplaceNameEnglish redifField
306126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorWorkplacePhone redifField
307126bdeeaSBram Moolenaarhighlight def link redifFieldAuthorWorkplacePostal redifField
308126bdeeaSBram Moolenaarhighlight def link redifFieldAvailability redifField
309126bdeeaSBram Moolenaarhighlight def link redifFieldBookHandle redifField
310126bdeeaSBram Moolenaarhighlight def link redifFieldBookTitle redifField
311126bdeeaSBram Moolenaarhighlight def link redifFieldChapterHandle redifField
312126bdeeaSBram Moolenaarhighlight def link redifFieldChapter redifField
313126bdeeaSBram Moolenaarhighlight def link redifFieldClassificationJEL redifField
314126bdeeaSBram Moolenaarhighlight def link redifFieldContactEmail redifField
315126bdeeaSBram Moolenaarhighlight def link redifFieldCreationDate redifField
316126bdeeaSBram Moolenaarhighlight def link redifFieldDescription redifField
317126bdeeaSBram Moolenaarhighlight def link redifFieldEdition redifField
318126bdeeaSBram Moolenaarhighlight def link redifFieldEditorBook redifField
319126bdeeaSBram Moolenaarhighlight def link redifFieldEditorEmail redifField
320126bdeeaSBram Moolenaarhighlight def link redifFieldEditorFax redifField
321126bdeeaSBram Moolenaarhighlight def link redifFieldEditorHomepage redifField
322126bdeeaSBram Moolenaarhighlight def link redifFieldEditorName redifField
323126bdeeaSBram Moolenaarhighlight def link redifFieldEditorNameFirst redifField
324126bdeeaSBram Moolenaarhighlight def link redifFieldEditorNameLast redifField
325126bdeeaSBram Moolenaarhighlight def link redifFieldEditorPerson redifField
326126bdeeaSBram Moolenaarhighlight def link redifFieldEditorPhone redifField
327126bdeeaSBram Moolenaarhighlight def link redifFieldEditorPostal redifField
328126bdeeaSBram Moolenaarhighlight def link redifFieldEditorSeries redifField
329126bdeeaSBram Moolenaarhighlight def link redifFieldEditorWorkplaceEmail redifField
330126bdeeaSBram Moolenaarhighlight def link redifFieldEditorWorkplaceFax redifField
331126bdeeaSBram Moolenaarhighlight def link redifFieldEditorWorkplaceHomepage redifField
332126bdeeaSBram Moolenaarhighlight def link redifFieldEditorWorkplaceInstitution redifField
333126bdeeaSBram Moolenaarhighlight def link redifFieldEditorWorkplaceLocation redifField
334126bdeeaSBram Moolenaarhighlight def link redifFieldEditorWorkplaceName redifField
335126bdeeaSBram Moolenaarhighlight def link redifFieldEditorWorkplaceNameEnglish redifField
336126bdeeaSBram Moolenaarhighlight def link redifFieldEditorWorkplacePhone redifField
337126bdeeaSBram Moolenaarhighlight def link redifFieldEditorWorkplacePostal redifField
338126bdeeaSBram Moolenaarhighlight def link redifFieldEmail redifField
339126bdeeaSBram Moolenaarhighlight def link redifFieldFax redifField
340126bdeeaSBram Moolenaarhighlight def link redifFieldFileFormat redifField
341126bdeeaSBram Moolenaarhighlight def link redifFieldFileFunction redifField
342126bdeeaSBram Moolenaarhighlight def link redifFieldFileRestriction redifField
343126bdeeaSBram Moolenaarhighlight def link redifFieldFileSize redifField
344126bdeeaSBram Moolenaarhighlight def link redifFieldFileURL redifField
345126bdeeaSBram Moolenaarhighlight def link redifFieldFollowup redifField
346126bdeeaSBram Moolenaarhighlight def link redifFieldHandleOfArchive redifField
347126bdeeaSBram Moolenaarhighlight def link redifFieldHandleOfInstitution redifField
348126bdeeaSBram Moolenaarhighlight def link redifFieldHandleOfPerson redifField
349126bdeeaSBram Moolenaarhighlight def link redifFieldHandleOfSeries redifField
350126bdeeaSBram Moolenaarhighlight def link redifFieldHandleOfWork redifField
351126bdeeaSBram Moolenaarhighlight def link redifFieldHasChapter redifField
352126bdeeaSBram Moolenaarhighlight def link redifFieldHomepage redifField
353126bdeeaSBram Moolenaarhighlight def link redifFieldInBook redifField
354126bdeeaSBram Moolenaarhighlight def link redifFieldISBN redifField
355126bdeeaSBram Moolenaarhighlight def link redifFieldISSN redifField
356126bdeeaSBram Moolenaarhighlight def link redifFieldIssue redifField
357126bdeeaSBram Moolenaarhighlight def link redifFieldJournal redifField
358126bdeeaSBram Moolenaarhighlight def link redifFieldKeywords redifField
359126bdeeaSBram Moolenaarhighlight def link redifFieldKeywords redifField
360126bdeeaSBram Moolenaarhighlight def link redifFieldLanguage redifField
361126bdeeaSBram Moolenaarhighlight def link redifFieldLastLoginDate redifField
362126bdeeaSBram Moolenaarhighlight def link redifFieldLength redifField
363126bdeeaSBram Moolenaarhighlight def link redifFieldMaintainerEmail redifField
364126bdeeaSBram Moolenaarhighlight def link redifFieldMaintainerFax redifField
365126bdeeaSBram Moolenaarhighlight def link redifFieldMaintainerName redifField
366126bdeeaSBram Moolenaarhighlight def link redifFieldMaintainerPhone redifField
367126bdeeaSBram Moolenaarhighlight def link redifFieldMonth redifField
368126bdeeaSBram Moolenaarhighlight def link redifFieldNameASCII redifField
369126bdeeaSBram Moolenaarhighlight def link redifFieldNameFirst redifField
370126bdeeaSBram Moolenaarhighlight def link redifFieldNameFull redifField
371126bdeeaSBram Moolenaarhighlight def link redifFieldNameLast redifField
372126bdeeaSBram Moolenaarhighlight def link redifFieldNameMiddle redifField
373126bdeeaSBram Moolenaarhighlight def link redifFieldNamePrefix redifField
374126bdeeaSBram Moolenaarhighlight def link redifFieldNameSuffix redifField
375126bdeeaSBram Moolenaarhighlight def link redifFieldName redifField
376126bdeeaSBram Moolenaarhighlight def link redifFieldNote redifField
377126bdeeaSBram Moolenaarhighlight def link redifFieldNotification redifField
378126bdeeaSBram Moolenaarhighlight def link redifFieldNumber redifField
379126bdeeaSBram Moolenaarhighlight def link redifFieldOrderEmail redifField
380126bdeeaSBram Moolenaarhighlight def link redifFieldOrderHomepage redifField
381126bdeeaSBram Moolenaarhighlight def link redifFieldOrderPostal redifField
382126bdeeaSBram Moolenaarhighlight def link redifFieldOrderURL redifField
383126bdeeaSBram Moolenaarhighlight def link redifFieldPages redifField
384126bdeeaSBram Moolenaarhighlight def link redifFieldPaperHandle redifField
385126bdeeaSBram Moolenaarhighlight def link redifFieldPhone redifField
386126bdeeaSBram Moolenaarhighlight def link redifFieldPostal redifField
387126bdeeaSBram Moolenaarhighlight def link redifFieldPredecessor redifField
388126bdeeaSBram Moolenaarhighlight def link redifFieldPrice redifField
389126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryDefunct redifField
390126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryEmail redifField
391126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryFax redifField
392126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryHomepage redifField
393126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryInstitution redifField
394126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryLocation redifField
395126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryName redifField
396126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryNameEnglish redifField
397126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryPhone redifField
398126bdeeaSBram Moolenaarhighlight def link redifFieldPrimaryPostal redifField
399126bdeeaSBram Moolenaarhighlight def link redifFieldProgrammingLanguage redifField
400126bdeeaSBram Moolenaarhighlight def link redifFieldProviderEmail redifField
401126bdeeaSBram Moolenaarhighlight def link redifFieldProviderFax redifField
402126bdeeaSBram Moolenaarhighlight def link redifFieldProviderHomepage redifField
403126bdeeaSBram Moolenaarhighlight def link redifFieldProviderInstitution redifField
404126bdeeaSBram Moolenaarhighlight def link redifFieldProviderLocation redifField
405126bdeeaSBram Moolenaarhighlight def link redifFieldProviderName redifField
406126bdeeaSBram Moolenaarhighlight def link redifFieldProviderNameEnglish redifField
407126bdeeaSBram Moolenaarhighlight def link redifFieldProviderPhone redifField
408126bdeeaSBram Moolenaarhighlight def link redifFieldProviderPostal redifField
409126bdeeaSBram Moolenaarhighlight def link redifFieldPublicationDate redifField
410126bdeeaSBram Moolenaarhighlight def link redifFieldPublicationStatus redifField
411126bdeeaSBram Moolenaarhighlight def link redifFieldPublicationType redifField
412126bdeeaSBram Moolenaarhighlight def link redifFieldQuaternaryEmail redifField
413126bdeeaSBram Moolenaarhighlight def link redifFieldQuaternaryFax redifField
414126bdeeaSBram Moolenaarhighlight def link redifFieldQuaternaryHomepage redifField
415126bdeeaSBram Moolenaarhighlight def link redifFieldQuaternaryInstitution redifField
416126bdeeaSBram Moolenaarhighlight def link redifFieldQuaternaryLocation redifField
417126bdeeaSBram Moolenaarhighlight def link redifFieldQuaternaryName redifField
418126bdeeaSBram Moolenaarhighlight def link redifFieldQuaternaryNameEnglish redifField
419126bdeeaSBram Moolenaarhighlight def link redifFieldQuaternaryPhone redifField
420126bdeeaSBram Moolenaarhighlight def link redifFieldQuaternaryPostal redifField
421126bdeeaSBram Moolenaarhighlight def link redifFieldRegisteredDate redifField
422126bdeeaSBram Moolenaarhighlight def link redifFieldRequires redifField
423126bdeeaSBram Moolenaarhighlight def link redifFieldRestriction redifField
424126bdeeaSBram Moolenaarhighlight def link redifFieldRevisionDate redifField
425126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryDefunct redifField
426126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryEmail redifField
427126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryFax redifField
428126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryHomepage redifField
429126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryInstitution redifField
430126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryLocation redifField
431126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryName redifField
432126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryNameEnglish redifField
433126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryPhone redifField
434126bdeeaSBram Moolenaarhighlight def link redifFieldSecondaryPostal redifField
435126bdeeaSBram Moolenaarhighlight def link redifFieldSeries redifField
436126bdeeaSBram Moolenaarhighlight def link redifFieldShortId redifField
437126bdeeaSBram Moolenaarhighlight def link redifFieldSize redifField
438126bdeeaSBram Moolenaarhighlight def link redifFieldSoftwareHandle redifField
439126bdeeaSBram Moolenaarhighlight def link redifFieldTemplateType redifField
440126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryDefunct redifField
441126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryEmail redifField
442126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryFax redifField
443126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryHomepage redifField
444126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryInstitution redifField
445126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryLocation redifField
446126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryName redifField
447126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryNameEnglish redifField
448126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryPhone redifField
449126bdeeaSBram Moolenaarhighlight def link redifFieldTertiaryPostal redifField
450126bdeeaSBram Moolenaarhighlight def link redifFieldTitle redifField
451126bdeeaSBram Moolenaarhighlight def link redifFieldTitle redifField
452126bdeeaSBram Moolenaarhighlight def link redifFieldType redifField
453126bdeeaSBram Moolenaarhighlight def link redifFieldURL redifField
454126bdeeaSBram Moolenaarhighlight def link redifFieldVersion redifField
455126bdeeaSBram Moolenaarhighlight def link redifFieldVolume redifField
456126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplaceEmail redifField
457126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplaceFax redifField
458126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplaceHomepage redifField
459126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplaceInstitution redifField
460126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplaceLocation redifField
461126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplaceName redifField
462126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplaceNameEnglish redifField
463126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplaceOrganization redifField
464126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplacePhone redifField
465126bdeeaSBram Moolenaarhighlight def link redifFieldWorkplacePostal redifField
466126bdeeaSBram Moolenaarhighlight def link redifFieldYear redifField
467126bdeeaSBram Moolenaar
4680187ca0bSBram Moolenaar" Deprecated
4690187ca0bSBram Moolenaar"     same as Provider-*
4700187ca0bSBram Moolenaar"     nextgroup=redifArgumentProvider*
4710187ca0bSBram Moolenaarsyntax match redifFieldPublisherEmail /^Publisher-Email:/ skipwhite skipempty nextgroup=redifArgumentProviderEmail contained
4720187ca0bSBram Moolenaarsyntax match redifFieldPublisherFax /^Publisher-Fax:/ skipwhite skipempty nextgroup=redifArgumentProviderFax contained
4730187ca0bSBram Moolenaarsyntax match redifFieldPublisherHomepage /^Publisher-Homepage:/ skipwhite skipempty nextgroup=redifArgumentProviderHomepage contained
4740187ca0bSBram Moolenaarsyntax match redifFieldPublisherInstitution /^Publisher-Institution:/ skipwhite skipempty nextgroup=redifArgumentProviderInstitution contained
4750187ca0bSBram Moolenaarsyntax match redifFieldPublisherLocation /^Publisher-Location:/ skipwhite skipempty nextgroup=redifArgumentProviderLocation contained
4760187ca0bSBram Moolenaarsyntax match redifFieldPublisherName /^Publisher-Name:/ skipwhite skipempty nextgroup=redifArgumentProviderName contained
4770187ca0bSBram Moolenaarsyntax match redifFieldPublisherNameEnglish /^Publisher-Name-English:/ skipwhite skipempty nextgroup=redifArgumentProviderNameEnglish contained
4780187ca0bSBram Moolenaarsyntax match redifFieldPublisherPhone /^Publisher-Phone:/ skipwhite skipempty nextgroup=redifArgumentProviderPhone contained
4790187ca0bSBram Moolenaarsyntax match redifFieldPublisherPostal /^Publisher-Postal:/ skipwhite skipempty nextgroup=redifArgumentProviderPostal contained
4800187ca0bSBram Moolenaar
4810187ca0bSBram Moolenaarhighlight def link redifFieldPublisherEmail redifFieldDeprecated
4820187ca0bSBram Moolenaarhighlight def link redifFieldPublisherFax redifFieldDeprecated
4830187ca0bSBram Moolenaarhighlight def link redifFieldPublisherHomepage redifFieldDeprecated
4840187ca0bSBram Moolenaarhighlight def link redifFieldPublisherInstitution redifFieldDeprecated
4850187ca0bSBram Moolenaarhighlight def link redifFieldPublisherLocation redifFieldDeprecated
4860187ca0bSBram Moolenaarhighlight def link redifFieldPublisherName redifFieldDeprecated
4870187ca0bSBram Moolenaarhighlight def link redifFieldPublisherNameEnglish redifFieldDeprecated
4880187ca0bSBram Moolenaarhighlight def link redifFieldPublisherPhone redifFieldDeprecated
4890187ca0bSBram Moolenaarhighlight def link redifFieldPublisherPostal redifFieldDeprecated
4900187ca0bSBram Moolenaar
491126bdeeaSBram Moolenaar" Standard arguments
4920187ca0bSBram Moolenaar"    By default, they contain all the argument until another field is started:
4930187ca0bSBram Moolenaar"        start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1
4940187ca0bSBram Moolenaar"    For arguments that must not span more than one line, use a match:
495126bdeeaSBram Moolenaar"        /\%(^\S\{-}:\)\@!\S.*/
4960187ca0bSBram Moolenaar"        AND ADD "display"
4970187ca0bSBram Moolenaar"    This is faster.
4980187ca0bSBram Moolenaar"
4990187ca0bSBram Moolenaar"    Those arguments are not highlighted so far. They are here for future
5000187ca0bSBram Moolenaar"    extensions.
501126bdeeaSBram Moolenaar"    TODO Find more RegEx for these arguments
502126bdeeaSBram Moolenaar"    	TODO Fax, Phone
503126bdeeaSBram Moolenaar"    	TODO URL, Homepage
504126bdeeaSBram Moolenaar"    	TODO Keywords
505126bdeeaSBram Moolenaar"    	TODO Classification-JEL
506126bdeeaSBram Moolenaar"    	TODO Short-Id, Author-Person, Editor-Person
5070187ca0bSBram Moolenaar"
5080187ca0bSBram Moolenaar"    Arguments that may span several lines:
5090187ca0bSBram Moolenaarsyntax region redifArgumentAuthorWorkplaceLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5100187ca0bSBram Moolenaarsyntax region redifArgumentAuthorWorkplacePostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5110187ca0bSBram Moolenaarsyntax region redifArgumentEditorPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5120187ca0bSBram Moolenaarsyntax region redifArgumentEditorWorkplacePostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5130187ca0bSBram Moolenaarsyntax region redifArgumentFileFunction start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5140187ca0bSBram Moolenaarsyntax region redifArgumentIssue start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5150187ca0bSBram Moolenaarsyntax region redifArgumentJournal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5160187ca0bSBram Moolenaarsyntax region redifArgumentOrderPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5170187ca0bSBram Moolenaarsyntax region redifArgumentPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5180187ca0bSBram Moolenaarsyntax region redifArgumentPrice start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5190187ca0bSBram Moolenaarsyntax region redifArgumentPrimaryLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5200187ca0bSBram Moolenaarsyntax region redifArgumentPrimaryPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5210187ca0bSBram Moolenaarsyntax region redifArgumentProviderLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5220187ca0bSBram Moolenaarsyntax region redifArgumentProviderPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5230187ca0bSBram Moolenaarsyntax region redifArgumentQuaternaryLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5240187ca0bSBram Moolenaarsyntax region redifArgumentQuaternaryPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5250187ca0bSBram Moolenaarsyntax region redifArgumentRequires start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5260187ca0bSBram Moolenaarsyntax region redifArgumentSecondaryLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5270187ca0bSBram Moolenaarsyntax region redifArgumentSecondaryPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5280187ca0bSBram Moolenaarsyntax region redifArgumentSize start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5290187ca0bSBram Moolenaarsyntax region redifArgumentTertiaryLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5300187ca0bSBram Moolenaarsyntax region redifArgumentTertiaryPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5310187ca0bSBram Moolenaarsyntax region redifArgumentVersion start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5320187ca0bSBram Moolenaarsyntax region redifArgumentWorkplaceLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5330187ca0bSBram Moolenaarsyntax region redifArgumentWorkplacePhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5340187ca0bSBram Moolenaarsyntax region redifArgumentWorkplacePostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5350187ca0bSBram Moolenaar
5360187ca0bSBram Moolenaar" Arguments that may not span several lines:
5370187ca0bSBram Moolenaar"    If you are sure that these arguments cannot span several lines, change
5380187ca0bSBram Moolenaar"    them to a match:
5390187ca0bSBram Moolenaar"        /\%(^\S\{-}:\)\@!\S.*/
5400187ca0bSBram Moolenaar"    AND ADD "display" after "contained"
5410187ca0bSBram Moolenaar"        You can use this command on each line that you want to change:
5420187ca0bSBram Moolenaar"        :s+\Vregion \(\w\+\) start=/\\%(^\\S\\{-}:\\)\\@!\\S/ end=/^\\S\\{-}:/me=s-1 contained+match \1 /\\%(^\\S\\{-}:\\)\\@!\\S.*/ contained display
5430187ca0bSBram Moolenaarsyntax region redifArgumentAuthorFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5440187ca0bSBram Moolenaarsyntax region redifArgumentAuthorHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5450187ca0bSBram Moolenaarsyntax region redifArgumentAuthorName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5460187ca0bSBram Moolenaarsyntax region redifArgumentAuthorNameFirst start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5470187ca0bSBram Moolenaarsyntax region redifArgumentAuthorNameLast start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5480187ca0bSBram Moolenaarsyntax region redifArgumentAuthorPerson start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5490187ca0bSBram Moolenaarsyntax region redifArgumentAuthorPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5500187ca0bSBram Moolenaarsyntax region redifArgumentAuthorPostal start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5510187ca0bSBram Moolenaarsyntax region redifArgumentAuthorWorkplaceFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5520187ca0bSBram Moolenaarsyntax region redifArgumentAuthorWorkplaceHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5530187ca0bSBram Moolenaarsyntax region redifArgumentAuthorWorkplaceName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5540187ca0bSBram Moolenaarsyntax region redifArgumentAuthorWorkplaceNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5550187ca0bSBram Moolenaarsyntax region redifArgumentAuthorWorkplacePhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5560187ca0bSBram Moolenaarsyntax region redifArgumentEditorFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5570187ca0bSBram Moolenaarsyntax region redifArgumentEditorHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5580187ca0bSBram Moolenaarsyntax region redifArgumentEditorName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5590187ca0bSBram Moolenaarsyntax region redifArgumentEditorNameFirst start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5600187ca0bSBram Moolenaarsyntax region redifArgumentEditorNameLast start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5610187ca0bSBram Moolenaarsyntax region redifArgumentEditorPerson start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5620187ca0bSBram Moolenaarsyntax region redifArgumentEditorPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5630187ca0bSBram Moolenaarsyntax region redifArgumentEditorWorkplaceFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5640187ca0bSBram Moolenaarsyntax region redifArgumentEditorWorkplaceHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5650187ca0bSBram Moolenaarsyntax region redifArgumentEditorWorkplaceLocation start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5660187ca0bSBram Moolenaarsyntax region redifArgumentEditorWorkplaceName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5670187ca0bSBram Moolenaarsyntax region redifArgumentEditorWorkplaceNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5680187ca0bSBram Moolenaarsyntax region redifArgumentEditorWorkplacePhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5690187ca0bSBram Moolenaarsyntax region redifArgumentFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5700187ca0bSBram Moolenaarsyntax region redifArgumentFileURL start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5710187ca0bSBram Moolenaarsyntax region redifArgumentHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5720187ca0bSBram Moolenaarsyntax region redifArgumentMaintainerFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5730187ca0bSBram Moolenaarsyntax region redifArgumentMaintainerName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5740187ca0bSBram Moolenaarsyntax region redifArgumentMaintainerPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5750187ca0bSBram Moolenaarsyntax region redifArgumentNameFirst start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5760187ca0bSBram Moolenaarsyntax region redifArgumentNameFull start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5770187ca0bSBram Moolenaarsyntax region redifArgumentNameLast start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5780187ca0bSBram Moolenaarsyntax region redifArgumentNameMiddle start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5790187ca0bSBram Moolenaarsyntax region redifArgumentNamePrefix start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5800187ca0bSBram Moolenaarsyntax region redifArgumentNameSuffix start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5810187ca0bSBram Moolenaarsyntax region redifArgumentName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
582ff034194SBram Moolenaarsyntax region redifArgumentNumber start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5830187ca0bSBram Moolenaarsyntax region redifArgumentOrderHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5840187ca0bSBram Moolenaarsyntax region redifArgumentOrderURL start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5850187ca0bSBram Moolenaarsyntax region redifArgumentPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5860187ca0bSBram Moolenaarsyntax region redifArgumentPrimaryFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5870187ca0bSBram Moolenaarsyntax region redifArgumentPrimaryHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5880187ca0bSBram Moolenaarsyntax region redifArgumentPrimaryName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5890187ca0bSBram Moolenaarsyntax region redifArgumentPrimaryNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5900187ca0bSBram Moolenaarsyntax region redifArgumentPrimaryPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5910187ca0bSBram Moolenaarsyntax region redifArgumentProviderFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5920187ca0bSBram Moolenaarsyntax region redifArgumentProviderHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5930187ca0bSBram Moolenaarsyntax region redifArgumentProviderName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5940187ca0bSBram Moolenaarsyntax region redifArgumentProviderNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5950187ca0bSBram Moolenaarsyntax region redifArgumentProviderPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5960187ca0bSBram Moolenaarsyntax region redifArgumentQuaternaryFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5970187ca0bSBram Moolenaarsyntax region redifArgumentQuaternaryHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5980187ca0bSBram Moolenaarsyntax region redifArgumentQuaternaryName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
5990187ca0bSBram Moolenaarsyntax region redifArgumentQuaternaryNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
6000187ca0bSBram Moolenaarsyntax region redifArgumentQuaternaryPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
6010187ca0bSBram Moolenaarsyntax region redifArgumentSecondaryFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
6020187ca0bSBram Moolenaarsyntax region redifArgumentSecondaryHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
6030187ca0bSBram Moolenaarsyntax region redifArgumentSecondaryName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
6040187ca0bSBram Moolenaarsyntax region redifArgumentSecondaryNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
6050187ca0bSBram Moolenaarsyntax region redifArgumentSecondaryPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
6060187ca0bSBram Moolenaarsyntax region redifArgumentSeries start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
6070187ca0bSBram Moolenaarsyntax region redifArgumentShortId start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
6080187ca0bSBram Moolenaarsyntax region redifArgumentTertiaryFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
6090187ca0bSBram Moolenaarsyntax region redifArgumentTertiaryHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
6100187ca0bSBram Moolenaarsyntax region redifArgumentTertiaryName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
6110187ca0bSBram Moolenaarsyntax region redifArgumentTertiaryNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
6120187ca0bSBram Moolenaarsyntax region redifArgumentTertiaryPhone start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
6130187ca0bSBram Moolenaarsyntax region redifArgumentURL start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
6140187ca0bSBram Moolenaarsyntax region redifArgumentWorkplaceFax start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
6150187ca0bSBram Moolenaarsyntax region redifArgumentWorkplaceHomepage start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
6160187ca0bSBram Moolenaarsyntax region redifArgumentWorkplaceName start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
6170187ca0bSBram Moolenaarsyntax region redifArgumentWorkplaceNameEnglish start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
6180187ca0bSBram Moolenaarsyntax region redifArgumentWorkplaceOrganization start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contained
619126bdeeaSBram Moolenaar
620126bdeeaSBram Moolenaar" Special arguments
621126bdeeaSBram Moolenaar"    Those arguments require special values
622126bdeeaSBram Moolenaar"    TODO Improve some RegEx
623126bdeeaSBram Moolenaar"    	TODO Improve Emails
624126bdeeaSBram Moolenaar"    	TODO Improve ISBN
625126bdeeaSBram Moolenaar"    	TODO Improve ISSN
626126bdeeaSBram Moolenaar"    	TODO Improve spell check (add words from economics.
627126bdeeaSBram Moolenaar"    	   expl=macroeconometrics, Schumpeterian, IS-LM, etc.)
628126bdeeaSBram Moolenaar"
629126bdeeaSBram Moolenaar"    Template-Type
630126bdeeaSBram Moolenaarsyntax match redifArgumentTemplateType /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectTemplateType contained display
6310187ca0bSBram Moolenaarsyntax match redifCorrectTemplateType /ReDIF-\%(Paper\|Article\|Chapter\|Book\|Software\|Archive\|Series\|Institution\|Person\)/ nextgroup=redifTemplateVersionNumberContainer contained display
6320187ca0bSBram Moolenaarsyntax match redifTemplateVersionNumberContainer /.\+/ contains=redifTemplateVersionNumber contained display
6330187ca0bSBram Moolenaarsyntax match redifTemplateVersionNumber / \d\+\.\d\+/ nextgroup=redifWrongLineEnding contained display
634126bdeeaSBram Moolenaar
635126bdeeaSBram Moolenaarhighlight def link redifArgumentTemplateType redifError
636126bdeeaSBram Moolenaarhighlight def link redifCorrectTemplateType Constant
637126bdeeaSBram Moolenaarhighlight def link redifTemplateVersionNumber Number
6380187ca0bSBram Moolenaarhighlight def link redifTemplateVersionNumberContainer redifError
639126bdeeaSBram Moolenaar
640126bdeeaSBram Moolenaar"    Handles:
641126bdeeaSBram Moolenaar"
642126bdeeaSBram Moolenaar"        Handles of Works:
643126bdeeaSBram Moolenaarsyntax match redifArgumentHandleOfWork /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
644126bdeeaSBram Moolenaarsyntax match redifArgumentAuthorArticle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
645126bdeeaSBram Moolenaarsyntax match redifArgumentAuthorBook /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
646126bdeeaSBram Moolenaarsyntax match redifArgumentAuthorChapter /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
647126bdeeaSBram Moolenaarsyntax match redifArgumentAuthorPaper /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
648126bdeeaSBram Moolenaarsyntax match redifArgumentAuthorSoftware /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
649126bdeeaSBram Moolenaarsyntax match redifArgumentEditorBook /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
650126bdeeaSBram Moolenaarsyntax match redifArgumentEditorSeries /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
651126bdeeaSBram Moolenaarsyntax match redifArgumentInBook /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
652126bdeeaSBram Moolenaarsyntax match redifArgumentHasChapter /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
653126bdeeaSBram Moolenaarsyntax match redifArgumentArticleHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
654126bdeeaSBram Moolenaarsyntax match redifArgumentBookHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
655126bdeeaSBram Moolenaarsyntax match redifArgumentChapterHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
656126bdeeaSBram Moolenaarsyntax match redifArgumentPaperHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
657126bdeeaSBram Moolenaarsyntax match redifArgumentSoftwareHandle /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfWork contained display
6580187ca0bSBram Moolenaarsyntax match redifCorrectHandleOfWork /RePEc:\a\a\a:\%(_\@!\w\)\{6}:\S\+/ contains=redifForbiddenCharactersInHandle,redifBestPracticeInHandle nextgroup=redifWrongLineEnding contained display
659126bdeeaSBram Moolenaar" TODO Are those characters really forbidden???
660126bdeeaSBram Moolenaarsyntax match redifForbiddenCharactersInHandle /[\/*?"<>|]/ contained display
661126bdeeaSBram Moolenaarsyntax 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
662126bdeeaSBram Moolenaar
663126bdeeaSBram Moolenaarhighlight def link redifArgumentHandleOfWork redifError
664126bdeeaSBram Moolenaarhighlight def link redifArgumentAuthorArticle redifError
665126bdeeaSBram Moolenaarhighlight def link redifArgumentAuthorBook redifError
666126bdeeaSBram Moolenaarhighlight def link redifArgumentAuthorChapter redifError
667126bdeeaSBram Moolenaarhighlight def link redifArgumentAuthorPaper redifError
668126bdeeaSBram Moolenaarhighlight def link redifArgumentAuthorSoftware redifError
669126bdeeaSBram Moolenaarhighlight def link redifArgumentEditorBook redifError
670126bdeeaSBram Moolenaarhighlight def link redifArgumentEditorSeries redifError
671126bdeeaSBram Moolenaarhighlight def link redifArgumentInBook redifError
672126bdeeaSBram Moolenaarhighlight def link redifArgumentHasChapter redifError
673126bdeeaSBram Moolenaarhighlight def link redifArgumentArticleHandle redifError
674126bdeeaSBram Moolenaarhighlight def link redifArgumentBookHandle redifError
675126bdeeaSBram Moolenaarhighlight def link redifArgumentChapterHandle redifError
676126bdeeaSBram Moolenaarhighlight def link redifArgumentPaperHandle redifError
677126bdeeaSBram Moolenaarhighlight def link redifArgumentSoftwareHandle redifError
678126bdeeaSBram Moolenaarhighlight def link redifForbiddenCharactersInHandle redifError
679126bdeeaSBram Moolenaarhighlight def link redifBestPracticeInHandle redifSpecial
680126bdeeaSBram Moolenaar
681126bdeeaSBram Moolenaar"        Handles of Series:
682126bdeeaSBram Moolenaarsyntax match redifArgumentHandleOfSeries /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfSeries contained display
683126bdeeaSBram Moolenaarsyntax match redifArgumentFollowup /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfSeries contained display
684126bdeeaSBram Moolenaarsyntax match redifArgumentPredecessor /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfSeries contained display
6850187ca0bSBram Moolenaarsyntax match redifCorrectHandleOfSeries /RePEc:\a\a\a:\%(_\@!\w\)\{6}/ nextgroup=redifWrongLineEnding contained display
686126bdeeaSBram Moolenaar
687126bdeeaSBram Moolenaarhighlight def link redifArgumentHandleOfSeries redifError
688126bdeeaSBram Moolenaarhighlight def link redifArgumentFollowup redifError
689126bdeeaSBram Moolenaarhighlight def link redifArgumentPredecessor redifError
690126bdeeaSBram Moolenaar
691126bdeeaSBram Moolenaar"        Handles of Archives:
692126bdeeaSBram Moolenaarsyntax match redifArgumentHandleOfArchive /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfArchive contained display
6930187ca0bSBram Moolenaarsyntax match redifCorrectHandleOfArchive /RePEc:\a\a\a/ nextgroup=redifWrongLineEnding contained display
694126bdeeaSBram Moolenaar
695126bdeeaSBram Moolenaarhighlight def link redifArgumentHandleOfArchive redifError
696126bdeeaSBram Moolenaar
697126bdeeaSBram Moolenaar"        Handles of Person:
698126bdeeaSBram Moolenaarsyntax match redifArgumentHandleOfPerson /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfPerson contained display
6990187ca0bSBram Moolenaarsyntax 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\+/ nextgroup=redifWrongLineEnding contained display
700126bdeeaSBram Moolenaar
701126bdeeaSBram Moolenaarhighlight def link redifArgumentHandleOfPerson redifError
702126bdeeaSBram Moolenaar
703126bdeeaSBram Moolenaar"        Handles of Institution:
704126bdeeaSBram Moolenaarsyntax match redifArgumentAuthorWorkplaceInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
705126bdeeaSBram Moolenaarsyntax match redifArgumentEditorWorkplaceInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
706126bdeeaSBram Moolenaarsyntax match redifArgumentPrimaryInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
707126bdeeaSBram Moolenaarsyntax match redifArgumentProviderInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
708126bdeeaSBram Moolenaarsyntax match redifArgumentPublisherInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
709126bdeeaSBram Moolenaarsyntax match redifArgumentQuaternaryInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
710126bdeeaSBram Moolenaarsyntax match redifArgumentSecondaryInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
711126bdeeaSBram Moolenaarsyntax match redifArgumentTertiaryInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
712126bdeeaSBram Moolenaarsyntax match redifArgumentWorkplaceInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
713126bdeeaSBram Moolenaarsyntax match redifArgumentHandleOfInstitution /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
714126bdeeaSBram Moolenaarsyntax match redifArgumentPrimaryDefunct /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
715126bdeeaSBram Moolenaarsyntax match redifArgumentSecondaryDefunct /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
716126bdeeaSBram Moolenaarsyntax match redifArgumentTertiaryDefunct /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectHandleOfInstitution contained display
717126bdeeaSBram Moolenaar" TODO Are digits authorized? Apparently not.
718126bdeeaSBram Moolenaar" Country codes:
719126bdeeaSBram Moolenaar" http://www.iso.org/iso/country_codes/iso_3166_code_lists/country_names_and_code_elements.htm
7200187ca0bSBram Moolenaarsyntax 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\)/ nextgroup=redifWrongLineEnding contained display
721126bdeeaSBram Moolenaar
722126bdeeaSBram Moolenaarhighlight def link redifArgumentHandleOfInstitution redifError
723126bdeeaSBram Moolenaarhighlight def link redifArgumentPrimaryDefunct redifError
724126bdeeaSBram Moolenaarhighlight def link redifArgumentSecondaryDefunct redifError
725126bdeeaSBram Moolenaarhighlight def link redifArgumentTertiaryDefunct redifError
726126bdeeaSBram Moolenaar
727126bdeeaSBram Moolenaar"    Emails:
728126bdeeaSBram Moolenaarsyntax match redifArgumentAuthorEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
729126bdeeaSBram Moolenaarsyntax match redifArgumentAuthorWorkplaceEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
730126bdeeaSBram Moolenaarsyntax match redifArgumentContactEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
731126bdeeaSBram Moolenaarsyntax match redifArgumentEditorEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
732126bdeeaSBram Moolenaarsyntax match redifArgumentEditorWorkplaceEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
733126bdeeaSBram Moolenaarsyntax match redifArgumentEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
734126bdeeaSBram Moolenaarsyntax match redifArgumentMaintainerEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
735126bdeeaSBram Moolenaarsyntax match redifArgumentOrderEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
736126bdeeaSBram Moolenaarsyntax match redifArgumentPrimaryEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
737126bdeeaSBram Moolenaarsyntax match redifArgumentProviderEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
738126bdeeaSBram Moolenaarsyntax match redifArgumentPublisherEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
739126bdeeaSBram Moolenaarsyntax match redifArgumentQuaternaryEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
740126bdeeaSBram Moolenaarsyntax match redifArgumentSecondaryEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
741126bdeeaSBram Moolenaarsyntax match redifArgumentTertiaryEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
742126bdeeaSBram Moolenaarsyntax match redifArgumentWorkplaceEmail /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectEmail contained display
7430187ca0bSBram Moolenaarsyntax match redifCorrectEmail /\%(@\@!\S\)\+@\%(@\@!\S\)\+/ nextgroup=redifWrongLineEnding contained display
744126bdeeaSBram Moolenaar
745126bdeeaSBram Moolenaarhighlight def link redifArgumentAuthorEmail redifError
746126bdeeaSBram Moolenaarhighlight def link redifArgumentAuthorWorkplaceEmail redifError
747126bdeeaSBram Moolenaarhighlight def link redifArgumentContactEmail redifError
748126bdeeaSBram Moolenaarhighlight def link redifArgumentEditorEmail redifError
749126bdeeaSBram Moolenaarhighlight def link redifArgumentEditorWorkplaceEmail redifError
750126bdeeaSBram Moolenaarhighlight def link redifArgumentEmail redifError
751126bdeeaSBram Moolenaarhighlight def link redifArgumentMaintainerEmail redifError
752126bdeeaSBram Moolenaarhighlight def link redifArgumentOrderEmail redifError
753126bdeeaSBram Moolenaarhighlight def link redifArgumentPrimaryEmail redifError
754126bdeeaSBram Moolenaarhighlight def link redifArgumentProviderEmail redifError
755126bdeeaSBram Moolenaarhighlight def link redifArgumentPublisherEmail redifError
756126bdeeaSBram Moolenaarhighlight def link redifArgumentQuaternaryEmail redifError
757126bdeeaSBram Moolenaarhighlight def link redifArgumentSecondaryEmail redifError
758126bdeeaSBram Moolenaarhighlight def link redifArgumentTertiaryEmail redifError
759126bdeeaSBram Moolenaarhighlight def link redifArgumentWorkplaceEmail redifError
760126bdeeaSBram Moolenaar
761126bdeeaSBram Moolenaar"    Language
762126bdeeaSBram Moolenaar"    Source: https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes
763126bdeeaSBram Moolenaarsyntax match redifArgumentLanguage /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectLanguage contained display
7640187ca0bSBram Moolenaarsyntax 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\)\>/ nextgroup=redifWrongLineEnding contained display
765126bdeeaSBram Moolenaar
766126bdeeaSBram Moolenaarhighlight def link redifArgumentLanguage redifError
767126bdeeaSBram Moolenaarhighlight def link redifCorrectLanguage redifSpecial
768126bdeeaSBram Moolenaar
769126bdeeaSBram Moolenaar"    Length
770126bdeeaSBram Moolenaar"    Based on the example in the documentation. But apparently any field is
771126bdeeaSBram Moolenaar"    possible
7720187ca0bSBram Moolenaarsyntax region redifArgumentLength start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=redifGoodLength contained
773126bdeeaSBram Moolenaarsyntax match redifGoodLength /1 page\|[1-9]\d*\%( pages\)\=/ contained display
774126bdeeaSBram Moolenaar
775126bdeeaSBram Moolenaarhighlight def link redifGoodLength redifSpecial
776126bdeeaSBram Moolenaar
777126bdeeaSBram Moolenaar"    Publication-Type
778126bdeeaSBram Moolenaarsyntax match redifArgumentPublicationType /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectPublicationType contained display
7790187ca0bSBram Moolenaarsyntax match redifCorrectPublicationType /\<\(journal article\|book\|book chapter\|working paper\|conference paper\|report\|other\)\>/ nextgroup=redifWrongLineEnding contained display
780126bdeeaSBram Moolenaar
781126bdeeaSBram Moolenaarhighlight def link redifArgumentPublicationType redifError
782126bdeeaSBram Moolenaarhighlight def link redifCorrectPublicationType redifSpecial
783126bdeeaSBram Moolenaar
784126bdeeaSBram Moolenaar"    Publication-Status
7850187ca0bSBram Moolenaarsyntax region redifArgumentPublicationStatus start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=redifSpecialPublicationStatus contained
7860187ca0bSBram Moolenaarsyntax match redifSpecialPublicationStatus /published\|forthcoming/ nextgroup=redifCorrectPublicationStatus contained display
7870187ca0bSBram Moolenaarsyntax region redifCorrectPublicationStatus start=/./ end=/^\S\{-}:/me=s-1 contained
788126bdeeaSBram Moolenaar
789126bdeeaSBram Moolenaarhighlight def link redifArgumentPublicationStatus redifError
790126bdeeaSBram Moolenaarhighlight def link redifSpecialPublicationStatus redifSpecial
791126bdeeaSBram Moolenaar
792126bdeeaSBram Moolenaar"    Month
793126bdeeaSBram Moolenaar"    TODO Are numbers also allowed?
794126bdeeaSBram Moolenaarsyntax match redifArgumentMonth /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodMonth contained display
795ff034194SBram Moolenaarsyntax 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
796126bdeeaSBram Moolenaar
797126bdeeaSBram Moolenaarhighlight def link redifGoodMonth redifSpecial
798126bdeeaSBram Moolenaar
799ff034194SBram Moolenaar"    Integers: Volume, Chapter
800126bdeeaSBram Moolenaarsyntax match redifArgumentVolume /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectInteger contained display
801126bdeeaSBram Moolenaarsyntax match redifArgumentChapter /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectInteger contained display
8020187ca0bSBram Moolenaarsyntax match redifCorrectInteger /[1-9]\d*/ nextgroup=redifWrongLineEnding contained display
803126bdeeaSBram Moolenaar
804126bdeeaSBram Moolenaarhighlight def link redifArgumentVolume redifError
805126bdeeaSBram Moolenaarhighlight def link redifArgumentChapter redifError
806126bdeeaSBram Moolenaar
807126bdeeaSBram Moolenaar"    Year
808126bdeeaSBram Moolenaarsyntax match redifArgumentYear /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectYear contained display
8090187ca0bSBram Moolenaarsyntax match redifCorrectYear /[1-9]\d\{3}/ nextgroup=redifWrongLineEnding contained display
810126bdeeaSBram Moolenaar
811126bdeeaSBram Moolenaarhighlight def link redifArgumentYear redifError
812126bdeeaSBram Moolenaar
813126bdeeaSBram Moolenaar"    Edition
814126bdeeaSBram Moolenaar"    Based on the example in the documentation.
815126bdeeaSBram Moolenaarsyntax match redifArgumentEdition /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodEdition contained display
816ff034194SBram Moolenaarsyntax match redifGoodEdition /1st\|2nd\|3rd\|[4-9]th\|[1-9]\d*\%(1st\|2nd\|3rd\|[4-9]th\)\|[1-9]\d*/ contained display
817126bdeeaSBram Moolenaar
818126bdeeaSBram Moolenaarhighlight def link redifGoodEdition redifSpecial
819126bdeeaSBram Moolenaar
820126bdeeaSBram Moolenaar"    ISBN
821126bdeeaSBram Moolenaarsyntax match redifArgumentISBN /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodISBN contained display
822ff034194SBram Moolenaarsyntax match redifGoodISBN /\d[0-9-]\{8,15}\d/ contained display
823126bdeeaSBram Moolenaar
824126bdeeaSBram Moolenaarhighlight def link redifGoodISBN redifSpecial
825126bdeeaSBram Moolenaar
826126bdeeaSBram Moolenaar"    ISSN
827126bdeeaSBram Moolenaarsyntax match redifArgumentISSN /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodISSN contained display
828ff034194SBram Moolenaarsyntax match redifGoodISSN /\d\{4}-\d\{3}[0-9X]/ contained display
829126bdeeaSBram Moolenaar
830126bdeeaSBram Moolenaarhighlight def link redifGoodISSN redifSpecial
831126bdeeaSBram Moolenaar
832126bdeeaSBram Moolenaar"    File-Size
833126bdeeaSBram Moolenaar"    Based on the example in the documentation.
8340187ca0bSBram Moolenaarsyntax region redifArgumentFileSize start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=redifGoodSize contained
835126bdeeaSBram Moolenaarsyntax match redifGoodSize /kb\|bytes/ contained display
836126bdeeaSBram Moolenaar
837126bdeeaSBram Moolenaarhighlight def link redifGoodSize redifSpecial
838126bdeeaSBram Moolenaar
839126bdeeaSBram Moolenaar"    Type
840126bdeeaSBram Moolenaarsyntax match redifArgumentType /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectType contained display
8410187ca0bSBram Moolenaarsyntax match redifCorrectType /ReDIF-Paper\|ReDIF-Software\|ReDIF-Article\|ReDIF-Chapter\|ReDIF-Book/ nextgroup=redifWrongLineEnding contained display
842126bdeeaSBram Moolenaar
843126bdeeaSBram Moolenaarhighlight def link redifArgumentType redifError
844126bdeeaSBram Moolenaarhighlight def link redifCorrectType redifSpecial
845126bdeeaSBram Moolenaar
846126bdeeaSBram Moolenaar"    Dates: Publication-Date, Creation-Date, Revision-Date,
847126bdeeaSBram Moolenaar"    Last-Login-Date, Registration-Date
848126bdeeaSBram Moolenaarsyntax match redifArgumentCreationDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display
849126bdeeaSBram Moolenaarsyntax match redifArgumentLastLoginDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display
850126bdeeaSBram Moolenaarsyntax match redifArgumentPublicationDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display
851126bdeeaSBram Moolenaarsyntax match redifArgumentRegisteredDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display
852126bdeeaSBram Moolenaarsyntax match redifArgumentRevisionDate /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectDate contained display
8530187ca0bSBram Moolenaarsyntax 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]\)\=\)\=/ nextgroup=redifWrongLineEnding contained display
854126bdeeaSBram Moolenaar
855126bdeeaSBram Moolenaarhighlight def link redifArgumentCreationDate redifError
856126bdeeaSBram Moolenaarhighlight def link redifArgumentLastLoginDate redifError
857126bdeeaSBram Moolenaarhighlight def link redifArgumentPublicationDate redifError
858126bdeeaSBram Moolenaarhighlight def link redifArgumentRegisteredDate redifError
859126bdeeaSBram Moolenaarhighlight def link redifArgumentRevisionDate redifError
860126bdeeaSBram Moolenaar
861126bdeeaSBram Moolenaar"    Classification-JEL
862126bdeeaSBram Moolenaarsyntax match redifArgumentClassificationJEL /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectJEL contained display
863ff034194SBram Moolenaarsyntax match redifCorrectJEL /\<\%(\u\d\{,2}[,; \t]\s*\)*\u\d\{,2}/ contains=redifSpecialJEL nextgroup=redifWrongLineEnding contained display
864126bdeeaSBram Moolenaarsyntax match redifSpecialJEL /\<\u\d\{,2}/ contained display
865126bdeeaSBram Moolenaar
866126bdeeaSBram Moolenaarhighlight def link redifArgumentClassificationJEL redifError
867126bdeeaSBram Moolenaarhighlight def link redifSpecialJEL redifSpecial
868126bdeeaSBram Moolenaar
869126bdeeaSBram Moolenaar"    Pages
870126bdeeaSBram Moolenaarsyntax match redifArgumentPages /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectPages contained display
8710187ca0bSBram Moolenaarsyntax match redifCorrectPages /[1-9]\d*-[1-9]\d*/ nextgroup=redifWrongLineEnding contained display
872126bdeeaSBram Moolenaar
873126bdeeaSBram Moolenaarhighlight def link redifArgumentPages redifError
874126bdeeaSBram Moolenaar
875126bdeeaSBram Moolenaar"    Name-ASCII
876126bdeeaSBram Moolenaarsyntax match redifArgumentNameASCII /\%(^\S\{-}:\)\@!\S.*/ contains=redifCorrectNameASCII contained display
877126bdeeaSBram Moolenaarsyntax match redifCorrectNameASCII /[ -~]/ contained display
878126bdeeaSBram Moolenaar
879126bdeeaSBram Moolenaarhighlight def link redifArgumentNameASCII redifError
880126bdeeaSBram Moolenaar
881126bdeeaSBram Moolenaar"    Programming-Language
882126bdeeaSBram Moolenaarsyntax match redifArgumentProgrammingLanguage /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodProgrammingLanguage contained display
8830187ca0bSBram Moolenaarsyntax 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\)\>/ nextgroup=redifWrongLineEnding contained display
884126bdeeaSBram Moolenaar
885126bdeeaSBram Moolenaarhighlight def link redifGoodProgrammingLanguage redifSpecial
886126bdeeaSBram Moolenaar
887126bdeeaSBram Moolenaar"    File-Format
888126bdeeaSBram Moolenaar"    TODO The link in the documentation that gives the list of possible formats is broken.
889126bdeeaSBram Moolenaar"    ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/media-types
890126bdeeaSBram Moolenaar"    These are based on the examples in the documentation.
891126bdeeaSBram Moolenaarsyntax match redifArgumentFileFormat /\%(^\S\{-}:\)\@!\S.*/ contains=redifGoodFormat contained display
8920187ca0bSBram Moolenaarsyntax match redifGoodFormat "\a\+/[[:alpha:]+-]\+" nextgroup=redifWrongLineEnding contains=redifSpecialFormat contained display
8930187ca0bSBram Moolenaarsyntax match redifSpecialFormat "application/atom+xml\|application/ecmascript\|application/EDI-X12\|application/EDIFACT\|application/json\|application/javascript\|application/octet-stream\|application/ogg\|application/pdf\|application/postscript\|application/rdf+xml\|application/rss+xml\|application/soap+xml\|application/font-woff\|application/xhtml+xml\|application/xml\|application/xml-dtd\|application/xop+xml\|application/zip\|application/gzip\|audio/basic\|audio/L24\|audio/mp4\|audio/mpeg\|audio/ogg\|audio/vorbis\|audio/vnd.rn-realaudio\|audio/vnd.wave\|audio/webm\|image/gif\|image/jpeg\|image/pjpeg\|image/png\|image/svg+xml\|image/tiff\|image/vnd.microsoft.icon\|message/http\|message/imdn+xml\|message/partial\|message/rfc822\|model/example\|model/iges\|model/mesh\|model/vrml\|model/x3d+binary\|model/x3d+vrml\|model/x3d+xml\|multipart/mixed\|multipart/alternative\|multipart/related\|multipart/form-data\|multipart/signed\|multipart/encrypted\|text/cmd\|text/css\|text/csv\|text/html\|text/javascript\|text/plain\|text/vcard\|text/xml\|video/mpeg\|video/mp4\|video/ogg\|video/quicktime\|video/webm\|video/x-matroska\|video/x-ms-wmv\|video/x-flv" contained display
894126bdeeaSBram Moolenaar
8950187ca0bSBram Moolenaarhighlight def link redifSpecialFormat redifSpecial
8960187ca0bSBram Moolenaarhighlight def link redifArgumentFileFormat redifError
897126bdeeaSBram Moolenaar
8980187ca0bSBram Moolenaar" Keywords
8990187ca0bSBram Moolenaar"     Spell checked
9000187ca0bSBram Moolenaarsyntax match redifArgumentKeywords /\%(^\S\{-}:\)\@!\S.*/ contains=@Spell,redifKeywordsSemicolon contained
9010187ca0bSBram Moolenaarsyntax match redifKeywordsSemicolon /;/ contained
9020187ca0bSBram Moolenaar
9030187ca0bSBram Moolenaarhighlight def link redifKeywordsSemicolon redifSpecial
9040187ca0bSBram Moolenaar
9050187ca0bSBram Moolenaar" Other spell-checked arguments
906126bdeeaSBram Moolenaar"    Very useful when copy-pasting abstracts that may contain hyphens or
907126bdeeaSBram Moolenaar"    ligatures.
9080187ca0bSBram Moolenaarsyntax region redifArgumentAbstract start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
9090187ca0bSBram Moolenaarsyntax region redifArgumentAvailability start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
9100187ca0bSBram Moolenaarsyntax region redifArgumentBookTitle start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
9110187ca0bSBram Moolenaarsyntax region redifArgumentDescription start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
9120187ca0bSBram Moolenaarsyntax region redifArgumentFileRestriction start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
9130187ca0bSBram Moolenaarsyntax region redifArgumentNote start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
9140187ca0bSBram Moolenaarsyntax region redifArgumentNotification start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
9150187ca0bSBram Moolenaarsyntax region redifArgumentRestriction start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
9160187ca0bSBram Moolenaarsyntax region redifArgumentTitle start=/\%(^\S\{-}:\)\@!\S/ end=/^\S\{-}:/me=s-1 contains=@Spell contained
9170187ca0bSBram Moolenaar
9180187ca0bSBram Moolenaar" Wrong line ending
9190187ca0bSBram Moolenaarsyntax match redifWrongLineEnding /.\+/ contained display
9200187ca0bSBram Moolenaar
9210187ca0bSBram Moolenaarhighlight def link redifWrongLineEnding redifError
922126bdeeaSBram Moolenaar
923126bdeeaSBram Moolenaar" Final highlight
924126bdeeaSBram Moolenaarhighlight def link redifComment Comment
925126bdeeaSBram Moolenaarhighlight def link redifError Error
926126bdeeaSBram Moolenaarhighlight def link redifField Identifier
9270187ca0bSBram Moolenaarhighlight def link redifFieldDeprecated Identifier
928126bdeeaSBram Moolenaarhighlight def link redifSpecial Special
9290187ca0bSBram Moolenaar" For deprecated fields:
9300187ca0bSBram Moolenaarhighlight redifFieldDeprecated term=undercurl cterm=undercurl gui=undercurl guisp=DarkGrey
9310187ca0bSBram Moolenaar
9320187ca0bSBram Moolenaar" Sync: The template-type (ReDIF-Paper, ReDIF-Archive, etc.) influences which
9330187ca0bSBram Moolenaar" fields can follow. Thus sync must search backwards for it.
9340187ca0bSBram Moolenaar"
935*6aa57295SBram Moolenaar" I would like to simply ask VIM to search backward for the first occurrence of
9360187ca0bSBram Moolenaar" /^Template-Type:/, but it does not seem to be possible, so I have to start
9370187ca0bSBram Moolenaar" from the beginning of the file... This might slow down a lot for files that
9380187ca0bSBram Moolenaar" contain a lot of Template-Type statements.
9390187ca0bSBram Moolenaarsyntax sync fromstart
9400187ca0bSBram Moolenaar
9410187ca0bSBram Moolenaar" The problem with syntax sync match (tried below), it is that, for example,
9420187ca0bSBram Moolenaar" it cannot realize when it is inside a Author-Name cluster, which is inside a
9430187ca0bSBram Moolenaar" Template-Type template...
9440187ca0bSBram Moolenaar"
9450187ca0bSBram Moolenaar" TODO Is this linecont pattern really useful? It seems to work anyway...
9460187ca0bSBram Moolenaar"syntax sync linecont /^\(Template-Type:\)\=\s*$/
9470187ca0bSBram Moolenaar" TODO This sync is surprising... It seems to work on several lines even
9480187ca0bSBram Moolenaar" though I replaced \_s* by \s*, even without the linecont pattern...
9490187ca0bSBram Moolenaar"syntax sync match redifSyncForTemplatePaper groupthere redifRegionTemplatePaper /^Template-Type:\s*ReDIF-Paper \d\+\.\d\+/
9500187ca0bSBram Moolenaar"syntax sync match redifSyncForTemplateArticle groupthere redifRegionTemplateArticle /^Template-Type:\s*ReDIF-Article \d\+\.\d\+/
9510187ca0bSBram Moolenaar"syntax sync match redifSyncForTemplateChapter groupthere redifRegionTemplateChapter /^Template-Type:\s*ReDIF-Chapter \d\+\.\d\+/
9520187ca0bSBram Moolenaar"syntax sync match redifSyncForTemplateBook groupthere redifRegionTemplateBook /^Template-Type:\s*ReDIF-Book \d\+\.\d\+/
9530187ca0bSBram Moolenaar"syntax sync match redifSyncForTemplateSoftware groupthere redifRegionTemplateSoftware /^Template-Type:\s*ReDIF-Software \d\+\.\d\+/
9540187ca0bSBram Moolenaar"syntax sync match redifSyncForTemplateArchive groupthere redifRegionTemplateArchive /^Template-Type:\s*ReDIF-Archive \d\+\.\d\+/
9550187ca0bSBram Moolenaar"syntax sync match redifSyncForTemplateSeries groupthere redifRegionTemplateSeries /^Template-Type:\s*ReDIF-Series \d\+\.\d\+/
9560187ca0bSBram Moolenaar"syntax sync match redifSyncForTemplateInstitution groupthere redifRegionTemplateInstitution /^Template-Type:\s*ReDIF-Institution \d\+\.\d\+/
9570187ca0bSBram Moolenaar"syntax sync match redifSyncForTemplatePerson groupthere redifRegionTemplatePerson /^Template-Type:\s*ReDIF-Person \d\+\.\d\+/
9580187ca0bSBram Moolenaar
9590187ca0bSBram Moolenaar" I do not really know how sync linebreaks works, but it helps when making
9600187ca0bSBram Moolenaar" changes on the argument when this argument is not on the same line than its
9610187ca0bSBram Moolenaar" field. I just assume that people won't leave more than one line of
9620187ca0bSBram Moolenaar" whitespace between fields and arguments (which is already very unlikely)
9630187ca0bSBram Moolenaar" hence the value of 2.
9640187ca0bSBram Moolenaarsyntax sync linebreaks=2
9650187ca0bSBram Moolenaar
9660187ca0bSBram Moolenaar" Since folding is defined by the syntax, set foldmethod to syntax.
9670187ca0bSBram Moolenaarset foldmethod=syntax
968126bdeeaSBram Moolenaar
969126bdeeaSBram Moolenaar" Set "b:current_syntax" to the name of the syntax at the end:
970126bdeeaSBram Moolenaarlet b:current_syntax="redif"
971