vim-patch:60cce2f

Update runtime files.

60cce2fb73
This commit is contained in:
David Barnett 2016-04-18 21:12:05 -07:00
parent 0ba12c6691
commit 43fe335eda
16 changed files with 402 additions and 87 deletions

View File

@ -1,6 +1,6 @@
" Vim autoload file for the tohtml plugin. " Vim autoload file for the tohtml plugin.
" Maintainer: Ben Fritz <fritzophrenic@gmail.com> " Maintainer: Ben Fritz <fritzophrenic@gmail.com>
" Last Change: 2013 Jun 19 " Last Change: 2013 Sep 03
" "
" Additional contributors: " Additional contributors:
" "
@ -302,7 +302,7 @@ func! tohtml#Convert2HTML(line1, line2) "{{{
else "{{{ else "{{{
let win_list = [] let win_list = []
let buf_list = [] let buf_list = []
windo | if &diff | call add(win_list, winbufnr(0)) | endif windo if &diff | call add(win_list, winbufnr(0)) | endif
let s:settings.whole_filler = 1 let s:settings.whole_filler = 1
let g:html_diff_win_num = 0 let g:html_diff_win_num = 0
for window in win_list for window in win_list

View File

@ -1,4 +1,4 @@
*syntax.txt* For Vim version 7.4. Last change: 2015 Aug 13 *syntax.txt* For Vim version 7.4. Last change: 2015 Sep 29
VIM REFERENCE MANUAL by Bram Moolenaar VIM REFERENCE MANUAL by Bram Moolenaar
@ -417,9 +417,10 @@ and last line to be converted. Example, using the last set Visual area: >
*:TOhtml* *:TOhtml*
:[range]TOhtml The ":TOhtml" command is defined in a standard plugin. :[range]TOhtml The ":TOhtml" command is defined in a standard plugin.
This command will source |2html.vim| for you. When a This command will source |2html.vim| for you. When a
range is given, set |g:html_start_line| and range is given, this command sets |g:html_start_line|
|g:html_end_line| to the start and end of the range, and |g:html_end_line| to the start and end of the
respectively. Default range is the entire buffer. range, respectively. Default range is the entire
buffer.
If the current window is part of a |diff|, unless If the current window is part of a |diff|, unless
|g:html_diff_one_file| is set, :TOhtml will convert |g:html_diff_one_file| is set, :TOhtml will convert
@ -742,6 +743,22 @@ and UTF-32 instead, use: >
Note that documents encoded in either UTF-32 or UTF-16 have known Note that documents encoded in either UTF-32 or UTF-16 have known
compatibility problems with some major browsers. compatibility problems with some major browsers.
*g:html_font*
Default: "monospace"
You can specify the font or fonts used in the converted document using
g:html_font. If this option is set to a string, then the value will be
surrounded with single quotes. If this option is set to a list then each list
item is surrounded by single quotes and the list is joined with commas. Either
way, "monospace" is added as the fallback generic family name and the entire
result used as the font family (using CSS) or font face (if not using CSS).
Examples: >
" font-family: 'Consolas', monospace;
:let g:html_font = "Consolas"
" font-family: 'DejaVu Sans Mono', 'Consolas', monospace;
:let g:html_font = ["DejaVu Sans Mono", "Consolas"]
<
*convert-to-XML* *convert-to-XHTML* *g:html_use_xhtml* *convert-to-XML* *convert-to-XHTML* *g:html_use_xhtml*
Default: 0. Default: 0.
When 0, generate standard HTML 4.01 (strict when possible). When 0, generate standard HTML 4.01 (strict when possible).

View File

@ -1,7 +1,7 @@
" Vim support file to detect file types " Vim support file to detect file types
" "
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2015 Sep 22 " Last Change: 2015 Oct 13
" Listen very carefully, I will say this only once " Listen very carefully, I will say this only once
if exists("did_load_filetypes") if exists("did_load_filetypes")
@ -304,6 +304,9 @@ au BufNewFile,BufRead *.bl setf blank
" Blkid cache file " Blkid cache file
au BufNewFile,BufRead */etc/blkid.tab,*/etc/blkid.tab.old setf xml au BufNewFile,BufRead */etc/blkid.tab,*/etc/blkid.tab.old setf xml
" Bazel (http://bazel.io)
autocmd BufRead,BufNewFile *.bzl,BUILD,WORKSPACE setfiletype bzl
" C or lpc " C or lpc
au BufNewFile,BufRead *.c call s:FTlpc() au BufNewFile,BufRead *.c call s:FTlpc()
@ -2119,6 +2122,9 @@ au BufNewFile,BufRead *.cm setf voscm
" Sysctl " Sysctl
au BufNewFile,BufRead */etc/sysctl.conf,*/etc/sysctl.d/*.conf setf sysctl au BufNewFile,BufRead */etc/sysctl.conf,*/etc/sysctl.d/*.conf setf sysctl
" Systemd unit files
au BufNewFile,BufRead */systemd/*.{automount,mount,path,service,socket,swap,target,timer} setf systemd
" Synopsys Design Constraints " Synopsys Design Constraints
au BufNewFile,BufRead *.sdc setf sdc au BufNewFile,BufRead *.sdc setf sdc

94
runtime/ftplugin/bzl.vim Normal file
View File

@ -0,0 +1,94 @@
" Vim filetype plugin file
" Language: Bazel (http://bazel.io)
" Maintainer: David Barnett (https://github.com/google/vim-ft-bzl)
" Last Change: 2015 Aug 11
""
" @section Introduction, intro
" Core settings for the bzl filetype, used for BUILD and *.bzl files for the
" Bazel build system (http://bazel.io/).
if exists('b:did_ftplugin')
finish
endif
" Vim 7.4.051 has opinionated settings in ftplugin/python.vim that try to force
" PEP8 conventions on every python file, but these conflict with Google's
" indentation guidelines. As a workaround, we explicitly source the system
" ftplugin, but save indentation settings beforehand and restore them after.
let s:save_expandtab = &l:expandtab
let s:save_shiftwidth = &l:shiftwidth
let s:save_softtabstop = &l:softtabstop
let s:save_tabstop = &l:tabstop
" NOTE: Vim versions before 7.3.511 had a ftplugin/python.vim that was broken
" for compatible mode.
let s:save_cpo = &cpo
set cpo&vim
" Load base python ftplugin (also defines b:did_ftplugin).
source $VIMRUNTIME/ftplugin/python.vim
" NOTE: Vim versions before 7.4.104 and later set this in ftplugin/python.vim.
setlocal comments=b:#,fb:-
" Restore pre-existing indentation settings.
let &l:expandtab = s:save_expandtab
let &l:shiftwidth = s:save_shiftwidth
let &l:softtabstop = s:save_softtabstop
let &l:tabstop = s:save_tabstop
setlocal formatoptions-=t
" Make gf work with imports in BUILD files.
setlocal includeexpr=substitute(v:fname,'//','','')
" Enable syntax-based folding, if specified.
if get(g:, 'ft_bzl_fold', 0)
setlocal foldmethod=syntax
setlocal foldtext=BzlFoldText()
endif
if exists('*BzlFoldText')
finish
endif
function BzlFoldText() abort
let l:start_num = nextnonblank(v:foldstart)
let l:end_num = prevnonblank(v:foldend)
if l:end_num <= l:start_num + 1
" If the fold is empty, don't print anything for the contents.
let l:content = ''
else
" Otherwise look for something matching the content regex.
" And if nothing matches, print an ellipsis.
let l:content = '...'
for l:line in getline(l:start_num + 1, l:end_num - 1)
let l:content_match = matchstr(l:line, '\m\C^\s*name = \zs.*\ze,$')
if !empty(l:content_match)
let l:content = l:content_match
break
endif
endfor
endif
" Enclose content with start and end
let l:start_text = getline(l:start_num)
let l:end_text = substitute(getline(l:end_num), '^\s*', '', '')
let l:text = l:start_text . ' ' . l:content . ' ' . l:end_text
" Compute the available width for the displayed text.
let l:width = winwidth(0) - &foldcolumn - (&number ? &numberwidth : 0)
let l:lines_folded = ' ' . string(1 + v:foldend - v:foldstart) . ' lines'
" Expand tabs, truncate, pad, and concatenate
let l:text = substitute(l:text, '\t', repeat(' ', &tabstop), 'g')
let l:text = strpart(l:text, 0, l:width - len(l:lines_folded))
let l:padding = repeat(' ', l:width - len(l:lines_folded) - len(l:text))
return l:text . l:padding . l:lines_folded
endfunction
let &cpo = s:save_cpo
unlet s:save_cpo

View File

@ -2,7 +2,7 @@
" Language: J " Language: J
" Maintainer: David Bürgin <676c7473@gmail.com> " Maintainer: David Bürgin <676c7473@gmail.com>
" URL: https://github.com/glts/vim-j " URL: https://github.com/glts/vim-j
" Last Change: 2015-03-27 " Last Change: 2015-09-27
if exists('b:did_ftplugin') if exists('b:did_ftplugin')
finish finish
@ -12,13 +12,20 @@ let b:did_ftplugin = 1
let s:save_cpo = &cpo let s:save_cpo = &cpo
set cpo&vim set cpo&vim
setlocal iskeyword=48-57,A-Z,_,a-z setlocal iskeyword=48-57,A-Z,a-z,_
setlocal comments=:NB. setlocal comments=:NB.
setlocal commentstring=NB.\ %s setlocal commentstring=NB.\ %s
setlocal formatoptions-=t setlocal formatoptions-=t
setlocal matchpairs=(:) setlocal matchpairs=(:)
setlocal path-=/usr/include
let b:undo_ftplugin = 'setlocal matchpairs< formatoptions< commentstring< comments< iskeyword<' " Includes. To make the shorthand form "require 'web/cgi'" work, double the
" last path component. Also strip off leading folder names like "~addons/".
setlocal include=\\v^\\s*(load\|require)\\s*'\\zs\\f+\\ze'
setlocal includeexpr=substitute(substitute(tr(v:fname,'\\','/'),'\\v^[^~][^/.]*(/[^/.]+)$','&\\1',''),'\\v^\\~[^/]+/','','')
setlocal suffixesadd=.ijs
let b:undo_ftplugin = 'setlocal matchpairs< formatoptions< commentstring< comments< iskeyword< path< include< includeexpr< suffixesadd<'
" Section movement with ]] ][ [[ []. The start/end patterns below are amended " Section movement with ]] ][ [[ []. The start/end patterns below are amended
" inside the function in order to avoid matching on the current cursor line. " inside the function in order to avoid matching on the current cursor line.

View File

@ -0,0 +1,7 @@
" Vim filetype plugin file
" Language: systemd.unit(5)
if !exists('b:did_ftplugin')
" Looks a lot like dosini files.
runtime! ftplugin/dosini.vim
endif

97
runtime/indent/bzl.vim Normal file
View File

@ -0,0 +1,97 @@
" Vim indent file
" Language: Bazel (http://bazel.io)
" Maintainer: David Barnett (https://github.com/google/vim-ft-bzl)
" Last Change: 2015 Aug 11
if exists('b:did_indent')
finish
endif
" Load base python indent.
if !exists('*GetPythonIndent')
runtime! indent/python.vim
endif
let b:did_indent = 1
" Only enable bzl google indent if python google indent is enabled.
if !get(g:, 'no_google_python_indent')
setlocal indentexpr=GetBzlIndent(v:lnum)
endif
if exists('*GetBzlIndent')
finish
endif
let s:save_cpo = &cpo
set cpo-=C
" Maximum number of lines to look backwards.
let s:maxoff = 50
""
" Determine the correct indent level given an {lnum} in the current buffer.
function GetBzlIndent(lnum) abort
let l:use_recursive_indent = !get(g:, 'no_google_python_recursive_indent')
if l:use_recursive_indent
" Backup and override indent setting variables.
if exists('g:pyindent_nested_paren')
let l:pyindent_nested_paren = g:pyindent_nested_paren
endif
if exists('g:pyindent_open_paren')
let l:pyindent_open_paren = g:pyindent_open_paren
endif
" Vim 7.3.693 and later defines a shiftwidth() function to get the effective
" shiftwidth value. Fall back to &shiftwidth if the function doesn't exist.
let l:sw_expr = exists('*shiftwidth') ? 'shiftwidth()' : '&shiftwidth'
let g:pyindent_nested_paren = l:sw_expr . ' * 2'
let g:pyindent_open_paren = l:sw_expr . ' * 2'
endif
let l:indent = -1
" Indent inside parens.
" Align with the open paren unless it is at the end of the line.
" E.g.
" open_paren_not_at_EOL(100,
" (200,
" 300),
" 400)
" open_paren_at_EOL(
" 100, 200, 300, 400)
call cursor(a:lnum, 1)
let [l:par_line, l:par_col] = searchpairpos('(\|{\|\[', '', ')\|}\|\]', 'bW',
\ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :" .
\ " synIDattr(synID(line('.'), col('.'), 1), 'name')" .
\ " =~ '\\(Comment\\|String\\)$'")
if l:par_line > 0
call cursor(l:par_line, 1)
if l:par_col != col('$') - 1
let l:indent = l:par_col
endif
endif
" Delegate the rest to the original function.
if l:indent == -1
let l:indent = GetPythonIndent(a:lnum)
endif
if l:use_recursive_indent
" Restore global variables.
if exists('l:pyindent_nested_paren')
let g:pyindent_nested_paren = l:pyindent_nested_paren
else
unlet g:pyindent_nested_paren
endif
if exists('l:pyindent_open_paren')
let g:pyindent_open_paren = l:pyindent_open_paren
else
unlet g:pyindent_open_paren
endif
endif
return l:indent
endfunction
let &cpo = s:save_cpo
unlet s:save_cpo

View File

@ -0,0 +1,10 @@
" Vim indent file
" Language: systemd.unit(5)
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
finish
endif
" Looks a lot like dosini files.
runtime! indent/dosini.vim

View File

@ -1,6 +1,6 @@
" Vim plugin for converting a syntax highlighted file to HTML. " Vim plugin for converting a syntax highlighted file to HTML.
" Maintainer: Ben Fritz <fritzophrenic@gmail.com> " Maintainer: Ben Fritz <fritzophrenic@gmail.com>
" Last Change: 2013 Jul 08 " Last Change: 2015 Sep 08
" "
" The core of the code is in $VIMRUNTIME/autoload/tohtml.vim and " The core of the code is in $VIMRUNTIME/autoload/tohtml.vim and
" $VIMRUNTIME/syntax/2html.vim " $VIMRUNTIME/syntax/2html.vim
@ -67,20 +67,24 @@
if exists('g:loaded_2html_plugin') if exists('g:loaded_2html_plugin')
finish finish
endif endif
let g:loaded_2html_plugin = 'vim7.4_v1' let g:loaded_2html_plugin = 'vim7.4_v2'
" "
" Changelog: {{{ " Changelog: {{{
" 7.4_v1 (this version): Fix modeline mangling for new "Vim:" format, and " 7.4_v2 (this version): Fix error raised when converting a diff containing
" an empty buffer. Jan Stocker: allow g:html_font to
" take a list so it is easier to specfiy fallback
" fonts in the generated CSS.
" 7.4_v1 (Vim 7.4.0000): Fix modeline mangling for new "Vim:" format, and
" also for version-specific modelines like "vim>703:". " also for version-specific modelines like "vim>703:".
" "
" 7.3 updates: {{{ " 7.3 updates: {{{
" 7.3_v14 (ad6996a23e3e): Allow suppressing line number anchors using " 7.3_v14 (Vim 7.3.1246): Allow suppressing line number anchors using
" g:html_line_ids=0. Allow customizing " g:html_line_ids=0. Allow customizing
" important IDs (like line IDs and fold IDs) using " important IDs (like line IDs and fold IDs) using
" g:html_id_expr evalutated when the buffer conversion " g:html_id_expr evalutated when the buffer conversion
" is started. " is started.
" 7.3_v13 (2eb30f341e8d): Keep foldmethod at manual in the generated file and " 7.3_v13 (Vim 7.3.1088): Keep foldmethod at manual in the generated file and
" insert modeline to set it to manual. " insert modeline to set it to manual.
" Fix bug: diff mode with 2 unsaved buffers creates a " Fix bug: diff mode with 2 unsaved buffers creates a
" duplicate of one buffer instead of including both. " duplicate of one buffer instead of including both.
@ -91,7 +95,7 @@ let g:loaded_2html_plugin = 'vim7.4_v1'
" Fix XML validation error: &nsbp; not part of XML. " Fix XML validation error: &nsbp; not part of XML.
" Allow TOhtml to chain together with other commands " Allow TOhtml to chain together with other commands
" using |. " using |.
" 7.3_v12 (9910cbff5f16): Fix modeline mangling to also work for when multiple " 7.3_v12 (Vim 7.3.0616): Fix modeline mangling to also work for when multiple
" highlight groups make up the start-of-modeline text. " highlight groups make up the start-of-modeline text.
" Improve render time of page with uncopyable regions " Improve render time of page with uncopyable regions
" by not using one-input-per-char. Change name of " by not using one-input-per-char. Change name of
@ -117,23 +121,23 @@ let g:loaded_2html_plugin = 'vim7.4_v1'
" http://groups.google.com/d/topic/vim_dev/B6FSGfq9VoI/discussion. " http://groups.google.com/d/topic/vim_dev/B6FSGfq9VoI/discussion.
" This patch has not yet been included in Vim, thus " This patch has not yet been included in Vim, thus
" these changes are removed in the next version. " these changes are removed in the next version.
" 7.3_v10 (fd09a9c8468e): Fix error E684 when converting a range wholly inside " 7.3_v10 (Vim 7.3.0227): Fix error E684 when converting a range wholly inside
" multiple nested folds with dynamic folding on. " multiple nested folds with dynamic folding on.
" Also fix problem with foldtext in this situation. " Also fix problem with foldtext in this situation.
" 7.3_v9 (0877b8d6370e): Add html_pre_wrap option active with html_use_css " 7.3_v9 (Vim 7.3.0170): Add html_pre_wrap option active with html_use_css
" and without html_no_pre, default value same as " and without html_no_pre, default value same as
" 'wrap' option, (Andy Spencer). Don't use " 'wrap' option, (Andy Spencer). Don't use
" 'fileencoding' for converted document encoding if " 'fileencoding' for converted document encoding if
" 'buftype' indicates a special buffer which isn't " 'buftype' indicates a special buffer which isn't
" written. " written.
" 7.3_v8 (85c5a72551e2): Add html_expand_tabs option to allow leaving tab " 7.3_v8 (Vim 7.3.0100): Add html_expand_tabs option to allow leaving tab
" characters in generated output (Andy Spencer). " characters in generated output (Andy Spencer).
" Escape text that looks like a modeline so Vim " Escape text that looks like a modeline so Vim
" doesn't use anything in the converted HTML as a " doesn't use anything in the converted HTML as a
" modeline. Bugfixes: Fix folding when a fold starts " modeline. Bugfixes: Fix folding when a fold starts
" before the conversion range. Remove fold column when " before the conversion range. Remove fold column when
" there are no folds. " there are no folds.
" 7.3_v7 (840c3cadb842): see betas released on vim_dev below: " 7.3_v7 (Vim 7-3-0063): see betas released on vim_dev below:
" 7.3_v7b3: Fixed bug, convert Unicode to UTF-8 all the way. " 7.3_v7b3: Fixed bug, convert Unicode to UTF-8 all the way.
" 7.3_v7b2: Remove automatic detection of encodings that are not " 7.3_v7b2: Remove automatic detection of encodings that are not
" supported by all major browsers according to " supported by all major browsers according to
@ -147,23 +151,22 @@ let g:loaded_2html_plugin = 'vim7.4_v1'
" charset, and make sure the 'fenc' of the generated " charset, and make sure the 'fenc' of the generated
" file matches its indicated charset. Add charsets for " file matches its indicated charset. Add charsets for
" all of Vim's natively supported encodings. " all of Vim's natively supported encodings.
" 7.3_v6 (0d3f0e3d289b): Really fix bug with 'nowrapscan', 'magic' and other " 7.3_v6 (Vim 7.3.0000): Really fix bug with 'nowrapscan', 'magic' and other
" user settings interfering with diff mode generation, " user settings interfering with diff mode generation,
" trailing whitespace (e.g. line number column) when " trailing whitespace (e.g. line number column) when
" using html_no_pre, and bugs when using " using html_no_pre, and bugs when using
" html_hover_unfold. " html_hover_unfold.
" 7.3_v5 ( unreleased ): Fix bug with 'nowrapscan' and also with out-of-sync " 7.3_v5 ( unreleased ): Fix bug with 'nowrapscan' and also with out-of-sync
" folds in diff mode when first line was folded. " folds in diff mode when first line was folded.
" 7.3_v4 (7e008c174cc3): Bugfixes, especially for xhtml markup, and diff mode " 7.3_v4 (Vim 7.3.0000): Bugfixes, especially for xhtml markup, and diff mode
" 7.3_v3 (a29075150aee): Refactor option handling and make html_use_css " 7.3_v3 (Vim 7.3.0000): Refactor option handling and make html_use_css
" default to true when not set to anything. Use strict " default to true when not set to anything. Use strict
" doctypes where possible. Rename use_xhtml option to " doctypes where possible. Rename use_xhtml option to
" html_use_xhtml for consistency. Use .xhtml extension " html_use_xhtml for consistency. Use .xhtml extension
" when using this option. Add meta tag for settings. " when using this option. Add meta tag for settings.
" 7.3_v2 (80229a724a11): Fix syntax highlighting in diff mode to use both the " 7.3_v2 (Vim 7.3.0000): Fix syntax highlighting in diff mode to use both the
" diff colors and the normal syntax colors " diff colors and the normal syntax colors
" 7.3_v1 (e7751177126b): Add conceal support and meta tags in output " 7.3_v1 (Vim 7.3.0000): Add conceal support and meta tags in output
" Pre-v1 baseline: Mercurial changeset 3c9324c0800e
"}}} "}}}
"}}} "}}}

View File

@ -1,6 +1,6 @@
" Vim syntax support file " Vim syntax support file
" Maintainer: Ben Fritz <fritzophrenic@gmail.com> " Maintainer: Ben Fritz <fritzophrenic@gmail.com>
" Last Change: 2013 Jul 08 " Last Change: 2015 Sep 08
" "
" Additional contributors: " Additional contributors:
" "
@ -26,7 +26,11 @@ let s:end=line('$')
" Font " Font
if exists("g:html_font") if exists("g:html_font")
if type(g:html_font) == type([])
let s:htmlfont = "'". join(g:html_font,"','") . "', monospace"
else
let s:htmlfont = "'". g:html_font . "', monospace" let s:htmlfont = "'". g:html_font . "', monospace"
endif
else else
let s:htmlfont = "monospace" let s:htmlfont = "monospace"
endif endif

16
runtime/syntax/bzl.vim Normal file
View File

@ -0,0 +1,16 @@
" Vim syntax file
" Language: Bazel (http://bazel.io)
" Maintainer: David Barnett (https://github.com/google/vim-ft-bzl)
" Last Change: 2015 Aug 11
if exists('b:current_syntax')
finish
endif
runtime! syntax/python.vim
let b:current_syntax = 'bzl'
syn region bzlRule start='^\w\+($' end='^)\n*' transparent fold
syn region bzlList start='\[' end='\]' transparent fold

View File

@ -2,10 +2,10 @@
" Program: CMake - Cross-Platform Makefile Generator " Program: CMake - Cross-Platform Makefile Generator
" Module: $RCSfile: cmake-syntax.vim,v $ " Module: $RCSfile: cmake-syntax.vim,v $
" Language: CMake " Language: CMake
" Author: Andy Cedilnik <andy.cedilnik@kitware.com>
" Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com> " Maintainer: Karthik Krishnan <karthik.krishnan@kitware.com>
" Last Change: 2015 Sep 25 " Former Maintainer: Dimitri Merejkowsky <d.merej@gmail.com>
" (Dominique Pelle added @Spell) " Author: Andy Cedilnik <andy.cedilnik@kitware.com>
" Last Change: 2015 Sep 29
" Version: $Revision: 1.10 $ " Version: $Revision: 1.10 $
" "
" Licence: The CMake license applies to this file. See " Licence: The CMake license applies to this file. See

View File

@ -4,8 +4,8 @@
" :3s+-foo++g " :3s+-foo++g
" Description: highlight dnsmasq configuration files " Description: highlight dnsmasq configuration files
" File: runtime/syntax/dnsmasq.vim " File: runtime/syntax/dnsmasq.vim
" Version: 2.70 " Version: 2.76
" Last Change: 2014 Apr 30 " Last Change: 2015 Sep 27
" Modeline: vim: ts=8:sw=2:sts=2: " Modeline: vim: ts=8:sw=2:sts=2:
" "
" License: VIM License " License: VIM License
@ -131,10 +131,12 @@ syn match DnsmasqKeyword "^\s*dhcp-sequential-ip\>"
syn match DnsmasqKeyword "^\s*dhcp-subscrid\>" syn match DnsmasqKeyword "^\s*dhcp-subscrid\>"
syn match DnsmasqKeyword "^\s*dhcp-userclass\>" syn match DnsmasqKeyword "^\s*dhcp-userclass\>"
syn match DnsmasqKeyword "^\s*dhcp-vendorclass\>" syn match DnsmasqKeyword "^\s*dhcp-vendorclass\>"
syn match DnsmasqKeyword "^\s*dhcp-hostsdir\>"
syn match DnsmasqKeyword "^\s*dns-rr\>" syn match DnsmasqKeyword "^\s*dns-rr\>"
syn match DnsmasqKeyword "^\s*dnssec\>" syn match DnsmasqKeyword "^\s*dnssec\>"
syn match DnsmasqKeyword "^\s*dnssec-check-unsigned\>" syn match DnsmasqKeyword "^\s*dnssec-check-unsigned\>"
syn match DnsmasqKeyword "^\s*dnssec-no-timecheck\>" syn match DnsmasqKeyword "^\s*dnssec-no-timecheck\>"
syn match DnsmasqKeyword "^\s*dnssec-timestamp\>"
syn match DnsmasqKeyword "^\s*dns-forward-max\>" syn match DnsmasqKeyword "^\s*dns-forward-max\>"
syn match DnsmasqKeyword "^\s*domain\>" syn match DnsmasqKeyword "^\s*domain\>"
syn match DnsmasqKeyword "^\s*domain-needed\>" syn match DnsmasqKeyword "^\s*domain-needed\>"
@ -150,6 +152,7 @@ syn match DnsmasqKeyword "^\s*host-record\>"
syn match DnsmasqKeyword "^\s*interface\>" syn match DnsmasqKeyword "^\s*interface\>"
syn match DnsmasqKeyword "^\s*interface-name\>" syn match DnsmasqKeyword "^\s*interface-name\>"
syn match DnsmasqKeyword "^\s*ipset\>" syn match DnsmasqKeyword "^\s*ipset\>"
syn match DnsmasqKeyword "^\s*ignore-address\>"
syn match DnsmasqKeyword "^\s*keep-in-foreground\>" syn match DnsmasqKeyword "^\s*keep-in-foreground\>"
syn match DnsmasqKeyword "^\s*leasefile-ro\>" syn match DnsmasqKeyword "^\s*leasefile-ro\>"
syn match DnsmasqKeyword "^\s*listen-address\>" syn match DnsmasqKeyword "^\s*listen-address\>"
@ -164,6 +167,7 @@ syn match DnsmasqKeyword "^\s*log-facility\>"
syn match DnsmasqKeyword "^\s*log-queries\>" syn match DnsmasqKeyword "^\s*log-queries\>"
syn match DnsmasqKeyword "^\s*max-ttl\>" syn match DnsmasqKeyword "^\s*max-ttl\>"
syn match DnsmasqKeyword "^\s*max-cache-ttl\>" syn match DnsmasqKeyword "^\s*max-cache-ttl\>"
syn match DnsmasqKeyword "^\s*min-cache-ttl\>"
syn match DnsmasqKeyword "^\s*min-port\>" syn match DnsmasqKeyword "^\s*min-port\>"
syn match DnsmasqKeyword "^\s*mx-host\>" syn match DnsmasqKeyword "^\s*mx-host\>"
syn match DnsmasqKeyword "^\s*mx-target\>" syn match DnsmasqKeyword "^\s*mx-target\>"
@ -204,6 +208,7 @@ syn match DnsmasqKeyword "^\s*test\>"
syn match DnsmasqKeyword "^\s*tftp-max\>" syn match DnsmasqKeyword "^\s*tftp-max\>"
syn match DnsmasqKeyword "^\s*tftp-lowercase\>" syn match DnsmasqKeyword "^\s*tftp-lowercase\>"
syn match DnsmasqKeyword "^\s*tftp-no-blocksize\>" syn match DnsmasqKeyword "^\s*tftp-no-blocksize\>"
syn match DnsmasqKeyword "^\s*tftp-no-fail\>"
syn match DnsmasqKeyword "^\s*tftp-port-range\>" syn match DnsmasqKeyword "^\s*tftp-port-range\>"
syn match DnsmasqKeyword "^\s*tftp-root\>" syn match DnsmasqKeyword "^\s*tftp-root\>"
syn match DnsmasqKeyword "^\s*tftp-secure\>" syn match DnsmasqKeyword "^\s*tftp-secure\>"

View File

@ -2,8 +2,8 @@
" Language: shell (sh) Korn shell (ksh) bash (sh) " Language: shell (sh) Korn shell (ksh) bash (sh)
" Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz> " Maintainer: Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
" Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int> " Previous Maintainer: Lennart Schultz <Lennart.Schultz@ecmwf.int>
" Last Change: May 29, 2015 " Last Change: Oct 09, 2015
" Version: 137 " Version: 139
" URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_SH
" For options and settings, please use: :help ft-sh-syntax " For options and settings, please use: :help ft-sh-syntax
" This file includes many ideas from ?ric Brunet (eric.brunet@ens.fr) " This file includes many ideas from ?ric Brunet (eric.brunet@ens.fr)
@ -16,14 +16,14 @@ elseif exists("b:current_syntax")
finish finish
endif endif
" AFAICT "." should be considered part of the iskeyword. Using iskeywords in " AFAICT "." should be considered part of the iskeyword for ksh. Using iskeywords
" syntax is dicey, so the following code permits the user to " in syntax is dicey, so the following code permits the user to prevent/override
" g:sh_isk set to a string : specify iskeyword. " g:sh_isk set to a string : specify iskeyword.
" g:sh_noisk exists : don't change iskeyword " g:sh_noisk exists : don't change iskeyword
" g:sh_noisk does not exist : (default) append "." to iskeyword " g:sh_noisk does not exist : (default) append "." to iskeyword for kornshell
if exists("g:sh_isk") && type(g:sh_isk) == 1 " user specifying iskeyword if exists("g:sh_isk") && type(g:sh_isk) == 1 " user specifying iskeyword
exe "setl isk=".g:sh_isk exe "setl isk=".g:sh_isk
elseif !exists("g:sh_noisk") " optionally prevent appending '.' to iskeyword elseif !exists("g:sh_noisk") && exists("b:is_kornshell") " append '.' to iskeyword
setl isk+=. setl isk+=.
endif endif
@ -128,7 +128,7 @@ syn cluster shIdList contains=shCommandSub,shWrapLineOperator,shSetOption,shDere
syn cluster shIfList contains=@shLoopList,shDblBrace,shDblParen,shFunctionKey,shFunctionOne,shFunctionTwo syn cluster shIfList contains=@shLoopList,shDblBrace,shDblParen,shFunctionKey,shFunctionOne,shFunctionTwo
syn cluster shLoopList contains=@shCaseList,@shErrorList,shCaseEsac,shConditional,shDblBrace,shExpr,shFor,shForPP,shIf,shOption,shSet,shTest,shTestOpr syn cluster shLoopList contains=@shCaseList,@shErrorList,shCaseEsac,shConditional,shDblBrace,shExpr,shFor,shForPP,shIf,shOption,shSet,shTest,shTestOpr
syn cluster shSubShList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator syn cluster shSubShList contains=@shCommandSubList,shCaseEsac,shColon,shCommandSub,shComment,shDo,shEcho,shExpr,shFor,shIf,shRedir,shSetList,shSource,shStatement,shVariable,shCtrlSeq,shOperator
syn cluster shTestList contains=shCharClass,shCommandSub,shComment,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shSingleQuote,shTest,shTestOpr syn cluster shTestList contains=shCharClass,shCommandSub,shCtrlSeq,shDeref,shDerefSimple,shDoubleQuote,shExDoubleQuote,shExpr,shExSingleQuote,shNumber,shOperator,shSingleQuote,shTest,shTestOpr
" Echo: {{{1 " Echo: {{{1
" ==== " ====
" This one is needed INSIDE a CommandSub, so that `echo bla` be correct " This one is needed INSIDE a CommandSub, so that `echo bla` be correct
@ -321,12 +321,11 @@ elseif !exists("g:sh_no_error")
endif endif
syn region shSingleQuote matchgroup=shQuote start=+'+ end=+'+ contains=@Spell syn region shSingleQuote matchgroup=shQuote start=+'+ end=+'+ contains=@Spell
syn region shDoubleQuote matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell syn region shDoubleQuote matchgroup=shQuote start=+\%(\%(\\\\\)*\\\)\@<!"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
syn region shDoubleQuote matchgroup=shQuote start=+"+ skip=+\\"+ end=+"+ contains=@shDblQuoteList,shStringSpecial,@Spell
syn match shStringSpecial "[^[:print:] \t]" contained syn match shStringSpecial "[^[:print:] \t]" contained
syn match shStringSpecial "\%(\\\\\)*\\[\\"'`$()#]" syn match shStringSpecial "\%(\\\\\)*\\[\\"'`$()#]"
" COMBAK: why is ,shComment on next line??? " COMBAK: why is ,shComment on next line???
syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial,shComment syn match shSpecial "[^\\]\zs\%(\\\\\)*\\[\\"'`$()#]"
syn match shSpecial "^\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shComment syn match shSpecial "^\%(\\\\\)*\\[\\"'`$()#]"
syn match shMoreSpecial "\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial contained syn match shMoreSpecial "\%(\\\\\)*\\[\\"'`$()#]" nextgroup=shMoreSpecial contained
" Comments: {{{1 " Comments: {{{1
@ -410,26 +409,26 @@ endif
if exists("b:is_bash") if exists("b:is_bash")
if s:sh_fold_functions if s:sh_fold_functions
syn region shFunctionOne fold matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment syn region shFunctionOne fold matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
syn region shFunctionTwo fold matchgroup=shFunction start="\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment syn region shFunctionTwo fold matchgroup=shFunction start="\<[^d][^o]\&\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
syn region shFunctionThree fold matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*(" end=")" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment syn region shFunctionThree fold matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*(" end=")" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
syn region shFunctionFour fold matchgroup=shFunction start="\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*)" end=")" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment syn region shFunctionFour fold matchgroup=shFunction start="\<[^d][^o]\&\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*)" end=")" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
else else
syn region shFunctionOne matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*{" end="}" contains=@shFunctionList syn region shFunctionOne matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*{" end="}" contains=@shFunctionList
syn region shFunctionTwo matchgroup=shFunction start="\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained syn region shFunctionTwo matchgroup=shFunction start="\<[^d][^o]\&\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained
syn region shFunctionThree matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*(" end=")" contains=@shFunctionList syn region shFunctionThree matchgroup=shFunction start="^\s*\h[-a-zA-Z_0-9]*\s*()\_s*(" end=")" contains=@shFunctionList
syn region shFunctionFour matchgroup=shFunction start="\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*(" end=")" contains=shFunctionKey,@shFunctionList contained syn region shFunctionFour matchgroup=shFunction start="\<[^d][^o]\&\h[-a-zA-Z_0-9]*\s*\%(()\)\=\_s*(" end=")" contains=shFunctionKey,@shFunctionList contained
endif endif
else else
if s:sh_fold_functions if s:sh_fold_functions
syn region shFunctionOne fold matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment syn region shFunctionOne fold matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
syn region shFunctionTwo fold matchgroup=shFunction start="\h\w*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment syn region shFunctionTwo fold matchgroup=shFunction start="\<[^d][^o]\&\h\w*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
syn region shFunctionThree fold matchgroup=shFunction start="^\s*\h\w*\s*()\_s*(" end=")" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment syn region shFunctionThree fold matchgroup=shFunction start="^\s*\h\w*\s*()\_s*(" end=")" contains=@shFunctionList skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
syn region shFunctionFour fold matchgroup=shFunction start="\h\w*\s*\%(()\)\=\_s*(" end=")" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment syn region shFunctionFour fold matchgroup=shFunction start="\<[^d][^o]\&\h\w*\s*\%(()\)\=\_s*(" end=")" contains=shFunctionKey,@shFunctionList contained skipwhite skipnl nextgroup=shFunctionStart,shQuickComment
else else
syn region shFunctionOne matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList syn region shFunctionOne matchgroup=shFunction start="^\s*\h\w*\s*()\_s*{" end="}" contains=@shFunctionList
syn region shFunctionTwo matchgroup=shFunction start="\h\w*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained syn region shFunctionTwo matchgroup=shFunction start="\<[^d][^o]\&\h\w*\s*\%(()\)\=\_s*{" end="}" contains=shFunctionKey,@shFunctionList contained
syn region shFunctionThree matchgroup=shFunction start="^\s*\h\w*\s*()\_s*(" end=")" contains=@shFunctionList syn region shFunctionThree matchgroup=shFunction start="^\s*\h\w*\s*()\_s*(" end=")" contains=@shFunctionList
syn region shFunctionFour matchgroup=shFunction start="\h\w*\s*\%(()\)\=\_s*(" end=")" contains=shFunctionKey,@shFunctionList contained syn region shFunctionFour matchgroup=shFunction start="\<[^d][^o]\&\h\w*\s*\%(()\)\=\_s*(" end=")" contains=shFunctionKey,@shFunctionList contained
endif endif
endif endif

View File

@ -0,0 +1,8 @@
" Vim syntax file
" Language: systemd.unit(5)
if !exists('b:current_syntax')
" Looks a lot like dosini files.
runtime! syntax/dosini.vim
let b:current_syntax = 'systemd'
endif

View File

@ -3,7 +3,7 @@
" Maintainer: Daniel Kho <daniel.kho@tauhop.com> " Maintainer: Daniel Kho <daniel.kho@tauhop.com>
" Previous Maintainer: Czo <Olivier.Sirol@lip6.fr> " Previous Maintainer: Czo <Olivier.Sirol@lip6.fr>
" Credits: Stephan Hegel <stephan.hegel@snc.siemens.com.cn> " Credits: Stephan Hegel <stephan.hegel@snc.siemens.com.cn>
" Last Changed: 2015 Apr 25 by Daniel Kho " Last Changed: 2015 Oct 13 by Daniel Kho
" $Id: vhdl.vim,v 1.1 2004/06/13 15:34:56 vimboss Exp $ " $Id: vhdl.vim,v 1.1 2004/06/13 15:34:56 vimboss Exp $
" VHSIC (Very High Speed Integrated Circuit) Hardware Description Language " VHSIC (Very High Speed Integrated Circuit) Hardware Description Language
@ -72,6 +72,7 @@ syn keyword vhdlType boolean_vector integer_vector real_vector time_vector
syn keyword vhdlType string severity_level syn keyword vhdlType string severity_level
" Predefined standard ieee VHDL types " Predefined standard ieee VHDL types
syn keyword vhdlType positive natural signed unsigned syn keyword vhdlType positive natural signed unsigned
syn keyword vhdlType unresolved_signed unresolved_unsigned u_signed u_unsigned
syn keyword vhdlType line text syn keyword vhdlType line text
syn keyword vhdlType std_logic std_logic_vector syn keyword vhdlType std_logic std_logic_vector
syn keyword vhdlType std_ulogic std_ulogic_vector syn keyword vhdlType std_ulogic std_ulogic_vector
@ -92,12 +93,12 @@ syn match vhdlAttribute "\'reverse_range"
syn match vhdlAttribute "\'right" syn match vhdlAttribute "\'right"
syn match vhdlAttribute "\'ascending" syn match vhdlAttribute "\'ascending"
" block attributes " block attributes
syn match vhdlAttribute "\'behaviour" "syn match vhdlAttribute "\'behaviour" " Non-standard VHDL
syn match vhdlAttribute "\'structure" "syn match vhdlAttribute "\'structure" " Non-standard VHDL
syn match vhdlAttribute "\'simple_name" syn match vhdlAttribute "\'simple_name"
syn match vhdlAttribute "\'instance_name" syn match vhdlAttribute "\'instance_name"
syn match vhdlAttribute "\'path_name" syn match vhdlAttribute "\'path_name"
syn match vhdlAttribute "\'foreign" syn match vhdlAttribute "\'foreign" " VHPI
" signal attribute " signal attribute
syn match vhdlAttribute "\'active" syn match vhdlAttribute "\'active"
syn match vhdlAttribute "\'delayed" syn match vhdlAttribute "\'delayed"
@ -112,10 +113,9 @@ syn match vhdlAttribute "\'driving"
syn match vhdlAttribute "\'driving_value" syn match vhdlAttribute "\'driving_value"
" type attributes " type attributes
syn match vhdlAttribute "\'base" syn match vhdlAttribute "\'base"
syn match vhdlAttribute "\'high" syn match vhdlAttribute "\'subtype"
syn match vhdlAttribute "\'left" syn match vhdlAttribute "\'element"
syn match vhdlAttribute "\'leftof" syn match vhdlAttribute "\'leftof"
syn match vhdlAttribute "\'low"
syn match vhdlAttribute "\'pos" syn match vhdlAttribute "\'pos"
syn match vhdlAttribute "\'pred" syn match vhdlAttribute "\'pred"
syn match vhdlAttribute "\'rightof" syn match vhdlAttribute "\'rightof"
@ -150,34 +150,76 @@ syn match vhdlNumber "-\=\<\d\+\(E[+\-]\=\d\+\)\>"
syn match vhdlNumber "-\=\<\d\+\>" syn match vhdlNumber "-\=\<\d\+\>"
syn match vhdlNumber "0*2#[01_]\+#\(E[+\-]\=\d\+\)\=" syn match vhdlNumber "0*2#[01_]\+#\(E[+\-]\=\d\+\)\="
syn match vhdlNumber "0*16#[0-9a-f_]\+#\(E[+\-]\=\d\+\)\=" syn match vhdlNumber "0*16#[0-9a-f_]\+#\(E[+\-]\=\d\+\)\="
" operators " operators
syn keyword vhdlOperator and nand or nor xor xnor syn keyword vhdlOperator and nand or nor xor xnor
syn keyword vhdlOperator rol ror sla sll sra srl syn keyword vhdlOperator rol ror sla sll sra srl
syn keyword vhdlOperator mod rem abs not syn keyword vhdlOperator mod rem abs not
syn match vhdlOperator "[&><=:+\-*\/|]" " TODO remove the following line. You can't have a sequence of */=+ as an operator for example.
"syn match vhdlOperator "[&><=:+\-*\/|]"
" The following lines match valid and invalid operators.
" Concatenation and math operators
syn match vhdlOperator "&\|+\|-\|\*\|\/"
" Equality and comparison operators
syn match vhdlOperator "=\|\/=\|>\|<\|>="
" Assignment operators
syn match vhdlOperator "<=\|:="
syn match vhdlOperator "=>"
" VHDL-2008 conversion, matching equality/non-equality operators
syn match vhdlOperator "??\|?=\|?\/=\|?<\|?<=\|?>\|?>="
" Linting for illegal operators
" '='
syn match vhdlError "\(=\)[<=&+\-\*\/\\]\+"
syn match vhdlError "[=&+\-\*\\]\+\(=\)"
" '>', '<'
syn match vhdlError "\(>\)[<>&+\-\/\\]\+"
syn match vhdlError "[>&+\-\/\\]\+\(>\)"
syn match vhdlError "\(<\)[<&+\-\/\\]\+"
syn match vhdlError "[<>=&+\-\/\\]\+\(<\)"
" Covers most operators
syn match vhdlError "\(&\|+\|\-\|\*\*\|\/=\|??\|?=\|?\/=\|?<=\|?>=\|>=\|<=\|:=\|=>\)[<>=&+\-\*\\?:]\+"
syn match vhdlError "[<>=&+\-\*\\:]\+\(&\|+\|\-\|\*\*\|\/=\|??\|?=\|?\/=\|?<\|?<=\|?>\|?>=\|>=\|<=\|:=\|=>\)"
syn match vhdlError "\(?<\|?>\)[<>&+\-\*\/\\?:]\+"
"syn match vhdlError "[?]\+\(&\|+\|\-\|\*\*\|??\|?=\|?\/=\|?<\|?<=\|?>\|?>=\|:=\|=>\)"
" '/'
syn match vhdlError "\(\/\)[<>&+\-\*\/\\?:]\+"
syn match vhdlError "[<>=&+\-\*\/\\:]\+\(\/\)"
syn match vhdlSpecial "<>"
syn match vhdlSpecial "[().,;]" syn match vhdlSpecial "[().,;]"
" time " time
syn match vhdlTime "\<\d\+\s\+\(\([fpnum]s\)\|\(sec\)\|\(min\)\|\(hr\)\)\>" syn match vhdlTime "\<\d\+\s\+\(\([fpnum]s\)\|\(sec\)\|\(min\)\|\(hr\)\)\>"
syn match vhdlTime "\<\d\+\.\d\+\s\+\(\([fpnum]s\)\|\(sec\)\|\(min\)\|\(hr\)\)\>" syn match vhdlTime "\<\d\+\.\d\+\s\+\(\([fpnum]s\)\|\(sec\)\|\(min\)\|\(hr\)\)\>"
syn case match
syn keyword vhdlTodo contained TODO NOTE syn keyword vhdlTodo contained TODO NOTE
syn keyword vhdlFixme contained FIXME syn keyword vhdlFixme contained FIXME
syn case ignore
" Regex for space is '\s'
" Any number of spaces: \s*
" At least one space: \s+
syn region vhdlComment start="/\*" end="\*/" contains=vhdlTodo,vhdlFixme,@Spell syn region vhdlComment start="/\*" end="\*/" contains=vhdlTodo,vhdlFixme,@Spell
syn match vhdlComment "--.*" contains=vhdlTodo,vhdlFixme,@Spell syn match vhdlComment "\(^\|\s\)--.*" contains=vhdlTodo,vhdlFixme,@Spell
" Industry-standard directives. These are not standard VHDL, but are commonly
" used in the industry.
syn match vhdlPreProc "/\* synthesis .* \*/" syn match vhdlPreProc "/\* synthesis .* \*/"
"syn match vhdlPreProc "/\* simulation .* \*/"
syn match vhdlPreProc "/\* pragma .* \*/" syn match vhdlPreProc "/\* pragma .* \*/"
syn match vhdlPreProc "/\* synopsys .* \*/" syn match vhdlPreProc "/\* synopsys .* \*/"
syn match vhdlPreProc "--\s*synthesis .*" syn match vhdlPreProc "--\s*synthesis .*"
"syn match vhdlPreProc "--\s*simulation .*"
syn match vhdlPreProc "--\s*pragma .*" syn match vhdlPreProc "--\s*pragma .*"
syn match vhdlPreProc "--\s*synopsys .*" syn match vhdlPreProc "--\s*synopsys .*"
" syn match vhdlGlobal "[\'$#~!%@?\^\[\]{}\\]"
"Modify the following as needed. The trade-off is performance versus functionality. "Modify the following as needed. The trade-off is performance versus functionality.
syn sync minlines=200 syn sync minlines=600
" Define the default highlighting. " Define the default highlighting.
" For version 5.7 and earlier: only when not done already " For version 5.7 and earlier: only when not done already
@ -203,7 +245,7 @@ if version >= 508 || !exists("did_vhdl_syntax_inits")
HiLink vhdlTime Number HiLink vhdlTime Number
HiLink vhdlType Type HiLink vhdlType Type
HiLink vhdlOperator Operator HiLink vhdlOperator Operator
" HiLink vhdlGlobal Error HiLink vhdlError Error
HiLink vhdlAttribute Special HiLink vhdlAttribute Special
HiLink vhdlPreProc PreProc HiLink vhdlPreProc PreProc