From ba1305772d6dc5939fd7fbad57108aa71ee2d158 Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Tue, 17 Sep 2013 01:43:28 +0200 Subject: fix: Switch latex to LaTeX-Box-Team/LaTeX-Box, fixes #6 --- indent/tex.vim | 304 +++++++++++++-------------------------------------------- 1 file changed, 66 insertions(+), 238 deletions(-) (limited to 'indent') diff --git a/indent/tex.vim b/indent/tex.vim index 50d1de1a..63453bda 100644 --- a/indent/tex.vim +++ b/indent/tex.vim @@ -1,262 +1,90 @@ -" Vim indent file -" Language: LaTeX -" Maintainer: Johannes Tanzler -" Version: 0.5 -" Created: Sat, 16 Feb 2002 16:50:19 +0100 -" Last Change: Mar, 27 Jun 2011 11:46:35 +0200 -" Last Update: 18th feb 2002, by LH : -" (*) better support for the option -" (*) use some regex instead of several '||'. -" Oct 9th, 2003, by JT: -" (*) don't change indentation of lines starting with '%' -" 2005/06/15, Moshe Kaminsky -" (*) New variables: -" g:tex_items, g:tex_itemize_env, g:tex_noindent_env -" 2011/3/6, by Zhou Yi Chao -" (*) Don't change indentation of lines starting with '%' -" I don't see any code with '%' and it doesn't work properly -" so I add some code. -" (*) New features: Add smartindent-like indent -" for "{}" and "[]". -" (*) New variables: g:tex_indent_brace -" -" Options: {{{ -" -" To set the following options (ok, currently it's just one), add a line like -" let g:tex_indent_items = 1 -" to your ~/.vimrc. -" -" * g:tex_indent_brace -" -" If this variable is unset or non-zero, it will use smartindent-like style -" for "{}" and "[]" -" -" * g:tex_indent_items -" -" If this variable is set, item-environments are indented like Emacs does -" it, i.e., continuation lines are indented with a shiftwidth. -" -" NOTE: I've already set the variable below; delete the corresponding line -" if you don't like this behaviour. -" -" Per default, it is unset. -" -" set unset -" ---------------------------------------------------------------- -" \begin{itemize} \begin{itemize} -" \item blablabla \item blablabla -" bla bla bla bla bla bla -" \item blablabla \item blablabla -" bla bla bla bla bla bla -" \end{itemize} \end{itemize} -" -" -" * g:tex_items -" -" A list of tokens to be considered as commands for the beginning of an item -" command. The tokens should be separated with '\|'. The initial '\' should -" be escaped. The default is '\\bibitem\|\\item'. -" -" * g:tex_itemize_env -" -" A list of environment names, separated with '\|', where the items (item -" commands matching g:tex_items) may appear. The default is -" 'itemize\|description\|enumerate\|thebibliography'. -" -" * g:tex_noindent_env -" -" A list of environment names. separated with '\|', where no indentation is -" required. The default is 'document\|verbatim\|comment\|lstlisting'. -" -" }}} -" -" License: {{{ -" Copyright (c) 2002-2011 Johannes Tanzler - -" Permission is hereby granted, free of charge, to any person obtaining -" a copy of this software and associated documentation files (the -" "Software"), to deal in the Software without restriction, including -" without limitation the rights to use, copy, modify, merge, publish, -" distribute, sublicense, and/or sell copies of the Software, and to -" permit persons to whom the Software is furnished to do so, subject to -" the following conditions: -" -" The above copyright notice and this permission notice shall be included -" in all copies or substantial portions of the Software. -" -" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -" IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY -" CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -" TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE -" SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -" }}} +" LaTeX indent file (part of LaTeX Box) +" Maintainer: David Munger (mungerd@gmail.com) if exists("b:did_indent") - finish -endif -let b:did_indent = 1 - -" Delete the next line to avoid the special indention of items -if !exists("g:tex_indent_items") - let g:tex_indent_items = 1 -endif -if !exists("g:tex_indent_brace") - let g:tex_indent_brace = 1 -endif -if g:tex_indent_items - if !exists("g:tex_itemize_env") - let g:tex_itemize_env = 'itemize\|description\|enumerate\|thebibliography' - endif - if !exists('g:tex_items') - let g:tex_items = '\\bibitem\|\\item' - endif -else - let g:tex_items = '' -endif - -if !exists("g:tex_noindent_env") - let g:tex_noindent_env = 'document\|verbatim\|comment\|lstlisting' -endif - -setlocal autoindent -setlocal nosmartindent -setlocal indentexpr=GetTeXIndent() -exec 'setlocal indentkeys+=},]' . substitute(g:tex_items, '^\|\(\\|\)', ',=', 'g') -let g:tex_items = '^\s*' . g:tex_items - - -" Only define the function once -if exists("*GetTeXIndent") | finish + finish endif +let b:did_indent = 1 +setlocal indentexpr=LatexBox_TexIndent() +setlocal indentkeys=0=\\end,0=\\end{enumerate},0=\\end{itemize},0=\\end{description},0=\\right,0=\\item,0=\\),0=\\],0},o,O,0\\ -function GetTeXIndent() - - " Find a non-blank line above the current line. - let lnum = prevnonblank(v:lnum - 1) - - " New code for comments: Comments is not what we need. - while lnum != 0 - if getline(lnum) !~ '^\s*%' - break - endif - let lnum = prevnonblank(lnum - 1) - endwhile - - " At the start of the file use zero indent. - if lnum == 0 | return 0 - endif - - let ind = indent(lnum) - let line = getline(lnum) " last line - let cline = getline(v:lnum) " current line - - " New code for comment: retain the indent of current line - if cline =~ '^\s*%' - return indent(v:lnum) - endif +let s:list_envs = ['itemize', 'enumerate', 'description'] +" indent on \left( and on \(, but not on ( +" indent on \left[ and on \[, but not on [ +" indent on \left\{ and on {, but not on \{ +let s:open_pat = '\\\@