diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2015-10-10 17:15:29 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2015-10-10 17:15:29 +0200 |
commit | a6b0efd5301406adb44dfb12bfc73cf40f28b55b (patch) | |
tree | ff6ef884650dd709860cbcce29b44ec2cd1ffd9a /indent | |
parent | 0de043adbc144510635702dadedc946e3c69f64e (diff) | |
download | vim-polyglot-a6b0efd5301406adb44dfb12bfc73cf40f28b55b.tar.gz vim-polyglot-a6b0efd5301406adb44dfb12bfc73cf40f28b55b.zip |
Add glsl and kotlin languages, fixes #72, #71
Diffstat (limited to 'indent')
-rw-r--r-- | indent/glsl.vim | 14 | ||||
-rw-r--r-- | indent/kotlin.vim | 54 |
2 files changed, 68 insertions, 0 deletions
diff --git a/indent/glsl.vim b/indent/glsl.vim new file mode 100644 index 00000000..b959da00 --- /dev/null +++ b/indent/glsl.vim @@ -0,0 +1,14 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'glsl') == -1 + +" Language: OpenGL Shading Language +" Maintainer: Sergey Tikhomirov <sergey@tikhomirov.io> + +if exists("b:did_indent") + finish +endif + +setlocal autoindent cindent + +" vim:set sts=2 sw=2 : + +endif diff --git a/indent/kotlin.vim b/indent/kotlin.vim new file mode 100644 index 00000000..20bc1ee9 --- /dev/null +++ b/indent/kotlin.vim @@ -0,0 +1,54 @@ +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'kotlin') == -1 + +" Vim indent file +" Language: Kotlin +" Maintainer: Alexander Udalov +" Latest Revision: 27 June 2015 + +if exists("b:did_indent") + finish +endif +let b:did_indent = 1 + +setlocal indentexpr=GetKotlinIndent() +setlocal indentkeys=0},0),!^F,o,O,e,<CR> +setlocal autoindent " TODO ? + +" TODO teach it to count bracket balance, etc. +function! GetKotlinIndent() + if v:lnum == 0 + return 0 + endif + + let prev_num = prevnonblank(v:lnum - 1) + let prev = getline(prev_num) + let prev_indent = indent(prev_num) + let cur = getline(v:lnum) + + let prev_open_paren = prev =~ '^.*(\s*$' + let cur_close_paren = cur =~ '^\s*).*$' + + if prev_open_paren && !cur_close_paren + return prev_indent + 2 * &shiftwidth + endif + + if cur_close_paren && !prev_open_paren + return prev_indent - 2 * &shiftwidth + endif + + + let prev_open_brace = prev =~ '^.*\({\|->\)\s*$' + let cur_close_brace = cur =~ '^\s*}.*$' + + if prev_open_brace && !cur_close_brace + return prev_indent + &shiftwidth + endif + + if cur_close_brace && !prev_open_brace + return prev_indent - &shiftwidth + endif + + return prev_indent +endfunction + +endif |