Home | History | Annotate | Download | only in geshi
      1 <?php
      2 
      3 /*************************************************************************************
      4  * vim.php
      5  * ----------------
      6  * Author: Swaroop C H (swaroop (at) swaroopch.com)
      7  * Copyright: (c) 2008 Swaroop C H (http://www.swaroopch.com)
      8  * Release Version: 1.0.8.3
      9  * Date Started: 2008/10/19
     10  *
     11  * Vim scripting language file for GeSHi.
     12  *
     13  * Reference: http://qbnz.com/highlighter/geshi-doc.html#language-files
     14  * All keywords scraped from `:help expression-commands`.
     15  * All method names scraped from `:help function-list`.
     16  *
     17  * CHANGES
     18  * -------
     19  * 2008/10/19 (1.0.8.2)
     20  * - Started.
     21  *
     22  * TODO (updated 2008/10/19)
     23  * -------------------------
     24  * - Fill out list of zillion commands
     25  *
     26  *************************************************************************************
     27  *
     28  *     This file is part of GeSHi.
     29  *
     30  *   GeSHi is free software; you can redistribute it and/or modify
     31  *   it under the terms of the GNU General Public License as published by
     32  *   the Free Software Foundation; either version 2 of the License, or
     33  *   (at your option) any later version.
     34  *
     35  *   GeSHi is distributed in the hope that it will be useful,
     36  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
     37  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     38  *   GNU General Public License for more details.
     39  *
     40  *   You should have received a copy of the GNU General Public License
     41  *   along with GeSHi; if not, write to the Free Software
     42  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
     43  *
     44  ************************************************************************************/
     45 
     46 $language_data = array(
     47     'LANG_NAME' => 'Vim Script',
     48     'COMMENT_SINGLE' => array(),
     49     'COMMENT_REGEXP' => array(
     50         1 => "/^\".*$/m"
     51         ),
     52     'COMMENT_MULTI' => array(),
     53     'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE,
     54     'QUOTEMARKS' => array("'", '"'),
     55     'ESCAPE_CHAR' => '\\',
     56     'KEYWORDS' => array(
     57         1 => array(
     58             'brea', 'break', 'call', 'cat', 'catc',
     59             'catch', 'con', 'cont', 'conti',
     60             'contin', 'continu', 'continue', 'ec', 'echo',
     61             'echoe', 'echoer', 'echoerr', 'echoh',
     62             'echohl', 'echom', 'echoms', 'echomsg', 'echon',
     63             'el', 'els', 'else', 'elsei', 'elseif',
     64             'en', 'end', 'endi', 'endif', 'endfo',
     65             'endfor', 'endt', 'endtr', 'endtry', 'endw',
     66             'endwh', 'endwhi', 'endwhil', 'endwhile', 'exe', 'exec', 'execu',
     67             'execut', 'execute', 'fina', 'final', 'finall', 'finally', 'for',
     68             'fun', 'func', 'funct', 'functi', 'functio', 'function', 'if', 'in',
     69             'let', 'lockv', 'lockva', 'lockvar', 'retu', 'retur', 'return', 'th',
     70             'thr', 'thro', 'throw', 'try', 'unl', 'unle', 'unlet', 'unlo', 'unloc',
     71             'unlock', 'unlockv', 'unlockva', 'unlockvar', 'wh', 'whi', 'whil',
     72             'while'
     73             ),
     74         2 => array(
     75             'autocmd', 'com', 'comm', 'comma', 'comman', 'command', 'comc',
     76             'comcl', 'comcle', 'comclea', 'comclear', 'delc', 'delco',
     77             'delcom', 'delcomm', 'delcomma', 'delcomman', 'delcommand',
     78             '-nargs' # TODO There are zillions of commands to be added here from http://vimdoc.sourceforge.net/htmldoc/usr_toc.html
     79             ),
     80         3 => array(
     81             'abs', 'add', 'append', 'argc', 'argidx', 'argv', 'atan',
     82             'browse', 'browsedir', 'bufexists', 'buflisted', 'bufloaded',
     83             'bufname', 'bufnr', 'bufwinnr', 'byte2line', 'byteidx',
     84             'ceil', 'changenr', 'char2nr', 'cindent', 'clearmatches',
     85             'col', 'complete', 'complete_add', 'complete_check', 'confirm',
     86             'copy', 'cos', 'count', 'cscope_connection', 'cursor',
     87             'deepcopy', 'delete', 'did_filetype', 'diff_filler',
     88             'diff_hlID', 'empty', 'escape', 'eval', 'eventhandler',
     89             'executable', 'exists', 'extend', 'expand', 'feedkeys',
     90             'filereadable', 'filewritable', 'filter', 'finddir',
     91             'findfile', 'float2nr', 'floor', 'fnameescape', 'fnamemodify',
     92             'foldclosed', 'foldclosedend', 'foldlevel', 'foldtext',
     93             'foldtextresult', 'foreground', 'garbagecollect',
     94             'get', 'getbufline', 'getbufvar', 'getchar', 'getcharmod',
     95             'getcmdline', 'getcmdpos', 'getcmdtype', 'getcwd', 'getfperm',
     96             'getfsize', 'getfontname', 'getftime', 'getftype', 'getline',
     97             'getloclist', 'getmatches', 'getpid', 'getpos', 'getqflist',
     98             'getreg', 'getregtype', 'gettabwinvar', 'getwinposx',
     99             'getwinposy', 'getwinvar', 'glob', 'globpath', 'has',
    100             'has_key', 'haslocaldir', 'hasmapto', 'histadd', 'histdel',
    101             'histget', 'histnr', 'hlexists', 'hlID', 'hostname', 'iconv',
    102             'indent', 'index', 'input', 'inputdialog', 'inputlist',
    103             'inputrestore', 'inputsave', 'inputsecret', 'insert',
    104             'isdirectory', 'islocked', 'items', 'join', 'keys', 'len',
    105             'libcall', 'libcallnr', 'line', 'line2byte', 'lispindent',
    106             'localtime', 'log10', 'map', 'maparg', 'mapcheck', 'match',
    107             'matchadd', 'matcharg', 'matchdelete', 'matchend', 'matchlist',
    108             'matchstr', 'max', 'min', 'mkdir', 'mode', 'nextnonblank',
    109             'nr2char', 'pathshorten', 'pow', 'prevnonblank', 'printf',
    110             'pumvisible', 'range', 'readfile', 'reltime', 'reltimestr',
    111             'remote_expr', 'remote_foreground', 'remote_peek',
    112             'remote_read', 'remote_send', 'remove', 'rename', 'repeat',
    113             'resolve', 'reverse', 'round', 'search', 'searchdecl',
    114             'searchpair', 'searchpairpos', 'searchpos', 'server2client',
    115             'serverlist', 'setbufvar', 'setcmdpos', 'setline',
    116             'setloclist', 'setmatches', 'setpos', 'setqflist', 'setreg',
    117             'settabwinvar', 'setwinvar', 'shellescape', 'simplify', 'sin',
    118             'sort', 'soundfold', 'spellbadword', 'spellsuggest', 'split',
    119             'sqrt', 'str2float', 'str2nr', 'strftime', 'stridx', 'string',
    120             'strlen', 'strpart', 'strridx', 'strtrans', 'submatch',
    121             'substitute', 'synID', 'synIDattr', 'synIDtrans', 'synstack',
    122             'system', 'tabpagebuflist', 'tabpagenr', 'tabpagewinnr',
    123             'taglist', 'tagfiles', 'tempname', 'tolower', 'toupper', 'tr',
    124             'trunc', 'type', 'values', 'virtcol', 'visualmode', 'winbufnr',
    125             'wincol', 'winheight', 'winline', 'winnr', 'winrestcmd',
    126             'winrestview', 'winsaveview', 'winwidth', 'writefile'
    127             )
    128         ),
    129     'SYMBOLS' => array(
    130         '(', ')', '[', ']', '{', '}', '!', '%', '&', '*', '|', '/', '<', '>',
    131         '^', '-', '+', '~', '?', ':', '$', '@', '.'
    132         ),
    133     'CASE_SENSITIVE' => array(
    134         GESHI_COMMENTS => false,
    135         1 => true,
    136         2 => true,
    137         3 => true
    138         ),
    139     'STYLES' => array(
    140         'BRACKETS' => array(
    141             0 => 'color: #000000;'
    142             ),
    143         'COMMENTS' => array(
    144             1 => 'color: #adadad; font-style: italic;'
    145             ),
    146         'ESCAPE_CHAR' => array(
    147             0 => ''
    148             ),
    149         'KEYWORDS' => array(
    150             1 => 'color: #804040;',
    151             2 => 'color: #668080;',
    152             3 => 'color: #25BB4D;'
    153             ),
    154         'METHODS' => array(
    155             0 => 'color: #000000;',
    156             ),
    157         'NUMBERS' => array(
    158             0 => 'color: #000000; font-weight:bold;'
    159             ),
    160         'REGEXPS' => array(
    161             ),
    162         'SCRIPT' => array(
    163             ),
    164         'STRINGS' => array(
    165             0 => 'color: #C5A22D;'
    166             ),
    167         'SYMBOLS' => array(
    168             0 => 'color: #000000;'
    169             )
    170         ),
    171     'URLS' => array(
    172         1 => '',
    173         2 => '',
    174         3 => ''
    175         ),
    176     'OOLANG' => false, //Save some time as OO identifiers aren't used
    177     'OBJECT_SPLITTERS' => array(),
    178     'REGEXPS' => array(
    179         ),
    180     'STRICT_MODE_APPLIES' => GESHI_NEVER,
    181     'SCRIPT_DELIMITERS' => array(),
    182     'HIGHLIGHT_STRICT_BLOCK' => array()
    183 );
    184 
    185 ?>
    186