diff options
Diffstat (limited to 'indent/prolog.vim')
-rw-r--r-- | indent/prolog.vim | 62 |
1 files changed, 0 insertions, 62 deletions
diff --git a/indent/prolog.vim b/indent/prolog.vim deleted file mode 100644 index 8f66554e..00000000 --- a/indent/prolog.vim +++ /dev/null @@ -1,62 +0,0 @@ -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1 - -" vim: set sw=4 sts=4: -" Maintainer : Gergely Kontra <kgergely@mcl.hu> -" Revised on : 2002.02.18. 23:34:05 -" Language : Prolog - -" TODO: -" checking with respect to syntax highlighting -" ignoring multiline comments -" detecting multiline strings - -" Only load this indent file when no other was loaded. -if exists("b:did_indent") - finish -endif - -let b:did_indent = 1 - -setlocal indentexpr=GetPrologIndent() -setlocal indentkeys-=:,0# -setlocal indentkeys+=0%,-,0;,>,0) - -" Only define the function once. -"if exists("*GetPrologIndent") -" finish -"endif - -function! GetPrologIndent() - " Find a non-blank line above the current line. - let pnum = prevnonblank(v:lnum - 1) - " Hit the start of the file, use zero indent. - if pnum == 0 - return 0 - endif - let line = getline(v:lnum) - let pline = getline(pnum) - - let ind = indent(pnum) - " Previous line was comment -> use previous line's indent - if pline =~ '^\s*%' - retu ind - endif - " Check for clause head on previous line - if pline =~ ':-\s*\(%.*\)\?$' - let ind = ind + shiftwidth() - " Check for end of clause on previous line - elseif pline =~ '\.\s*\(%.*\)\?$' - let ind = ind - shiftwidth() - endif - " Check for opening conditional on previous line - if pline =~ '^\s*\([(;]\|->\)' - let ind = ind + shiftwidth() - endif - " Check for closing an unclosed paren, or middle ; or -> - if line =~ '^\s*\([);]\|->\)' - let ind = ind - shiftwidth() - endif - return ind -endfunction - -endif |