" CarFire Level Editor for Vim " Last Change: 2010 Apr 09 " Maintainer: Charles McGarvey " License: This file is placed in the public domain. "if exists("loaded_leveleditor") "finish "endif "let loaded_leveleditor = 1 let s:save_cursorcolumn = &cursorcolumn let s:save_expandtab = &expandtab let s:save_statusline = &statusline set statusline=%!LevelEditor_Evaluate() function! LevelEditor_Evaluate() let l:linenum = search('\m^\s*dimensions\s*=\s*\[\d\+,\d\+\]', 'bnw') if l:linenum != 0 let l:line = getline(l:linenum) let l:dimensions = matchlist(line, '\m\[\(.*\),\(.*\)\]') let l:dw = get(l:dimensions, 1) let l:dh = get(l:dimensions, 2) let l:linenum = search('\m^\[maptable\]', 'bnW') let l:current = line(".") if l:linenum != 0 && l:current > l:linenum && l:current < l:linenum + l:dh + 1 let l:cx = col(".") - 1 let l:cy = line(".") - l:linenum - 1 setlocal cursorcolumn setlocal expandtab return s:save_statusline." Map: [".l:cx.",".l:cy."]" else return s:LevelEditor_Reset() endif else return s:LevelEditor_Reset() endif endfunction function! s:LevelEditor_Reset() if s:save_cursorcolumn == 0 setlocal nocursorcolumn endif if s:save_expandtab == 0 setlocal noexpandtab endif return s:save_statusline endfunction if !hasmapto('LeInitLevel') map ei LeInitLevel endif noremap