rnoweb.vim 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. " Vim syntax file
  2. " Language: R noweb Files
  3. " Maintainer: Johannes Ranke <jranke@uni-bremen.de>
  4. " Last Change: Thu Apr 05, 2018 11:06PM
  5. " Version: 0.9.1
  6. " Remarks: - This file is inspired by the proposal of
  7. " Fernando Henrique Ferraz Pereira da Rosa <feferraz@ime.usp.br>
  8. " http://www.ime.usp.br/~feferraz/en/sweavevim.html
  9. "
  10. if exists("b:current_syntax")
  11. finish
  12. endif
  13. syn case match
  14. " Extension of Tex clusters {{{1
  15. runtime syntax/tex.vim
  16. unlet! b:current_syntax
  17. syn cluster texMatchGroup add=@rnoweb
  18. syn cluster texMathMatchGroup add=rnowebSexpr
  19. syn cluster texMathZoneGroup add=rnowebSexpr
  20. syn cluster texEnvGroup add=@rnoweb
  21. syn cluster texFoldGroup add=@rnoweb
  22. syn cluster texDocGroup add=@rnoweb
  23. syn cluster texPartGroup add=@rnoweb
  24. syn cluster texChapterGroup add=@rnoweb
  25. syn cluster texSectionGroup add=@rnoweb
  26. syn cluster texSubSectionGroup add=@rnoweb
  27. syn cluster texSubSubSectionGroup add=@rnoweb
  28. syn cluster texParaGroup add=@rnoweb
  29. " Highlighting of R code using an existing r.vim syntax file if available {{{1
  30. syn include @rnowebR syntax/r.vim
  31. syn region rnowebChunk matchgroup=rnowebDelimiter start="^\s*<<.*>>=" matchgroup=rnowebDelimiter end="^@" contains=@rnowebR,rnowebChunkReference,rnowebChunk fold keepend
  32. syn match rnowebChunkReference "^\s*<<.*>>$" contained
  33. syn region rnowebSexpr matchgroup=Delimiter start="\\Sexpr{" matchgroup=Delimiter end="}" contains=@rnowebR contained
  34. " Sweave options command {{{1
  35. syn region rnowebSweaveopts matchgroup=Delimiter start="\\SweaveOpts{" matchgroup=Delimiter end="}"
  36. " rnoweb Cluster {{{1
  37. syn cluster rnoweb contains=rnowebChunk,rnowebChunkReference,rnowebDelimiter,rnowebSexpr,rnowebSweaveopts
  38. " Highlighting {{{1
  39. hi def link rnowebDelimiter Delimiter
  40. hi def link rnowebSweaveOpts Statement
  41. hi def link rnowebChunkReference Delimiter
  42. let b:current_syntax = "rnoweb"
  43. " vim: foldmethod=marker: