summaryrefslogtreecommitdiffstats
path: root/indent
diff options
context:
space:
mode:
Diffstat (limited to 'indent')
-rw-r--r--indent/Dockerfile.vim27
1 files changed, 27 insertions, 0 deletions
diff --git a/indent/Dockerfile.vim b/indent/Dockerfile.vim
new file mode 100644
index 00000000..a4ba894c
--- /dev/null
+++ b/indent/Dockerfile.vim
@@ -0,0 +1,27 @@
+if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'dockerfile') == -1
+
+if exists('b:did_indent') | finish | endif
+let b:did_indent = 1
+
+
+function! DockerfileIndent(line)
+ let prev_line = getline(a:line - 1)
+ if a:line > 1 && prev_line =~ '\\\s*$'
+ let i = indent(a:line - 1)
+ if i == 0
+ let i += &l:shiftwidth
+ if &l:expandtab && prev_line =~# '^RUN\s'
+ " Overindent past RUN
+ let i = 4 + &l:shiftwidth
+ endif
+ endif
+ return i
+ endif
+
+ return -1
+endfunction
+
+
+set indentexpr=DockerfileIndent(v:lnum)
+
+endif