blob: 3b8369e8bd159c3d1b26bccc10aa020ee2fa9cd1 [file] [log] [blame]
Bram Moolenaar86b48162022-12-06 18:20:10 +00001" 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
10if exists("b:current_syntax")
11 finish
12endif
13
14syn case match
15
16syn keyword wdlStatement alias task input command runtime input output workflow call scatter import as meta parameter_meta in version
17syn keyword wdlConditional if then else
18syn keyword wdlType struct Array String File Int Float Boolean Map Pair Object
19
20syn 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
22syn region wdlCommandSection start="<<<" end=">>>"
23
24syn region wdlString start=+"+ skip=+\\\\\|\\"+ end=+"+
25syn region wdlString start=+'+ skip=+\\\\\|\\'+ end=+'+
26
27" Comments; their contents
28syn keyword wdlTodo contained TODO FIXME XXX BUG
29syn cluster wdlCommentGroup contains=wdlTodo
30syn region wdlComment start="#" end="$" contains=@wdlCommentGroup
31
32hi def link wdlStatement Statement
33hi def link wdlConditional Conditional
34hi def link wdlType Type
35hi def link wdlFunctions Function
36hi def link wdlString String
37hi def link wdlCommandSection String
38hi def link wdlComment Comment
39hi def link wdlTodo Todo
40
41let b:current_syntax = 'wdl'