Mercurial > vim
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 |
rev | line source |
---|---|
6180 | 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 | 3 " Last Change: 2020 Feb 11 |
6180 | 4 " License: BSD |
5 | |
19303 | 6 " https://docs.docker.com/engine/reference/builder/ |
6180 | 7 |
8 if exists("b:current_syntax") | |
9 finish | |
10 endif | |
11 | |
19303 | 12 syntax include @JSON syntax/json.vim |
13 unlet b:current_syntax | |
14 | |
15 syntax include @Shell syntax/sh.vim | |
16 unlet b:current_syntax | |
6180 | 17 |
18 syntax case ignore | |
19303 | 19 syntax match dockerfileLinePrefix /\v^\s*(ONBUILD\s+)?\ze\S/ contains=dockerfileKeyword nextgroup=dockerfileInstruction skipwhite |
20 syntax region dockerfileFrom matchgroup=dockerfileKeyword start=/\v^\s*(FROM)\ze(\s|$)/ skip=/\v\\\_./ end=/\v((^|\s)AS(\s|$)|$)/ contains=dockerfileOption | |
6180 | 21 |
19303 | 22 syntax keyword dockerfileKeyword contained ADD ARG CMD COPY ENTRYPOINT ENV EXPOSE HEALTHCHECK LABEL MAINTAINER ONBUILD RUN SHELL STOPSIGNAL USER VOLUME WORKDIR |
23 syntax match dockerfileOption contained /\v(^|\s)\zs--\S+/ | |
6180 | 24 |
19404 | 25 syntax match dockerfileInstruction contained /\v<(\S+)>(\s+--\S+)*/ contains=dockerfileKeyword,dockerfileOption skipwhite nextgroup=dockerfileValue |
26 syntax match dockerfileInstruction contained /\v<(ADD|COPY)>(\s+--\S+)*/ contains=dockerfileKeyword,dockerfileOption skipwhite nextgroup=dockerfileJSON | |
27 syntax match dockerfileInstruction contained /\v<(HEALTHCHECK)>(\s+--\S+)*/ contains=dockerfileKeyword,dockerfileOption skipwhite nextgroup=dockerfileInstruction | |
28 syntax match dockerfileInstruction contained /\v<(CMD|ENTRYPOINT|RUN)>/ contains=dockerfileKeyword skipwhite nextgroup=dockerfileShell | |
29 syntax match dockerfileInstruction contained /\v<(CMD|ENTRYPOINT|RUN)>\ze\s+\[/ contains=dockerfileKeyword skipwhite nextgroup=dockerfileJSON | |
30 syntax match dockerfileInstruction contained /\v<(SHELL|VOLUME)>/ contains=dockerfileKeyword skipwhite nextgroup=dockerfileJSON | |
17758 | 31 |
19303 | 32 syntax region dockerfileString contained start=/\v"/ skip=/\v\\./ end=/\v"/ |
33 syntax region dockerfileJSON contained keepend start=/\v\[/ skip=/\v\\\_./ end=/\v$/ contains=@JSON | |
34 syntax region dockerfileShell contained keepend start=/\v/ skip=/\v\\\_./ end=/\v$/ contains=@Shell | |
35 syntax region dockerfileValue contained keepend start=/\v/ skip=/\v\\\_./ end=/\v$/ contains=dockerfileString | |
6180 | 36 |
19303 | 37 syntax region dockerfileComment start=/\v^\s*#/ end=/\v$/ |
38 set commentstring=#\ %s | |
6180 | 39 |
40 hi def link dockerfileString String | |
41 hi def link dockerfileKeyword Keyword | |
42 hi def link dockerfileComment Comment | |
19303 | 43 hi def link dockerfileOption Special |
44 | |
45 let b:current_syntax = "dockerfile" |