neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

rnoweb.vim (1252B)


      1 " Vim indent file
      2 " Language:	Rnoweb
      3 " Maintainer: This runtime file is looking for a new maintainer.
      4 " Former Maintainer: Jakson Alves de Aquino <jalvesaq@gmail.com>
      5 " Former Repository: https://github.com/jalvesaq/R-Vim-runtime
      6 " Last Change:	2024 Feb 27  07:17PM
      7 "		2024 Feb 19 by Vim Project (announce adoption)
      8 
      9 
     10 " Only load this indent file when no other was loaded.
     11 if exists("b:did_indent")
     12  finish
     13 endif
     14 runtime indent/tex.vim
     15 
     16 function s:NoTeXIndent()
     17  return indent(line("."))
     18 endfunction
     19 
     20 if &indentexpr == "" || &indentexpr == "GetRnowebIndent()"
     21  let s:TeXIndent = function("s:NoTeXIndent")
     22 else
     23  let s:TeXIndent = function(substitute(&indentexpr, "()", "", ""))
     24 endif
     25 
     26 unlet! b:did_indent
     27 runtime indent/r.vim
     28 let s:RIndent = function(substitute(&indentexpr, "()", "", ""))
     29 let b:did_indent = 1
     30 
     31 setlocal indentkeys=0{,0},!^F,o,O,e,},=\bibitem,=\item
     32 setlocal indentexpr=GetRnowebIndent()
     33 
     34 let b:undo_indent = "setl inde< indk<"
     35 
     36 if exists("*GetRnowebIndent")
     37  finish
     38 endif
     39 
     40 function GetRnowebIndent()
     41  let curline = getline(".")
     42  if curline =~ '^<<.*>>=$' || curline =~ '^\s*@$'
     43    return 0
     44  endif
     45  if search("^<<", "bncW") > search("^@", "bncW")
     46    return s:RIndent()
     47  endif
     48  return s:TeXIndent()
     49 endfunction
     50 
     51 " vim: sw=2