diff options
Diffstat (limited to 'indent/make.vim')
| -rw-r--r-- | indent/make.vim | 120 | 
1 files changed, 0 insertions, 120 deletions
| diff --git a/indent/make.vim b/indent/make.vim deleted file mode 100644 index 35918121..00000000 --- a/indent/make.vim +++ /dev/null @@ -1,120 +0,0 @@ -if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1 -   -" Vim indent file -" Language:             Makefile -" Previous Maintainer:  Nikolai Weibull <now@bitwi.se> -" Latest Revision:      2007-05-07 - -if exists("b:did_indent") -  finish -endif -let b:did_indent = 1 - -setlocal indentexpr=GetMakeIndent() -setlocal indentkeys=!^F,o,O,<:>,=else,=endif -setlocal nosmartindent - -if exists("*GetMakeIndent") -  finish -endif - -let s:comment_rx = '^\s*#' -let s:rule_rx = '^[^ \t#:][^#:]*:\{1,2}\%([^=:]\|$\)' -let s:continued_rule_rx = '^[^#:]*:\{1,2}\%([^=:]\|$\)' -let s:continuation_rx = '\\$' -let s:assignment_rx = '^\s*\h\w*\s*[+?]\==\s*\zs.*\\$' -let s:folded_assignment_rx = '^\s*\h\w*\s*[+?]\==' -" TODO: This needs to be a lot more restrictive in what it matches. -let s:just_inserted_rule_rx = '^\s*[^#:]\+:\{1,2}$' -let s:conditional_directive_rx = '^ *\%(ifn\=\%(eq\|def\)\|else\)\>' -let s:end_conditional_directive_rx = '^\s*\%(else\|endif\)\>' - -function s:remove_continuation(line) -  return substitute(a:line, s:continuation_rx, "", "") -endfunction - -function GetMakeIndent() -  " TODO: Should this perhaps be v:lnum -1? -"  let prev_lnum = prevnonblank(v:lnum - 1) -  let prev_lnum = v:lnum - 1 -  if prev_lnum == 0 -    return 0 -  endif -  let prev_line = getline(prev_lnum) - -  let prev_prev_lnum = prev_lnum - 1 -  let prev_prev_line = prev_prev_lnum != 0 ? getline(prev_prev_lnum) : "" - -  " TODO: Deal with comments.  In comments, continuations aren't interesting. -  if prev_line =~ s:continuation_rx -    if prev_prev_line =~ s:continuation_rx -      return indent(prev_lnum) -    elseif prev_line =~ s:rule_rx -      return shiftwidth() -    elseif prev_line =~ s:assignment_rx -      call cursor(prev_lnum, 1) -      if search(s:assignment_rx, 'W') != 0 -        return virtcol('.') - 1 -      else -        " TODO: ? -        return shiftwidth() -      endif -    else -      " TODO: OK, this might be a continued shell command, so perhaps indent -      " properly here?  Leave this out for now, but in the next release this -      " should be using indent/sh.vim somehow. -      "if prev_line =~ '^\t' " s:rule_command_rx -      "  if prev_line =~ '^\s\+[@-]\%(if\)\>' -      "    return indent(prev_lnum) + 2 -      "  endif -      "endif -      return indent(prev_lnum) + shiftwidth() -    endif -  elseif prev_prev_line =~ s:continuation_rx -    let folded_line = s:remove_continuation(prev_prev_line) . ' ' . s:remove_continuation(prev_line) -    let lnum = prev_prev_lnum - 1 -    let line = getline(lnum) -    while line =~ s:continuation_rx -      let folded_line = s:remove_continuation(line) . ' ' . folded_line -      let lnum -= 1 -      let line = getline(lnum) -    endwhile -    let folded_lnum = lnum + 1 -    if folded_line =~ s:rule_rx -      if getline(v:lnum) =~ s:rule_rx -        return 0 -      else -        return &ts -      endif -    else -"    elseif folded_line =~ s:folded_assignment_rx -      if getline(v:lnum) =~ s:rule_rx -        return 0 -      else -        return indent(folded_lnum) -      endif -"    else -"      " TODO: ? -"      return indent(prev_lnum) -    endif -  elseif prev_line =~ s:rule_rx -    if getline(v:lnum) =~ s:rule_rx -      return 0 -    else -      return &ts -    endif -  elseif prev_line =~ s:conditional_directive_rx -    return shiftwidth() -  else -    let line = getline(v:lnum) -    if line =~ s:just_inserted_rule_rx -      return 0 -    elseif line =~ s:end_conditional_directive_rx -      return v:lnum - 1 == 0 ? 0 : indent(v:lnum - 1) - shiftwidth() -    else -      return v:lnum - 1 == 0 ? 0 : indent(v:lnum - 1) -    endif -  endif -endfunction - -endif | 
