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