Bram Moolenaar | 86b4816 | 2022-12-06 18:20:10 +0000 | [diff] [blame] | 1 | " Vim syntax file |
| 2 | " Language: wdl |
| 3 | " Maintainer: Matt Dunford (zenmatic@gmail.com) |
| 4 | " URL: https://github.com/zenmatic/vim-syntax-wdl |
| 5 | " Last Change: 2022 Nov 24 |
| 6 | |
| 7 | " https://github.com/openwdl/wdl |
| 8 | |
| 9 | " quit when a (custom) syntax file was already loaded |
| 10 | if exists("b:current_syntax") |
| 11 | finish |
| 12 | endif |
| 13 | |
| 14 | syn case match |
| 15 | |
| 16 | syn keyword wdlStatement alias task input command runtime input output workflow call scatter import as meta parameter_meta in version |
| 17 | syn keyword wdlConditional if then else |
| 18 | syn keyword wdlType struct Array String File Int Float Boolean Map Pair Object |
| 19 | |
| 20 | syn keyword wdlFunctions stdout stderr read_lines read_tsv read_map read_object read_objects read_json read_int read_string read_float read_boolean write_lines write_tsv write_map write_object write_objects write_json size sub range transpose zip cross length flatten prefix select_first defined basename floor ceil round |
| 21 | |
| 22 | syn region wdlCommandSection start="<<<" end=">>>" |
| 23 | |
| 24 | syn region wdlString start=+"+ skip=+\\\\\|\\"+ end=+"+ |
| 25 | syn region wdlString start=+'+ skip=+\\\\\|\\'+ end=+'+ |
| 26 | |
| 27 | " Comments; their contents |
| 28 | syn keyword wdlTodo contained TODO FIXME XXX BUG |
| 29 | syn cluster wdlCommentGroup contains=wdlTodo |
| 30 | syn region wdlComment start="#" end="$" contains=@wdlCommentGroup |
| 31 | |
| 32 | hi def link wdlStatement Statement |
| 33 | hi def link wdlConditional Conditional |
| 34 | hi def link wdlType Type |
| 35 | hi def link wdlFunctions Function |
| 36 | hi def link wdlString String |
| 37 | hi def link wdlCommandSection String |
| 38 | hi def link wdlComment Comment |
| 39 | hi def link wdlTodo Todo |
| 40 | |
| 41 | let b:current_syntax = 'wdl' |