summaryrefslogtreecommitdiffstats
path: root/indent
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2020-03-02 01:10:48 +0100
committerAdam Stankiewicz <sheerun@sher.pl>2020-03-02 01:10:48 +0100
commitf77702c090d99e171250c906d54d75cb8e1306ee (patch)
tree7408baedf446b2b037f6c206fb8d54e91a2f067d /indent
parente558a218c6469c37cb17e17fd6789787090e6933 (diff)
downloadvim-polyglot-f77702c090d99e171250c906d54d75cb8e1306ee.tar.gz
vim-polyglot-f77702c090d99e171250c906d54d75cb8e1306ee.zip
Remove groovy syntax, fixes #456
Diffstat (limited to 'indent')
-rw-r--r--indent/groovy.vim167
1 files changed, 0 insertions, 167 deletions
diff --git a/indent/groovy.vim b/indent/groovy.vim
deleted file mode 100644
index 3c3227f1..00000000
--- a/indent/groovy.vim
+++ /dev/null
@@ -1,167 +0,0 @@
-if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'groovy-indent') == -1
-
-" Vim indent file
-" Language: Groovy
-" Maintainer: Toby Allsopp <toby.allsopp@peace.com> (resigned)
-" Last Change: 2005 Mar 28
-
-" Only load this indent file when no other was loaded.
-if exists("b:did_indent")
- finish
-endif
-let b:did_indent = 1
-
-" Indent Groovy anonymous classes correctly.
-setlocal cindent cinoptions& cinoptions+=j1
-
-" The "extends" and "implements" lines start off with the wrong indent.
-setlocal indentkeys& indentkeys+=0=extends indentkeys+=0=implements
-
-" Set the function to do the work.
-setlocal indentexpr=GetGroovyIndent()
-
-let b:undo_indent = "set cin< cino< indentkeys< indentexpr<"
-
-" Only define the function once.
-if exists("*GetGroovyIndent")
- finish
-endif
-
-function! SkipGroovyBlanksAndComments(startline)
- let lnum = a:startline
- while lnum > 1
- let lnum = prevnonblank(lnum)
- if getline(lnum) =~ '\*/\s*$'
- while getline(lnum) !~ '/\*' && lnum > 1
- let lnum = lnum - 1
- endwhile
- if getline(lnum) =~ '^\s*/\*'
- let lnum = lnum - 1
- else
- break
- endif
- elseif getline(lnum) =~ '^\s*//'
- let lnum = lnum - 1
- else
- break
- endif
- endwhile
- return lnum
-endfunction
-
-function GetGroovyIndent()
-
- " Groovy is just like C; use the built-in C indenting and then correct a few
- " specific cases.
- let theIndent = cindent(v:lnum)
-
- " If we're in the middle of a comment then just trust cindent
- if getline(v:lnum) =~ '^\s*\*'
- return theIndent
- endif
-
-
- " find start of previous line, in case it was a continuation line
- let lnum = SkipGroovyBlanksAndComments(v:lnum - 1)
- let prev = lnum
- while prev > 1
- let next_prev = SkipGroovyBlanksAndComments(prev - 1)
- if getline(next_prev) !~ ',\s*$'
- break
- endif
- let prev = next_prev
- endwhile
-
-
- " Try to align "throws" lines for methods and "extends" and "implements" for
- " classes.
- if getline(v:lnum) =~ '^\s*\(extends\|implements\)\>'
- \ && getline(lnum) !~ '^\s*\(extends\|implements\)\>'
- let theIndent = theIndent + &sw
- endif
-
- " correct for continuation lines of "throws", "implements" and "extends"
- let cont_kw = matchstr(getline(prev),
- \ '^\s*\zs\(throws\|implements\|extends\)\>\ze.*,\s*$')
- if strlen(cont_kw) > 0
- let amount = strlen(cont_kw) + 1
- if getline(lnum) !~ ',\s*$'
- let theIndent = theIndent - (amount + &sw)
- if theIndent < 0
- let theIndent = 0
- endif
- elseif prev == lnum
- let theIndent = theIndent + amount
- if cont_kw ==# 'throws'
- let theIndent = theIndent + &sw
- endif
- endif
- elseif getline(prev) =~ '^\s*\(throws\|implements\|extends\)\>'
- \ && (getline(prev) =~ '{\s*$'
- \ || getline(v:lnum) =~ '^\s*{\s*$')
- let theIndent = theIndent - &sw
- endif
-
- " When the line starts with a }, try aligning it with the matching {,
- " skipping over "throws", "extends" and "implements" clauses.
- if getline(v:lnum) =~ '^\s*}\s*\(//.*\|/\*.*\)\=$'
- call cursor(v:lnum, 1)
- silent normal %
- let lnum = line('.')
- if lnum < v:lnum
- while lnum > 1
- let next_lnum = SkipGroovyBlanksAndComments(lnum - 1)
- if getline(lnum) !~ '^\s*\(throws\|extends\|implements\)\>'
- \ && getline(next_lnum) !~ ',\s*$'
- break
- endif
- let lnum = prevnonblank(next_lnum)
- endwhile
- return indent(lnum)
- endif
- endif
-
- " Below a line starting with "}" never indent more. Needed for a method
- " below a method with an indented "throws" clause.
- let lnum = SkipGroovyBlanksAndComments(v:lnum - 1)
- if getline(lnum) =~ '^\s*}\s*\(//.*\|/\*.*\)\=$' && indent(lnum) < theIndent
- let theIndent = indent(lnum)
- endif
-
- " Fixed several indent problem
- if theIndent > indent(lnum)
- " if no '{ -> ( if else' , then same indent as previous line
- if getline(lnum) !~ '[\{>\(]\s*$' && getline(lnum) !~ '\s*\(if\|else\)\s*'
- let theIndent = indent(lnum)
- endif
-
- " if last line end with (
- if getline(lnum) =~ '[\(]\s*$'
- let theIndent = indent(lnum) + &sw
- endif
- endif
-
- " indent the ')' line with ( line
- if getline(v:lnum) =~ '^\s*)'
- call cursor(v:lnum, 1)
- silent normal %
- let lnum = line('.')
- if lnum < v:lnum
- while lnum > 1
- let next_lnum = SkipGroovyBlanksAndComments(lnum - 1)
- if getline(lnum) !~ '^\s*\(throws\|extends\|implements\)\>'
- \ && getline(next_lnum) !~ ',\s*$'
- break
- endif
- let lnum = prevnonblank(next_lnum)
- endwhile
- return indent(lnum)
- endif
- endif
-
- return theIndent
-endfunction
-
-" vi: sw=2 et
-
-endif