From 62fa7501cc32947a027243c2829c3cb682385116 Mon Sep 17 00:00:00 2001 From: Flo Date: Mon, 15 Apr 2019 23:19:34 +0200 Subject: [PATCH] add vim-yaml --- vim/bundle/vim-yaml/README.md | 4 +++ vim/bundle/vim-yaml/after/ftplugin/yaml.vim | 37 +++++++++++++++++++++ 2 files changed, 41 insertions(+) create mode 100644 vim/bundle/vim-yaml/README.md create mode 100644 vim/bundle/vim-yaml/after/ftplugin/yaml.vim diff --git a/vim/bundle/vim-yaml/README.md b/vim/bundle/vim-yaml/README.md new file mode 100644 index 0000000..dd13341 --- /dev/null +++ b/vim/bundle/vim-yaml/README.md @@ -0,0 +1,4 @@ +# For pathogen + +Thanks: https://gist.github.com/871107 + diff --git a/vim/bundle/vim-yaml/after/ftplugin/yaml.vim b/vim/bundle/vim-yaml/after/ftplugin/yaml.vim new file mode 100644 index 0000000..58d43ad --- /dev/null +++ b/vim/bundle/vim-yaml/after/ftplugin/yaml.vim @@ -0,0 +1,37 @@ +" Vim indent file +" Language: Yaml +" Author: Ian Young + +if exists("b:did_indent") + finish +endif +"runtime! indent/ruby.vim +"unlet! b:did_indent +let b:did_indent = 1 + +setlocal autoindent sw=2 et +setlocal indentexpr=GetYamlIndent() +setlocal indentkeys=o,O,*,!^F + +function! GetYamlIndent() + let prevlnum = v:lnum - 1 + if prevlnum == 0 + return 0 + endif + let line = substitute(getline(v:lnum),'\s\+$','','') + let prevline = substitute(getline(prevlnum),'\s\+$','','') + + let indent = indent(prevlnum) + let increase = indent + &sw + let decrease = indent - &sw + + if prevline =~ ':$' + return increase + elseif prevline =~ '^\s\+\-' && line =~ '^\s\+[^-]\+:' + return decrease + else + return indent + endif +endfunction + +" vim:set sw=2: