annotate runtime/syntax/dockerfile.vim @ 29024:9f25e0ed831d v8.2.5034

patch 8.2.5034: there is no way to get the byte index from a virtual column Commit: https://github.com/vim/vim/commit/5a6ec10cc80ab02eeff644ab19b82312630ea855 Author: Bram Moolenaar <Bram@vim.org> Date: Fri May 27 21:58:00 2022 +0100 patch 8.2.5034: there is no way to get the byte index from a virtual column Problem: There is no way to get the byte index from a virtual column. Solution: Add virtcol2col(). (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/10477, closes #10098)
author Bram Moolenaar <Bram@vim.org>
date Fri, 27 May 2022 23:00:03 +0200
parents 7be3663e2f2b
children 0c191d9c6206
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
6180
6921742f396a Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
1 " dockerfile.vim - Syntax highlighting for Dockerfiles
9860
9eaf8ef656e9 commit https://github.com/vim/vim/commit/0952131376a517fc12dc5ae908a97018b4ee23f0
Christian Brabandt <cb@256bit.org>
parents: 6180
diff changeset
2 " Maintainer: Honza Pokorny <https://honza.ca>
19404
7be3663e2f2b Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 19303
diff changeset
3 " Last Change: 2020 Feb 11
6180
6921742f396a Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
4 " License: BSD
6921742f396a Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
5
19303
51bc26d4a393 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
6 " https://docs.docker.com/engine/reference/builder/
6180
6921742f396a Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
7
6921742f396a Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
8 if exists("b:current_syntax")
6921742f396a Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
9 finish
6921742f396a Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
10 endif
6921742f396a Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
11
19303
51bc26d4a393 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
12 syntax include @JSON syntax/json.vim
51bc26d4a393 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
13 unlet b:current_syntax
51bc26d4a393 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
14
51bc26d4a393 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
15 syntax include @Shell syntax/sh.vim
51bc26d4a393 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
16 unlet b:current_syntax
6180
6921742f396a Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
17
6921742f396a Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
18 syntax case ignore
19303
51bc26d4a393 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
19 syntax match dockerfileLinePrefix /\v^\s*(ONBUILD\s+)?\ze\S/ contains=dockerfileKeyword nextgroup=dockerfileInstruction skipwhite
51bc26d4a393 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
20 syntax region dockerfileFrom matchgroup=dockerfileKeyword start=/\v^\s*(FROM)\ze(\s|$)/ skip=/\v\\\_./ end=/\v((^|\s)AS(\s|$)|$)/ contains=dockerfileOption
6180
6921742f396a Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
21
19303
51bc26d4a393 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
22 syntax keyword dockerfileKeyword contained ADD ARG CMD COPY ENTRYPOINT ENV EXPOSE HEALTHCHECK LABEL MAINTAINER ONBUILD RUN SHELL STOPSIGNAL USER VOLUME WORKDIR
51bc26d4a393 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
23 syntax match dockerfileOption contained /\v(^|\s)\zs--\S+/
6180
6921742f396a Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
24
19404
7be3663e2f2b Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 19303
diff changeset
25 syntax match dockerfileInstruction contained /\v<(\S+)>(\s+--\S+)*/ contains=dockerfileKeyword,dockerfileOption skipwhite nextgroup=dockerfileValue
7be3663e2f2b Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 19303
diff changeset
26 syntax match dockerfileInstruction contained /\v<(ADD|COPY)>(\s+--\S+)*/ contains=dockerfileKeyword,dockerfileOption skipwhite nextgroup=dockerfileJSON
7be3663e2f2b Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 19303
diff changeset
27 syntax match dockerfileInstruction contained /\v<(HEALTHCHECK)>(\s+--\S+)*/ contains=dockerfileKeyword,dockerfileOption skipwhite nextgroup=dockerfileInstruction
7be3663e2f2b Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 19303
diff changeset
28 syntax match dockerfileInstruction contained /\v<(CMD|ENTRYPOINT|RUN)>/ contains=dockerfileKeyword skipwhite nextgroup=dockerfileShell
7be3663e2f2b Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 19303
diff changeset
29 syntax match dockerfileInstruction contained /\v<(CMD|ENTRYPOINT|RUN)>\ze\s+\[/ contains=dockerfileKeyword skipwhite nextgroup=dockerfileJSON
7be3663e2f2b Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 19303
diff changeset
30 syntax match dockerfileInstruction contained /\v<(SHELL|VOLUME)>/ contains=dockerfileKeyword skipwhite nextgroup=dockerfileJSON
17758
f2c2f9126a82 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 9860
diff changeset
31
19303
51bc26d4a393 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
32 syntax region dockerfileString contained start=/\v"/ skip=/\v\\./ end=/\v"/
51bc26d4a393 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
33 syntax region dockerfileJSON contained keepend start=/\v\[/ skip=/\v\\\_./ end=/\v$/ contains=@JSON
51bc26d4a393 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
34 syntax region dockerfileShell contained keepend start=/\v/ skip=/\v\\\_./ end=/\v$/ contains=@Shell
51bc26d4a393 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
35 syntax region dockerfileValue contained keepend start=/\v/ skip=/\v\\\_./ end=/\v$/ contains=dockerfileString
6180
6921742f396a Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
36
19303
51bc26d4a393 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
37 syntax region dockerfileComment start=/\v^\s*#/ end=/\v$/
51bc26d4a393 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
38 set commentstring=#\ %s
6180
6921742f396a Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
39
6921742f396a Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
40 hi def link dockerfileString String
6921742f396a Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
41 hi def link dockerfileKeyword Keyword
6921742f396a Update runtime files.
Bram Moolenaar <bram@vim.org>
parents:
diff changeset
42 hi def link dockerfileComment Comment
19303
51bc26d4a393 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
43 hi def link dockerfileOption Special
51bc26d4a393 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
44
51bc26d4a393 Update runtime files.
Bram Moolenaar <Bram@vim.org>
parents: 17758
diff changeset
45 let b:current_syntax = "dockerfile"