Mercurial > vim
diff runtime/doc/insert.txt @ 4869:a5352e73dc00
Update runtime files.
author | Bram Moolenaar <bram@vim.org> |
---|---|
date | Wed, 12 Jun 2013 21:29:15 +0200 |
parents | 9b772e48f79e |
children | 71e066e10a47 |
line wrap: on
line diff
--- a/runtime/doc/insert.txt +++ b/runtime/doc/insert.txt @@ -1468,9 +1468,9 @@ knows how to color highlight. It can be minimal language-sensitive completion. To enable syntax code completion you can run: > - setlocal omnifunc=syntaxcomplete#Complete + setlocal omnifunc=syntaxcomplete#Complete -You can automate this by placing the following in your vimrc (after any +You can automate this by placing the following in your |.vimrc| (after any ":filetype" command): > if has("autocmd") && exists("+omnifunc") autocmd Filetype * @@ -1487,7 +1487,7 @@ customize which syntax groups to include a look at the PHP filetype to see how this works. If you edit a file called, index.php, run the following command: > - :syntax list + syntax list The first thing you will notice is that there are many different syntax groups. The PHP language can include elements from different languages like HTML, @@ -1496,24 +1496,38 @@ that begin with the filetype, "php", in groups are included by default with the PHP: phpEnvVar, phpIntVar, phpFunctions. -The PHP language has an enormous number of items which it knows how to syntax -highlight. This means these items will be available within the omni -completion list. Some people may find this list unwieldy or are only -interested in certain items. +If you wish non-filetype syntax items to also be included, you can use a +regular expression syntax (added in version 13.0 of autoload\syntaxcomplete.vim) +to add items. Looking at the output from ":syntax list" while editing a PHP file +I can see some of these entries: > + htmlArg,htmlTag,htmlTagName,javaScriptStatement,javaScriptGlobalObjects -There are two ways to prune this list (if necessary). If you find certain -syntax groups you do not wish displayed you can add the following to your -vimrc: > - let g:omni_syntax_group_exclude_php = 'phpCoreConstant,phpConstant' +To pick up any JavaScript and HTML keyword syntax groups while editing a PHP +file, you can use 3 different regexs, one for each language. Or you can +simply restrict the include groups to a particular value, without using +a regex string: > + let g:omni_syntax_group_include_php = 'php\w\+,javaScript\w\+,html\w\+' + let g:omni_syntax_group_include_php = 'phpFunctions,phpMethods' +< +The basic form of this variable is: > + let g:omni_syntax_group_include_{filetype} = 'regex,comma,separated' + +The PHP language has an enormous number of items which it knows how to syntax +highlight. These these items will be available within the omni completion +list. + +Some people may find this list unwieldy or are only interested in certain +items. There are two ways to prune this list (if necessary). If you find +certain syntax groups you do not wish displayed you can use two different +methods to identify these groups. The first specifically lists the syntax +groups by name. The second uses a regular expression to identify both +syntax groups. Simply add one the following to your vimrc: > + let g:omni_syntax_group_exclude_php = 'phpCoreConstant,phpConstant' + let g:omni_syntax_group_exclude_php = 'php\w*Constant' Add as many syntax groups to this list by comma separating them. The basic form of this variable is: > - let g:omni_syntax_group_exclude_{filetype} = 'comma,separated,list' - -For completeness the opposite is also true. Creating this variable in your -vimrc will only include the items in the phpFunctions and phpMethods syntax -groups: > - let g:omni_syntax_group_include_php = 'phpFunctions,phpMethods' + let g:omni_syntax_group_exclude_{filetype} = 'regex,comma,separated' You can create as many of these variables as you need, varying only the filetype at the end of the variable name. @@ -1554,6 +1568,9 @@ To retrieve only the syntax items for th To retrieve all syntax items for both the sqlOperator and sqlType groups: > echo OmniSyntaxList( ['sqlOperator', 'sqlType'] ) +A regular expression can also be used: > + echo OmniSyntaxList( ['sql\w\+'] ) + From within a plugin, you would typically assign the output to a List: > let myKeywords = [] let myKeywords = OmniSyntaxList( ['sqlKeyword'] )