summaryrefslogtreecommitdiffstats
path: root/indent/mma.vim
diff options
context:
space:
mode:
Diffstat (limited to 'indent/mma.vim')
-rw-r--r--indent/mma.vim79
1 files changed, 0 insertions, 79 deletions
diff --git a/indent/mma.vim b/indent/mma.vim
deleted file mode 100644
index e6ca9533..00000000
--- a/indent/mma.vim
+++ /dev/null
@@ -1,79 +0,0 @@
-if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1
-
-" Vim indent file
-" Language: Mathematica
-" Author: steve layland <layland@wolfram.com>
-" Last Change: Sat May 10 18:56:22 CDT 2005
-" Source: http://vim.sourceforge.net/scripts/script.php?script_id=1274
-" http://members.wolfram.com/layland/vim/indent/mma.vim
-"
-" NOTE:
-" Empty .m files will automatically be presumed to be Matlab files
-" unless you have the following in your .vimrc:
-"
-" let filetype_m="mma"
-"
-" Credits:
-" o steve hacked this out of a random indent file in the Vim 6.1
-" distribution that he no longer remembers...sh.vim? Thanks!
-
-" Only load this indent file when no other was loaded.
-if exists("b:did_indent")
- finish
-endif
-let b:did_indent = 1
-
-setlocal indentexpr=GetMmaIndent()
-setlocal indentkeys+=0[,0],0(,0)
-setlocal nosi "turn off smart indent so we don't over analyze } blocks
-
-if exists("*GetMmaIndent")
- finish
-endif
-
-function GetMmaIndent()
-
- " Hit the start of the file, use zero indent.
- if v:lnum == 0
- return 0
- endif
-
- " Find a non-blank line above the current line.
- let lnum = prevnonblank(v:lnum - 1)
-
- " use indenting as a base
- let ind = indent(v:lnum)
- let lnum = v:lnum
-
- " if previous line has an unmatched bracket, or ( indent.
- " doesn't do multiple parens/blocks/etc...
-
- " also, indent only if this line if this line isn't starting a new
- " block... TODO - fix this with indentkeys?
- if getline(v:lnum-1) =~ '\\\@<!\%(\[[^\]]*\|([^)]*\|{[^}]*\)$' && getline(v:lnum) !~ '\s\+[\[({]'
- let ind = ind+shiftwidth()
- endif
-
- " if this line had unmatched closing block,
- " indent to the matching opening block
- if getline(v:lnum) =~ '[^[]*]\s*$'
- " move to the closing bracket
- call search(']','bW')
- " and find it's partner's indent
- let ind = indent(searchpair('\[','',']','bWn'))
- " same for ( blocks
- elseif getline(v:lnum) =~ '[^(]*)$'
- call search(')','bW')
- let ind = indent(searchpair('(','',')','bWn'))
-
- " and finally, close { blocks if si ain't already set
- elseif getline(v:lnum) =~ '[^{]*}'
- call search('}','bW')
- let ind = indent(searchpair('{','','}','bWn'))
- endif
-
- return ind
-endfunction
-
-
-endif