blob: 1a378e8175435edcd2f7fe5c95b8f21339ca9fa3 [file] [log] [blame]
Bram Moolenaar56994d22021-04-17 16:31:09 +02001" Vim syntax file
2" Language: Modula-3 Makefile
3" Maintainer: Doug Kearns <dougkearns@gmail.com>
4" Last Change: 2021 April 15
5
6if exists("b:current_syntax")
7 finish
8endif
9
10runtime! syntax/m3quake.vim
11
12" Identifiers
13syn match m3buildPredefinedVariable "\<\%(TARGET\|OS_TYPE\|BUILD_DIR\|PKG_USE\|WDROOT\)\>"
14
15" Build Procedures {{{1
16" Generated from cm3/m3-sys/cm3/src/M3Build.m3
17syn keyword m3buildProcedure HasCBackend
18
19" (* packages & locations *)
20syn keyword m3buildProcedure Pkg
21syn keyword m3buildProcedure override
22syn keyword m3buildProcedure path_of
23syn keyword m3buildProcedure pkg_subdir
24
25" (* names *)
26syn keyword m3buildProcedure program_name
27syn keyword m3buildProcedure library_name
28
29" (* calls in the generated .M3EXPORT files *)
30syn keyword m3buildProcedure _define_lib
31syn keyword m3buildProcedure _define_pgm
32syn keyword m3buildProcedure _import_template
33syn keyword m3buildProcedure _import_m3lib
34syn keyword m3buildProcedure _import_otherlib
35syn keyword m3buildProcedure _map_add_interface
36syn keyword m3buildProcedure _map_add_generic_interface
37syn keyword m3buildProcedure _map_add_module
38syn keyword m3buildProcedure _map_add_generic_module
39syn keyword m3buildProcedure _map_add_c
40syn keyword m3buildProcedure _map_add_h
41syn keyword m3buildProcedure _map_add_s
42
43" (* compiler options *)
44syn keyword m3buildProcedure m3_debug
45syn keyword m3buildProcedure m3_optimize
46syn keyword m3buildProcedure build_shared
47syn keyword m3buildProcedure build_standalone
48
49" (* derived files *)
50syn keyword m3buildProcedure m3_compile_only
51syn keyword m3buildProcedure m3_finish_up
52
53" (* predefined system libraries *)
54syn keyword m3buildProcedure import_sys_lib
55
56" (* options *)
57syn keyword m3buildProcedure m3_option
58syn keyword m3buildProcedure remove_m3_option
59
60" (* deleting *)
61syn keyword m3buildProcedure deriveds
62
63" (* imports *)
64syn keyword m3buildProcedure include_dir
65syn keyword m3buildProcedure include_pkg
66syn keyword m3buildProcedure import
67syn keyword m3buildProcedure import_version
68syn keyword m3buildProcedure import_obj
69syn keyword m3buildProcedure import_lib
70
71" (* objects *)
72syn keyword m3buildProcedure pgm_object
73
74" (* sources *)
75syn keyword m3buildProcedure source
76syn keyword m3buildProcedure pgm_source
77syn keyword m3buildProcedure interface
78syn keyword m3buildProcedure Interface
79syn keyword m3buildProcedure implementation
80syn keyword m3buildProcedure module
81syn keyword m3buildProcedure Module
82syn keyword m3buildProcedure h_source
83syn keyword m3buildProcedure c_source
84syn keyword m3buildProcedure s_source
85syn keyword m3buildProcedure ship_source
86
87" (* generics *)
88syn keyword m3buildProcedure generic_interface
89syn keyword m3buildProcedure Generic_interface
90syn keyword m3buildProcedure generic_implementation
91syn keyword m3buildProcedure Generic_implementation
92syn keyword m3buildProcedure generic_module
93syn keyword m3buildProcedure Generic_module
94syn keyword m3buildProcedure build_generic_intf
95syn keyword m3buildProcedure build_generic_impl
96
97" (* derived sources *)
98syn keyword m3buildProcedure derived_interface
99syn keyword m3buildProcedure derived_implementation
100syn keyword m3buildProcedure derived_c
101syn keyword m3buildProcedure derived_h
102
103" (* hiding/exporting *)
104syn keyword m3buildProcedure hide_interface
105syn keyword m3buildProcedure hide_generic_interface
106syn keyword m3buildProcedure hide_generic_implementation
107syn keyword m3buildProcedure export_interface
108syn keyword m3buildProcedure export_generic_interface
109syn keyword m3buildProcedure export_generic_implementation
110
111" (* templates *)
112syn keyword m3buildProcedure template
113
114" (* library building *)
115syn keyword m3buildProcedure library
116syn keyword m3buildProcedure Library
117
118" (* program building *)
119syn keyword m3buildProcedure program
120syn keyword m3buildProcedure Program
121syn keyword m3buildProcedure c_program
122syn keyword m3buildProcedure C_program
123
124" (* man pages *)
125syn keyword m3buildProcedure manPage
126syn keyword m3buildProcedure ManPage
127
128" (* emacs *)
129syn keyword m3buildProcedure Gnuemacs
130syn keyword m3buildProcedure CompiledGnuemacs
131
132" (* "-find" support *)
133syn keyword m3buildProcedure find_unit
134syn keyword m3buildProcedure enum_units
135
136" (* export functions *)
137syn keyword m3buildProcedure install_sources
138syn keyword m3buildProcedure install_derived
139syn keyword m3buildProcedure install_derived_link
140syn keyword m3buildProcedure install_derived_symbolic_link
141syn keyword m3buildProcedure install_derived_hard_link
142syn keyword m3buildProcedure install_link_to_derived
143syn keyword m3buildProcedure install_symbolic_link_to_derived
144syn keyword m3buildProcedure install_hard_link_to_derived
145syn keyword m3buildProcedure install_symbolic_link
146syn keyword m3buildProcedure install_file
147
148" (* installation functions *)
149syn keyword m3buildProcedure BindExport
150syn keyword m3buildProcedure BinExport
151syn keyword m3buildProcedure LibdExport
152syn keyword m3buildProcedure LibExport
153syn keyword m3buildProcedure EmacsdExport
154syn keyword m3buildProcedure EmacsExport
155syn keyword m3buildProcedure DocdExport
156syn keyword m3buildProcedure DocExport
157syn keyword m3buildProcedure MandExport
158syn keyword m3buildProcedure ManExport
159syn keyword m3buildProcedure HtmlExport
160syn keyword m3buildProcedure RootExport
161syn keyword m3buildProcedure RootdExport
162
163" (* misc *)
164syn keyword m3buildProcedure gen_m3exports
165syn keyword m3buildProcedure generate_tfile
166syn keyword m3buildProcedure delete_file
167syn keyword m3buildProcedure link_file
168syn keyword m3buildProcedure symbolic_link_file
169syn keyword m3buildProcedure hard_link_file
170" }}}
171
172hi def link m3buildPredefinedVariable Identifier
173hi def link m3buildProcedure Function
174
175let b:current_syntax = "m3build"
176
177" vim: nowrap sw=2 sts=2 ts=8 noet fdm=marker: