1" Vim syntax file
2" Language:	AceDB model files
3" Maintainer:	Stewart Morris (Stewart.Morris@ed.ac.uk)
4" Last change:	Thu Apr 26 10:38:01 BST 2001
5" URL:		http://www.ed.ac.uk/~swmorris/vim/acedb.vim
6
7" Syntax file to handle all $ACEDB/wspec/*.wrm files, primarily models.wrm
8" AceDB software is available from http://www.acedb.org
9
10" For version 5.x: Clear all syntax items
11" For version 6.x: Quit when a syntax file was already loaded
12if version < 600
13  syntax clear
14elseif exists("b:current_syntax")
15  finish
16endif
17
18syn keyword	acedbXref	XREF
19syn keyword	acedbModifier	UNIQUE REPEAT
20
21syn case ignore
22syn keyword	acedbModifier	Constraints
23syn keyword	acedbType	DateType Int Text Float
24
25" Magic tags from: http://genome.cornell.edu/acedocs/magic/summary.html
26syn keyword	acedbMagic	pick_me_to_call No_cache Non_graphic Title
27syn keyword	acedbMagic	Flipped Centre Extent View Default_view
28syn keyword	acedbMagic	From_map Minimal_view Main_Marker Map Includes
29syn keyword	acedbMagic	Mapping_data More_data Position Ends Left Right
30syn keyword	acedbMagic	Multi_Position Multi_Ends With Error Relative
31syn keyword	acedbMagic	Min Anchor Gmap Grid_map Grid Submenus Cambridge
32syn keyword	acedbMagic	No_buttons Columns Colour Surround_colour Tag
33syn keyword	acedbMagic	Scale_unit Cursor Cursor_on Cursor_unit
34syn keyword	acedbMagic	Locator Magnification Projection_lines_on
35syn keyword	acedbMagic	Marker_points Marker_intervals Contigs
36syn keyword	acedbMagic	Physical_genes Two_point Multi_point Likelihood
37syn keyword	acedbMagic	Point_query Point_yellow Point_width
38syn keyword	acedbMagic	Point_pne Point_pe Point_nne Point_ne
39syn keyword	acedbMagic	Derived_tags DT_query DT_width DT_no_duplicates
40syn keyword	acedbMagic	RH_data RH_query RH_spacing RH_show_all
41syn keyword	acedbMagic	Names_on Width Symbol Colours Pne Pe Nne pMap
42syn keyword	acedbMagic	Sequence Gridded FingerPrint In_Situ Cosmid_grid
43syn keyword	acedbMagic	Layout Lines_at Space_at No_stagger A1_labelling
44syn keyword	acedbMagic	DNA Structure From Source Source_Exons
45syn keyword	acedbMagic	Coding CDS Transcript Assembly_tags Allele
46syn keyword	acedbMagic	Display Colour Frame_sensitive Strand_sensitive
47syn keyword	acedbMagic	Score_bounds Percent Bumpable Width Symbol
48syn keyword	acedbMagic	Blixem_N Address E_mail Paper Reference Title
49syn keyword	acedbMagic	Point_1 Point_2 Calculation Full One_recombinant
50syn keyword	acedbMagic	Tested Selected_trans Backcross Back_one
51syn keyword	acedbMagic	Dom_semi Dom_let Direct Complex_mixed Calc
52syn keyword	acedbMagic	Calc_upper_conf Item_1 Item_2 Results A_non_B
53syn keyword	acedbMagic	Score Score_by_offset Score_by_width
54syn keyword	acedbMagic	Right_priority Blastn Blixem Blixem_X
55syn keyword	acedbMagic	Journal Year Volume Page Author
56syn keyword	acedbMagic	Selected One_all Recs_all One_let
57syn keyword	acedbMagic	Sex_full Sex_one Sex_cis Dom_one Dom_selected
58syn keyword	acedbMagic	Calc_distance Calc_lower_conf Canon_for_cosmid
59syn keyword	acedbMagic	Reversed_physical Points Positive Negative
60syn keyword	acedbMagic	Point_error_scale Point_segregate_ordered
61syn keyword	acedbMagic	Point_symbol Interval_JTM Interval_RD
62syn keyword	acedbMagic	EMBL_feature Homol Feature
63syn keyword	acedbMagic	DT_tag Spacer Spacer_colour Spacer_width
64syn keyword	acedbMagic	RH_positive RH_negative RH_contradictory Query
65syn keyword	acedbMagic	Clone Y_remark PCR_remark Hybridizes_to
66syn keyword	acedbMagic	Row Virtual_row Mixed In_pool Subpool B_non_A
67syn keyword	acedbMagic	Interval_SRK Point_show_marginal Subsequence
68syn keyword	acedbMagic	Visible Properties Transposon
69
70syn match	acedbClass	"^?\w\+\|^#\w\+"
71syn match	acedbComment	"//.*"
72syn region	acedbComment	start="/\*" end="\*/"
73syn match	acedbComment	"^#\W.*"
74syn match	acedbHelp	"^\*\*\w\+$"
75syn match	acedbTag	"[^^]?\w\+\|[^^]#\w\+"
76syn match	acedbBlock	"//#.\+#$"
77syn match	acedbOption	"^_[DVH]\S\+"
78syn match	acedbFlag	"\s\+-\h\+"
79syn match	acedbSubclass	"^Class"
80syn match	acedbSubtag	"^Visible\|^Is_a_subclass_of\|^Filter\|^Hidden"
81syn match	acedbNumber	"\<\d\+\>"
82syn match	acedbNumber	"\<\d\+\.\d\+\>"
83syn match	acedbHyb	"\<Positive_\w\+\>\|\<Negative\w\+\>"
84syn region	acedbString	start=/"/ end=/"/ skip=/\\"/ oneline
85
86" Rest of syntax highlighting rules start here
87
88" Define the default highlighting.
89" For version 5.7 and earlier: only when not done already
90" For version 5.8 and later: only when an item doesn't have highlighting yet
91if version >= 508 || !exists("did_acedb_syn_inits")
92  if version < 508
93    let did_acedb_syn_inits = 1
94    command -nargs=+ HiLink hi link <args>
95  else
96    command -nargs=+ HiLink hi def link <args>
97  endif
98
99  HiLink acedbMagic	Special
100  HiLink acedbHyb	Special
101  HiLink acedbType	Type
102  HiLink acedbOption	Type
103  HiLink acedbSubclass	Type
104  HiLink acedbSubtag	Include
105  HiLink acedbFlag	Include
106  HiLink acedbTag	Include
107  HiLink acedbClass	Todo
108  HiLink acedbHelp	Todo
109  HiLink acedbXref	Identifier
110  HiLink acedbModifier	Label
111  HiLink acedbComment	Comment
112  HiLink acedbBlock	ModeMsg
113  HiLink acedbNumber	Number
114  HiLink acedbString	String
115
116  delcommand HiLink
117endif
118
119let b:current_syntax = "acedb"
120
121" The structure of the model.wrm file is sensitive to mixed tab and space
122" indentation and assumes tabs are 8 so...
123se ts=8
124