Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
kotlin.vim61 linesDownload Raw Back to indent
1" Vim indent file2" Language:     Kotlin3" Maintainer:   Alexander Udalov4" URL:          https://github.com/udalov/kotlin-vim5" Last Change:  7 November 20216"               2023 Sep 17 by Vim Project (undo_indent)7 8if exists('b:did_indent')9    finish10endif11let b:did_indent = 112 13setlocal cinoptions& cinoptions+=j1,L014setlocal indentexpr=GetKotlinIndent()15setlocal indentkeys=0},0),!^F,o,O,e,<CR>16setlocal autoindent " TODO ?17 18let b:undo_indent = "setlocal autoindent< cinoptions< indentexpr< indentkeys<"19 20" TODO teach it to count bracket balance, etc.21function! GetKotlinIndent()22    if v:lnum == 023        return 024    endif25 26    let prev_num = prevnonblank(v:lnum - 1)27    let prev = getline(prev_num)28    let prev_indent = indent(prev_num)29    let cur = getline(v:lnum)30 31    if cur =~ '^\s*\*'32        return cindent(v:lnum)33    endif34 35    if prev =~ '^\s*\*/'36        let st = prev37        while st > 138            if getline(st) =~ '^\s*/\*'39                break40            endif41            let st = st - 142        endwhile43        return indent(st)44    endif45 46    let prev_open_paren = prev =~ '^.*(\s*$'47    let cur_close_paren = cur =~ '^\s*).*$'48    let prev_open_brace = prev =~ '^.*\({\|->\)\s*$'49    let cur_close_brace = cur =~ '^\s*}.*$'50 51    if prev_open_paren && !cur_close_paren || prev_open_brace && !cur_close_brace52        return prev_indent + shiftwidth()53    endif54 55    if cur_close_paren && !prev_open_paren || cur_close_brace && !prev_open_brace56        return prev_indent - shiftwidth()57    endif58 59    return prev_indent60endfunction61 
codekingpro/portable-devtools · Team Ai