31383
|
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'
|