*prism.txt*	For Vim version 7.3	Last change: 2013-03-03

			mmmmm  mmmmm  mmmmm   mmmm  m    m~
			#   "# #   "#   #    #"   " ##  ##
			#mmm#" #mmmm"   #    "#mmm  # ## #
			#      #   "m   #        "# # "" #
			#      #    " mm#mm  "mmm#" #    #~


			VIM REFERENCE MANUAL	by Jan Pobrislo


Help on using prism                                                    *prism*

1. Introduction				|prism-intro|
3. Usage					|prism-usage|
3. Configuration			|prism-configuration|
4. Extending				|prism-extending|

==============================================================================
 1. INTRODUCTION                                                  *prism-intro*

Prism is extensible parenthesis highlighter that applies different colors
depending on nesting depth. This is commonly called "rainbow parenthesis".
This plugin handles parenthesis "()", brackets "[]" and braces "{}" and is
designed to work well with syntax highlighting rules for various languages.
See |prism-extending| to see how to enable prism in your language of choice.

==============================================================================
 2. USAGE                                                        *prism-usage*

Prism uses after/syntax directory to extend your existing syntax rules, which
is loaded automatically unless you set |g:prism_enabled| to 0. There are also
two commands to toggle the variable and reload the filetype plugins:

|PrismEnable|     enables the prism syntax rules
|PrismDisable|    disables the prism syntax rules

There are also two functions you can use for closing open brackets:

PrismClose()      returns string that will close all open brackets
PrismCloseInner() returns string that will close innermost open bracket

You can bind it such as ctrl-space closes the innermost open bracket: >

	:imoremap <C-@> <C-R>=PrismCloseInner()<CR>

==============================================================================
 3. CONFIGURATION                                         *prism-configuration*


|g:prism_enabled|		Set this to 0 to disable the syntax rules.
|g:prism_dark_colors|		Colors to use in terminal with dark background.
|g:prism_light_colors|		Colors to use in terminal with light background.

------------------------------------------------------------------------------
                                                             *g:prism_enabled*
Enable defining syntax rules. This is what |PrismEnable| and |PrismDisable|
does internally.

------------------------------------------------------------------------------
                                  *g:prism_dark_colors* *g:prism_light_colors*
List of colors for the parenthesis for color terminal for dark and bright
backgrounds respectively. Numeric codes for 88 and 256 color terminals are also
supported: >

	let g:prism_dark_colors = [ 31, 35, 113, 137, 130, 172, 191, 132, 140, 147 ]

==============================================================================
 4. EXTENDING                                                *prism-extending*

To create syntax extension for your language create a file in after/syntax
directory called filetype.vim (see |after-dir|). In this file call |Prism()|
function: >

	call Prism(0, <contains>, <containedin>)

Where <contains> and <containedin> represents proper syntax elements defined
in your language's syntax rules

------------------------------------------------------------------------------
                                                                     *Prism()*

Prism({maxdepth}, {contains}, {containedin})

Prism function applies the syntax rules to augment existing rule set.

{maxdepth}      Maximum number of colors to use, 0 is unlimited.

{contains}      String of comma-delimimited names of syntax rules that can
                appear inside the parenthesis.

{containedin}   String of comma-delimimited names of syntax regionsc that
                parenthesis that should be highlighted can appear in.

To examine which regions are under cursor you can define following command: >

	fun! PStack()
	 for id in synstack(line("."), col("."))
	  echo synIDattr(id, "name")
	 endfor
	endfun
	command! PStack call PStack()

vim:tw=78:ts=8:ft=help:norl: