vim-patch:partial: 48c3f4e0bff7 (#19684)

vim-patch:partial:48c3f4e0bff7

Update runtime files
48c3f4e0bf

partially skip `options.txt` (needs 9.0.0138)
This commit is contained in:
Christian Clason 2022-08-09 10:43:28 +02:00 committed by GitHub
parent e6680ea7c3
commit a5e846b996
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
15 changed files with 455 additions and 181 deletions

View File

@ -348,7 +348,7 @@ func dist#ft#FTidl()
setf idl setf idl
endfunc endfunc
" Distinguish between "default" and Cproto prototype file. */ " Distinguish between "default", Prolog and Cproto prototype file. */
func dist#ft#ProtoCheck(default) func dist#ft#ProtoCheck(default)
" Cproto files have a comment in the first line and a function prototype in " Cproto files have a comment in the first line and a function prototype in
" the second line, it always ends in ";". Indent files may also have " the second line, it always ends in ";". Indent files may also have
@ -358,7 +358,14 @@ func dist#ft#ProtoCheck(default)
if getline(2) =~ '.;$' if getline(2) =~ '.;$'
setf cpp setf cpp
else else
exe 'setf ' . a:default " recognize Prolog by specific text in the first non-empty line
" require a blank after the '%' because Perl uses "%list" and "%translate"
let l = getline(nextnonblank(1))
if l =~ '\<prolog\>' || l =~ '^\s*\(%\+\(\s\|$\)\|/\*\)' || l =~ ':-'
setf prolog
else
exe 'setf ' .. a:default
endif
endif endif
endfunc endfunc

View File

@ -3,13 +3,28 @@
let s:keepcpo= &cpo let s:keepcpo= &cpo
set cpo&vim set cpo&vim
" searchpair() can be slow, limit the time to 150 msec or what is put in
" g:pyindent_searchpair_timeout
let s:searchpair_timeout = get(g:, 'pyindent_searchpair_timeout', 150)
" Identing inside parentheses can be very slow, regardless of the searchpair()
" timeout, so let the user disable this feature if he doesn't need it
let s:disable_parentheses_indenting = get(g:, 'pyindent_disable_parentheses_indenting', v:false)
let s:maxoff = 50 " maximum number of lines to look backwards for ()
function s:SearchBracket(fromlnum, flags)
return searchpairpos('[[({]', '', '[])}]', a:flags,
\ {-> synID('.', col('.'), v:true)->synIDattr('name')
\ =~ '\%(Comment\|Todo\|String\)$'},
\ [0, a:fromlnum - s:maxoff]->max(), s:searchpair_timeout)
endfunction
" See if the specified line is already user-dedented from the expected value. " See if the specified line is already user-dedented from the expected value.
function s:Dedented(lnum, expected) function s:Dedented(lnum, expected)
return indent(a:lnum) <= a:expected - shiftwidth() return indent(a:lnum) <= a:expected - shiftwidth()
endfunction endfunction
let s:maxoff = 50 " maximum number of lines to look backwards for ()
" Some other filetypes which embed Python have slightly different indent " Some other filetypes which embed Python have slightly different indent
" rules (e.g. bitbake). Those filetypes can pass an extra funcref to this " rules (e.g. bitbake). Those filetypes can pass an extra funcref to this
" function which is evaluated below. " function which is evaluated below.
@ -39,30 +54,30 @@ function python#GetIndent(lnum, ...)
return 0 return 0
endif endif
call cursor(plnum, 1) if s:disable_parentheses_indenting == 1
" Identing inside parentheses can be very slow, regardless of the searchpair()
" timeout, so let the user disable this feature if he doesn't need it
let disable_parentheses_indenting = get(g:, "pyindent_disable_parentheses_indenting", 0)
if disable_parentheses_indenting == 1
let plindent = indent(plnum) let plindent = indent(plnum)
let plnumstart = plnum let plnumstart = plnum
else else
" searchpair() can be slow sometimes, limit the time to 150 msec or what is " Indent inside parens.
" put in g:pyindent_searchpair_timeout " Align with the open paren unless it is at the end of the line.
let searchpair_stopline = 0 " E.g.
let searchpair_timeout = get(g:, 'pyindent_searchpair_timeout', 150) " open_paren_not_at_EOL(100,
" (200,
" 300),
" 400)
" open_paren_at_EOL(
" 100, 200, 300, 400)
call cursor(a:lnum, 1)
let [parlnum, parcol] = s:SearchBracket(a:lnum, 'nbW')
if parlnum > 0 && parcol != col([parlnum, '$']) - 1
return parcol
endif
call cursor(plnum, 1)
" If the previous line is inside parenthesis, use the indent of the starting " If the previous line is inside parenthesis, use the indent of the starting
" line. " line.
" Trick: use the non-existing "dummy" variable to break out of the loop when let [parlnum, _] = s:SearchBracket(plnum, 'nbW')
" going too far back.
let parlnum = searchpair('(\|{\|\[', '', ')\|}\|\]', 'nbW',
\ "line('.') < " . (plnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if parlnum > 0 if parlnum > 0
if a:0 > 0 && ExtraFunc(parlnum) if a:0 > 0 && ExtraFunc(parlnum)
" We may have found the opening brace of a bitbake Python task, e.g. 'python do_task {' " We may have found the opening brace of a bitbake Python task, e.g. 'python do_task {'
@ -85,11 +100,7 @@ function python#GetIndent(lnum, ...)
" + b " + b
" + c) " + c)
call cursor(a:lnum, 1) call cursor(a:lnum, 1)
let p = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW', let [p, _] = s:SearchBracket(a:lnum, 'bW')
\ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if p > 0 if p > 0
if a:0 > 0 && ExtraFunc(p) if a:0 > 0 && ExtraFunc(p)
" Currently only used by bitbake " Currently only used by bitbake
@ -109,11 +120,7 @@ function python#GetIndent(lnum, ...)
else else
if p == plnum if p == plnum
" When the start is inside parenthesis, only indent one 'shiftwidth'. " When the start is inside parenthesis, only indent one 'shiftwidth'.
let pp = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW', let [pp, _] = s:SearchBracket(a:lnum, 'bW')
\ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
\ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
\ . " =~ '\\(Comment\\|Todo\\|String\\)$'",
\ searchpair_stopline, searchpair_timeout)
if pp > 0 if pp > 0
return indent(plnum) + (exists("g:pyindent_nested_paren") ? eval(g:pyindent_nested_paren) : shiftwidth()) return indent(plnum) + (exists("g:pyindent_nested_paren") ? eval(g:pyindent_nested_paren) : shiftwidth())
endif endif
@ -136,12 +143,12 @@ function python#GetIndent(lnum, ...)
" If the last character in the line is a comment, do a binary search for " If the last character in the line is a comment, do a binary search for
" the start of the comment. synID() is slow, a linear search would take " the start of the comment. synID() is slow, a linear search would take
" too long on a long line. " too long on a long line.
if synIDattr(synID(plnum, pline_len, 1), "name") =~ "\\(Comment\\|Todo\\)$" if synIDattr(synID(plnum, pline_len, 1), "name") =~ "\\(Comment\\|Todo\\)"
let min = 1 let min = 1
let max = pline_len let max = pline_len
while min < max while min < max
let col = (min + max) / 2 let col = (min + max) / 2
if synIDattr(synID(plnum, col, 1), "name") =~ "\\(Comment\\|Todo\\)$" if synIDattr(synID(plnum, col, 1), "name") =~ "\\(Comment\\|Todo\\)"
let max = col let max = col
else else
let min = col + 1 let min = col + 1

View File

@ -25,6 +25,7 @@ Get specific help: It is possible to go directly to whatever you want help
Option ' :help 'textwidth' Option ' :help 'textwidth'
Regular expression / :help /[ Regular expression / :help /[
See |help-summary| for more contexts and an explanation. See |help-summary| for more contexts and an explanation.
See |notation| for an explanation of the help syntax.
Search for help: Type ":help word", then hit CTRL-D to see matching Search for help: Type ":help word", then hit CTRL-D to see matching
help entries for "word". help entries for "word".

View File

@ -1325,7 +1325,8 @@ A jump table for the options with a short description can be found at |Q_op|.
page can have a different value. page can have a different value.
When 'cmdheight' is zero, there is no command-line unless it is being When 'cmdheight' is zero, there is no command-line unless it is being
used. Any messages will cause the |hit-enter| prompt. used. Some informative messages will not be displayed, any other
messages will cause the |hit-enter| prompt.
*'cmdwinheight'* *'cwh'* *'cmdwinheight'* *'cwh'*
'cmdwinheight' 'cwh' number (default 7) 'cmdwinheight' 'cwh' number (default 7)
@ -3735,8 +3736,8 @@ A jump table for the options with a short description can be found at |Q_op|.
*'lispwords'* *'lw'* *'lispwords'* *'lw'*
'lispwords' 'lw' string (default is very long) 'lispwords' 'lw' string (default is very long)
global or local to buffer |global-local| global or local to buffer |global-local|
Comma-separated list of words that influence the Lisp indenting. Comma-separated list of words that influence the Lisp indenting when
|'lisp'| enabled with the |'lisp'| option.
*'list'* *'nolist'* *'list'* *'nolist'*
'list' boolean (default off) 'list' boolean (default off)

View File

@ -202,9 +202,9 @@ message when it doesn't, append !: >
:unlet! s:count :unlet! s:count
When a script finishes, the local variables used there will not be When a script has been processed to the end, the local variables declared
automatically freed. The next time the script executes, it can still use the there will not be deleted. Functions defined in the script can use them.
old value. Example: > Example:
:if !exists("s:call_count") :if !exists("s:call_count")
: let s:call_count = 0 : let s:call_count = 0

View File

@ -1,7 +1,7 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: Abaqus finite element input file (www.abaqus.com) " Language: Abaqus finite element input file (www.abaqus.com)
" Maintainer: Carl Osterwisch <osterwischc@asme.org> " Maintainer: Carl Osterwisch <costerwi@gmail.com>
" Last Change: 2022 May 09 " Last Change: 2022 Aug 03
" Only do this when not done yet for this buffer " Only do this when not done yet for this buffer
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin") | finish | endif
@ -46,7 +46,7 @@ if has("folding")
endif endif
" Set the file browse filter (currently only supported under Win32 gui) " Set the file browse filter (currently only supported under Win32 gui)
if has("gui_win32") && !exists("b:browsefilter") if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")
let b:browsefilter = "Abaqus Input Files (*.inp *.inc)\t*.inp;*.inc\n" . let b:browsefilter = "Abaqus Input Files (*.inp *.inc)\t*.inp;*.inc\n" .
\ "Abaqus Results (*.dat)\t*.dat\n" . \ "Abaqus Results (*.dat)\t*.dat\n" .
\ "Abaqus Messages (*.pre *.msg *.sta)\t*.pre;*.msg;*.sta\n" . \ "Abaqus Messages (*.pre *.msg *.sta)\t*.pre;*.msg;*.sta\n" .
@ -57,7 +57,7 @@ endif
" Define patterns for the matchit plugin " Define patterns for the matchit plugin
if exists("loaded_matchit") && !exists("b:match_words") if exists("loaded_matchit") && !exists("b:match_words")
let b:match_ignorecase = 1 let b:match_ignorecase = 1
let b:match_words = let b:match_words =
\ '\*part:\*end\s*part,' . \ '\*part:\*end\s*part,' .
\ '\*assembly:\*end\s*assembly,' . \ '\*assembly:\*end\s*assembly,' .
\ '\*instance:\*end\s*instance,' . \ '\*instance:\*end\s*instance,' .
@ -65,25 +65,27 @@ if exists("loaded_matchit") && !exists("b:match_words")
let b:undo_ftplugin .= "|unlet! b:match_ignorecase b:match_words" let b:undo_ftplugin .= "|unlet! b:match_ignorecase b:match_words"
endif endif
" Define keys used to move [count] keywords backward or forward. if !exists("no_plugin_maps") && !exists("no_abaqus_maps")
noremap <silent><buffer> [[ ?^\*\a<CR>:nohlsearch<CR> " Define keys used to move [count] keywords backward or forward.
noremap <silent><buffer> ]] /^\*\a<CR>:nohlsearch<CR> noremap <silent><buffer> [[ ?^\*\a<CR>:nohlsearch<CR>
noremap <silent><buffer> ]] /^\*\a<CR>:nohlsearch<CR>
" Define key to toggle commenting of the current line or range " Define key to toggle commenting of the current line or range
noremap <silent><buffer> <LocalLeader><LocalLeader> noremap <silent><buffer> <LocalLeader><LocalLeader>
\ :call <SID>Abaqus_ToggleComment()<CR>j \ :call <SID>Abaqus_ToggleComment()<CR>j
function! <SID>Abaqus_ToggleComment() range function! <SID>Abaqus_ToggleComment() range
if strpart(getline(a:firstline), 0, 2) == "**" if strpart(getline(a:firstline), 0, 2) == "**"
" Un-comment all lines in range " Un-comment all lines in range
silent execute a:firstline . ',' . a:lastline . 's/^\*\*//' silent execute a:firstline . ',' . a:lastline . 's/^\*\*//'
else else
" Comment all lines in range " Comment all lines in range
silent execute a:firstline . ',' . a:lastline . 's/^/**/' silent execute a:firstline . ',' . a:lastline . 's/^/**/'
endif endif
endfunction endfunction
let b:undo_ftplugin .= "|unmap <buffer> [[|unmap <buffer> ]]" let b:undo_ftplugin .= "|unmap <buffer> [[|unmap <buffer> ]]"
\ . "|unmap <buffer> <LocalLeader><LocalLeader>" \ . "|unmap <buffer> <LocalLeader><LocalLeader>"
endif
" Undo must be done in nocompatible mode for <LocalLeader>. " Undo must be done in nocompatible mode for <LocalLeader>.
let b:undo_ftplugin = "let b:cpo_save = &cpoptions|" let b:undo_ftplugin = "let b:cpo_save = &cpoptions|"

View File

@ -1,12 +1,12 @@
" Vim filetype plugin file " Vim filetype plugin file
" Language: php " Language: PHP
" " Maintainer: Doug Kearns <dougkearns@gmail.com>
" This runtime file is looking for a new maintainer. " Previous Maintainer: Dan Sharp
" " Last Changed: 2022 Jul 20
" Former maintainer: Dan Sharp
" Last Changed: 20 Jan 2009
if exists("b:did_ftplugin") | finish | endif if exists("b:did_ftplugin")
finish
endif
" Make sure the continuation lines below do not cause problems in " Make sure the continuation lines below do not cause problems in
" compatibility mode. " compatibility mode.
@ -15,8 +15,8 @@ set cpo&vim
" Define some defaults in case the included ftplugins don't set them. " Define some defaults in case the included ftplugins don't set them.
let s:undo_ftplugin = "" let s:undo_ftplugin = ""
let s:browsefilter = "HTML Files (*.html, *.htm)\t*.html;*.htm\n" . let s:browsefilter = "HTML Files (*.html, *.htm)\t*.html;*.htm\n" ..
\ "All Files (*.*)\t*.*\n" \ "All Files (*.*)\t*.*\n"
let s:match_words = "" let s:match_words = ""
runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim runtime! ftplugin/html.vim ftplugin/html_*.vim ftplugin/html/*.vim
@ -24,63 +24,130 @@ let b:did_ftplugin = 1
" Override our defaults if these were set by an included ftplugin. " Override our defaults if these were set by an included ftplugin.
if exists("b:undo_ftplugin") if exists("b:undo_ftplugin")
let s:undo_ftplugin = b:undo_ftplugin " let b:undo_ftplugin = "setlocal comments< commentstring< formatoptions< omnifunc<"
let s:undo_ftplugin = b:undo_ftplugin
endif endif
if exists("b:browsefilter") if exists("b:browsefilter")
let s:browsefilter = b:browsefilter " let b:undo_ftplugin ..= " | unlet! b:browsefilter b:html_set_browsefilter"
let s:browsefilter = b:browsefilter
endif endif
if exists("b:match_words") if exists("b:match_words")
let s:match_words = b:match_words " let b:undo_ftplugin ..= " | unlet! b:match_ignorecase b:match_words b:html_set_match_words"
let s:match_words = b:match_words
endif endif
if exists("b:match_skip") if exists("b:match_skip")
unlet b:match_skip unlet b:match_skip
endif endif
" Change the :browse e filter to primarily show PHP-related files. setlocal comments=s1:/*,mb:*,ex:*/,://,:#
if has("gui_win32") setlocal commentstring=/*%s*/
let b:browsefilter="PHP Files (*.php)\t*.php\n" . s:browsefilter setlocal formatoptions+=l formatoptions-=t
if get(g:, "php_autocomment", 1)
setlocal formatoptions+=croq
" NOTE: set g:PHP_autoformatcomment = 0 to prevent the indent plugin from
" overriding this 'comments' value
setlocal comments-=:#
" space after # comments to exclude attributes
setlocal comments+=b:#
endif endif
if exists('&omnifunc')
setlocal omnifunc=phpcomplete#CompletePHP
endif
setlocal suffixesadd=.php
" ### " ###
" Provided by Mikolaj Machowski <mikmach at wp dot pl> " Provided by Mikolaj Machowski <mikmach at wp dot pl>
setlocal include=\\\(require\\\|include\\\)\\\(_once\\\)\\\? setlocal include=\\\(require\\\|include\\\)\\\(_once\\\)\\\?
" Disabled changing 'iskeyword', it breaks a command such as "*" " Disabled changing 'iskeyword', it breaks a command such as "*"
" setlocal iskeyword+=$ " setlocal iskeyword+=$
if exists("loaded_matchit") let b:undo_ftplugin = "setlocal include< suffixesadd<"
let b:match_words = '<?php:?>,\<switch\>:\<endswitch\>,' .
\ '\<if\>:\<elseif\>:\<else\>:\<endif\>,' . if exists("loaded_matchit") && exists("b:html_set_match_words")
\ '\<while\>:\<endwhile\>,' . let b:match_ignorecase = 1
\ '\<do\>:\<while\>,' . let b:match_words = 'PhpMatchWords()'
\ '\<for\>:\<endfor\>,' .
\ '\<foreach\>:\<endforeach\>,' . if !exists("*PhpMatchWords")
\ '(:),[:],{:},' . function! PhpMatchWords()
\ s:match_words " The PHP syntax file uses the Delimiter syntax group for the phpRegion
" matchgroups, without a "php" prefix, so use the stack to test for the
" outer phpRegion group. This also means the closing ?> tag which is
" outside of the matched region just uses the Delimiter group for the
" end match.
let stack = synstack(line('.'), col('.'))
let php_region = !empty(stack) && synIDattr(stack[0], "name") =~# '\<php'
if php_region || getline(".") =~ '.\=\%.c\&?>'
let b:match_skip = "PhpMatchSkip('html')"
return '<?php\|<?=\=:?>,' ..
\ '\<if\>:\<elseif\>:\<else\>:\<endif\>,' ..
\ '\<switch\>:\<case\>:\<break\>:\<continue\>:\<endswitch\>,' ..
\ '\<while\>.\{-})\s*\::\<break\>:\<continue\>:\<endwhile\>,' ..
\ '\<do\>:\<break\>:\<continue\>:\<while\>,' ..
\ '\<for\>:\<break\>:\<continue\>:\<endfor\>,' ..
\ '\<foreach\>:\<break\>:\<continue\>:\<endforeach\>,' ..
\ '\%(<<<\s*\)\@<=''\=\(\h\w*\)''\=:^\s*\1\>'
" TODO: these probably aren't worth adding and really need syntax support
" '<\_s*script\_s*language\_s*=\_s*[''"]\=\_s*php\_s*[''"]\=\_s*>:<\_s*\_s*/\_s*script\_s*>,' ..
" '<%:%>,' ..
else
let b:match_skip = "PhpMatchSkip('php')"
return s:match_words
endif
endfunction
endif
if !exists("*PhpMatchSkip")
function! PhpMatchSkip(skip)
let name = synIDattr(synID(line('.'), col('.'), 1), 'name')
if a:skip == "html"
" ?> in line comments will also be correctly matched as Delimiter
return name =~? 'comment\|string' || name !~? 'php\|delimiter'
else " php
return name =~? 'comment\|string\|php'
endif
endfunction
endif
let b:undo_ftplugin ..= " | unlet! b:match_skip"
endif endif
" ### " ###
if exists('&omnifunc') " Change the :browse e filter to primarily show PHP-related files.
setlocal omnifunc=phpcomplete#CompletePHP if (has("gui_win32") || has("gui_gtk")) && exists("b:html_set_browsefilter")
let b:browsefilter = "PHP Files (*.php)\t*.php\n" ..
\ "PHP Test Files (*.phpt)\t*.phpt\n" ..
\ s:browsefilter
endif endif
" Section jumping: [[ and ]] provided by Antony Scriven <adscriven at gmail dot com> if !exists("no_plugin_maps") && !exists("no_php_maps")
let s:function = '\(abstract\s\+\|final\s\+\|private\s\+\|protected\s\+\|public\s\+\|static\s\+\)*function' " Section jumping: [[ and ]] provided by Antony Scriven <adscriven at gmail dot com>
let s:class = '\(abstract\s\+\|final\s\+\)*class' let s:function = '\%(abstract\s\+\|final\s\+\|private\s\+\|protected\s\+\|public\s\+\|static\s\+\)*function'
let s:interface = 'interface' let s:class = '\%(abstract\s\+\|final\s\+\)*class'
let s:section = '\(.*\%#\)\@!\_^\s*\zs\('.s:function.'\|'.s:class.'\|'.s:interface.'\)' let s:section = escape('^\s*\zs\%(' .. s:function .. '\|' .. s:class .. '\|interface\|trait\|enum\)\>', "|")
exe 'nno <buffer> <silent> [[ ?' . escape(s:section, '|') . '?<CR>:nohls<CR>'
exe 'nno <buffer> <silent> ]] /' . escape(s:section, '|') . '/<CR>:nohls<CR>'
exe 'ono <buffer> <silent> [[ ?' . escape(s:section, '|') . '?<CR>:nohls<CR>'
exe 'ono <buffer> <silent> ]] /' . escape(s:section, '|') . '/<CR>:nohls<CR>'
setlocal suffixesadd=.php function! s:Jump(pattern, count, flags)
setlocal commentstring=/*%s*/ normal! m'
for i in range(a:count)
if !search(a:pattern, a:flags)
break
endif
endfor
endfunction
" Undo the stuff we changed. for mode in ["n", "o", "x"]
let b:undo_ftplugin = "setlocal suffixesadd< commentstring< include< omnifunc<" . exe mode .. "noremap <buffer> <silent> ]] <Cmd>call <SID>Jump('" .. s:section .. "', v:count1, 'W')<CR>"
\ " | unlet! b:browsefilter b:match_words | " . exe mode .. "noremap <buffer> <silent> [[ <Cmd>call <SID>Jump('" .. s:section .. "', v:count1, 'bW')<CR>"
\ s:undo_ftplugin let b:undo_ftplugin ..= " | sil! exe '" .. mode .. "unmap <buffer> ]]'" ..
\ " | sil! exe '" .. mode .. "unmap <buffer> [['"
endfor
endif
let b:undo_ftplugin ..= " | " .. s:undo_ftplugin
" Restore the saved compatibility options. " Restore the saved compatibility options.
let &cpo = s:keepcpo let &cpo = s:keepcpo
unlet s:keepcpo unlet s:keepcpo
" vim: nowrap sw=2 sts=2 ts=8 noet:

View File

@ -1,7 +1,7 @@
" Vim filetype plugin " Vim filetype plugin
" Language: Vim " Language: Vim
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2021 Apr 11 " Last Change: 2022 Aug 4
" Only do this when not done yet for this buffer " Only do this when not done yet for this buffer
if exists("b:did_ftplugin") if exists("b:did_ftplugin")
@ -109,7 +109,7 @@ if exists("loaded_matchit")
" - set spl=de,en " - set spl=de,en
" - au! FileType javascript syntax region foldBraces start=/{/ end=/}/ … " - au! FileType javascript syntax region foldBraces start=/{/ end=/}/ …
let b:match_skip = 'synIDattr(synID(line("."),col("."),1),"name") let b:match_skip = 'synIDattr(synID(line("."),col("."),1),"name")
\ =~? "comment\\|string\\|vimSynReg\\|vimSet"' \ =~? "comment\\|string\\|vimLetHereDoc\\|vimSynReg\\|vimSet"'
endif endif
let &cpo = s:cpo_save let &cpo = s:cpo_save

View File

@ -1,7 +1,7 @@
" Vim indent file " Vim indent file
" Language: Lisp " Language: Lisp
" Maintainer: Sergey Khorev <sergey.khorev@gmail.com> " Maintainer: Sergey Khorev <sergey.khorev@gmail.com>
" URL: http://sites.google.com/site/khorser/opensource/vim " URL: http://sites.google.com/site/khorser/opensource/vim
" Last Change: 2012 Jan 10 " Last Change: 2012 Jan 10
" Only load this indent file when no other was loaded. " Only load this indent file when no other was loaded.

View File

@ -2,7 +2,7 @@
" Language: SystemVerilog " Language: SystemVerilog
" Maintainer: kocha <kocha.lsifrontend@gmail.com> " Maintainer: kocha <kocha.lsifrontend@gmail.com>
" Last Change: 05-Feb-2017 by Bilal Wasim " Last Change: 05-Feb-2017 by Bilal Wasim
" 2022 April: b:undo_indent added by Doug Kearns " 03-Aug-2022 Improved indent
" Only load this indent file when no other was loaded. " Only load this indent file when no other was loaded.
if exists("b:did_indent") if exists("b:did_indent")
@ -15,7 +15,7 @@ setlocal indentkeys=!^F,o,O,0),0},=begin,=end,=join,=endcase,=join_any,=join_non
setlocal indentkeys+==endmodule,=endfunction,=endtask,=endspecify setlocal indentkeys+==endmodule,=endfunction,=endtask,=endspecify
setlocal indentkeys+==endclass,=endpackage,=endsequence,=endclocking setlocal indentkeys+==endclass,=endpackage,=endsequence,=endclocking
setlocal indentkeys+==endinterface,=endgroup,=endprogram,=endproperty,=endchecker setlocal indentkeys+==endinterface,=endgroup,=endprogram,=endproperty,=endchecker
setlocal indentkeys+==`else,=`endif setlocal indentkeys+==`else,=`elsif,=`endif
let b:undo_indent = "setl inde< indk<" let b:undo_indent = "setl inde< indk<"
@ -27,6 +27,9 @@ endif
let s:cpo_save = &cpo let s:cpo_save = &cpo
set cpo&vim set cpo&vim
let s:multiple_comment = 0
let s:open_statement = 0
function SystemVerilogIndent() function SystemVerilogIndent()
if exists('b:systemverilog_indent_width') if exists('b:systemverilog_indent_width')
@ -40,6 +43,12 @@ function SystemVerilogIndent()
let indent_modules = 0 let indent_modules = 0
endif endif
if exists('b:systemverilog_indent_ifdef_off')
let indent_ifdef = 0
else
let indent_ifdef = 1
endif
" Find a non-blank line above the current line. " Find a non-blank line above the current line.
let lnum = prevnonblank(v:lnum - 1) let lnum = prevnonblank(v:lnum - 1)
@ -54,48 +63,55 @@ function SystemVerilogIndent()
let last_line2 = getline(lnum2) let last_line2 = getline(lnum2)
let ind = indent(lnum) let ind = indent(lnum)
let ind2 = indent(lnum - 1) let ind2 = indent(lnum - 1)
let offset_comment1 = 1
" Define the condition of an open statement " Define the condition of an open statement
" Exclude the match of //, /* or */ " Exclude the match of //, /* or */
let sv_openstat = '\(\<or\>\|\([*/]\)\@<![*(,{><+-/%^&|!=?:]\([*/]\)\@!\)' let sv_openstat = '\(\<or\>\|\([*/]\)\@<![*(,{><+-/%^&|!=?:]\([*/]\)\@!\)'
" Define the condition when the statement ends with a one-line comment " Define the condition when the statement ends with a one-line comment
let sv_comment = '\(//.*\|/\*.*\*/\s*\)' let sv_comment = '\(//.*\|/\*.*\*/\s*\)'
if exists('b:verilog_indent_verbose') if exists('b:systemverilog_indent_verbose')
let vverb_str = 'INDENT VERBOSE:' let vverb_str = 'INDENT VERBOSE: '. v:lnum .":"
let vverb = 1 let vverb = 1
else else
let vverb = 0 let vverb = 0
endif endif
" Indent according to last line " Multiple-line comment count
" End of multiple-line comment if curr_line =~ '^\s*/\*' && curr_line !~ '/\*.\{-}\*/'
if last_line =~ '\*/\s*$' && last_line !~ '/\*.\{-}\*/' let s:multiple_comment += 1
let ind = ind - offset_comment1 if vverb | echom vverb_str "Start of multiple-line commnt" | endif
if vverb elseif curr_line =~ '\*/\s*$' && curr_line !~ '/\*.\{-}\*/'
echo vverb_str "De-indent after a multiple-line comment." let s:multiple_comment -= 1
endif if vverb | echom vverb_str "End of multiple-line commnt" | endif
return ind
endif
" Maintain indentation during commenting.
if s:multiple_comment > 0
return ind
endif
" Indent after if/else/for/case/always/initial/specify/fork blocks " Indent after if/else/for/case/always/initial/specify/fork blocks
elseif last_line =~ '`\@<!\<\(if\|else\)\>' || if last_line =~ '^\s*\(end\)\=\s*`\@<!\<\(if\|else\)\>' ||
\ last_line =~ '^\s*\<\(for\|case\%[[zx]]\|do\|foreach\|forever\|randcase\)\>' || \ last_line =~ '^\s*\<\(for\|while\|repeat\|case\%[[zx]]\|do\|foreach\|forever\|randcase\)\>' ||
\ last_line =~ '^\s*\<\(always\|always_comb\|always_ff\|always_latch\)\>' || \ last_line =~ '^\s*\<\(always\|always_comb\|always_ff\|always_latch\)\>' ||
\ last_line =~ '^\s*\<\(initial\|specify\|fork\|final\)\>' \ last_line =~ '^\s*\<\(initial\|specify\|fork\|final\)\>'
if last_line !~ '\(;\|\<end\>\)\s*' . sv_comment . '*$' || if last_line !~ '\(;\|\<end\>\|\*/\)\s*' . sv_comment . '*$' ||
\ last_line =~ '\(//\|/\*\).*\(;\|\<end\>\)\s*' . sv_comment . '*$' \ last_line =~ '\(//\|/\*\).*\(;\|\<end\>\)\s*' . sv_comment . '*$'
let ind = ind + offset let ind = ind + offset
if vverb | echo vverb_str "Indent after a block statement." | endif if vverb | echom vverb_str "Indent after a block statement." | endif
endif endif
" Indent after function/task/class/package/sequence/clocking/ " Indent after function/task/class/package/sequence/clocking/
" interface/covergroup/property/checkerprogram blocks " interface/covergroup/property/checkerprogram blocks
elseif last_line =~ '^\s*\<\(function\|task\|class\|package\)\>' || elseif last_line =~ '^\s*\<\(function\|task\|class\|package\)\>' ||
\ last_line =~ '^\s*\<\(sequence\|clocking\|interface\)\>' || \ last_line =~ '^\s*\<\(sequence\|clocking\|interface\)\>' ||
\ last_line =~ '^\s*\(\w\+\s*:\)\=\s*\<covergroup\>' || \ last_line =~ '^\s*\(\w\+\s*:\)\=\s*\<covergroup\>' ||
\ last_line =~ '^\s*\<\(property\|checker\|program\)\>' \ last_line =~ '^\s*\<\(property\|checker\|program\)\>' ||
\ ( last_line =~ '^\s*\<virtual\>' && last_line =~ '\<\(function\|task\|class\|interface\)\>' ) ||
\ ( last_line =~ '^\s*\<pure\>' && last_line =~ '\<virtual\>' && last_line =~ '\<\(function\|task\)\>' )
if last_line !~ '\<end\>\s*' . sv_comment . '*$' || if last_line !~ '\<end\>\s*' . sv_comment . '*$' ||
\ last_line =~ '\(//\|/\*\).*\(;\|\<end\>\)\s*' . sv_comment . '*$' \ last_line =~ '\(//\|/\*\).*\(;\|\<end\>\)\s*' . sv_comment . '*$'
let ind = ind + offset let ind = ind + offset
if vverb if vverb
echo vverb_str "Indent after function/task/class block statement." echom vverb_str "Indent after function/task/class block statement."
endif endif
endif endif
@ -103,13 +119,13 @@ function SystemVerilogIndent()
elseif last_line =~ '^\s*\(\<extern\>\s*\)\=\<module\>' elseif last_line =~ '^\s*\(\<extern\>\s*\)\=\<module\>'
let ind = ind + indent_modules let ind = ind + indent_modules
if vverb && indent_modules if vverb && indent_modules
echo vverb_str "Indent after module statement." echom vverb_str "Indent after module statement."
endif endif
if last_line =~ '[(,]\s*' . sv_comment . '*$' && if last_line =~ '[(,]\s*' . sv_comment . '*$' &&
\ last_line !~ '\(//\|/\*\).*[(,]\s*' . sv_comment . '*$' \ last_line !~ '\(//\|/\*\).*[(,]\s*' . sv_comment . '*$'
let ind = ind + offset let ind = ind + offset
if vverb if vverb
echo vverb_str "Indent after a multiple-line module statement." echom vverb_str "Indent after a multiple-line module statement."
endif endif
endif endif
@ -119,7 +135,7 @@ function SystemVerilogIndent()
\ ( last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$' || \ ( last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$' ||
\ last_line2 =~ '^\s*[^=!]\+\s*:\s*' . sv_comment . '*$' ) \ last_line2 =~ '^\s*[^=!]\+\s*:\s*' . sv_comment . '*$' )
let ind = ind + offset let ind = ind + offset
if vverb | echo vverb_str "Indent after begin statement." | endif if vverb | echom vverb_str "Indent after begin statement." | endif
" Indent after a '{' or a '(' " Indent after a '{' or a '('
elseif last_line =~ '[{(]' . sv_comment . '*$' && elseif last_line =~ '[{(]' . sv_comment . '*$' &&
@ -127,7 +143,21 @@ function SystemVerilogIndent()
\ ( last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$' || \ ( last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$' ||
\ last_line2 =~ '^\s*[^=!]\+\s*:\s*' . sv_comment . '*$' ) \ last_line2 =~ '^\s*[^=!]\+\s*:\s*' . sv_comment . '*$' )
let ind = ind + offset let ind = ind + offset
if vverb | echo vverb_str "Indent after begin statement." | endif if vverb | echom vverb_str "Indent after begin statement." | endif
" Ignore de-indent for the end of one-line block
elseif ( last_line !~ '\<begin\>' ||
\ last_line =~ '\(//\|/\*\).*\<begin\>' ) &&
\ last_line2 =~ '\<\(`\@<!if\|`\@<!else\|for\|always\|initial\|do\|foreach\|forever\|final\)\>.*' .
\ sv_comment . '*$' &&
\ last_line2 !~ '\(//\|/\*\).*\<\(`\@<!if\|`\@<!else\|for\|always\|initial\|do\|foreach\|forever\|final\)\>' &&
\ last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$' &&
\ ( last_line2 !~ '\<begin\>' ||
\ last_line2 =~ '\(//\|/\*\).*\<begin\>' ) &&
\ last_line2 =~ ')*\s*;\s*' . sv_comment . '*$'
if vverb
echom vverb_str "Ignore de-indent after the end of one-line statement."
endif
" De-indent for the end of one-line block " De-indent for the end of one-line block
elseif ( last_line !~ '\<begin\>' || elseif ( last_line !~ '\<begin\>' ||
@ -136,39 +166,29 @@ function SystemVerilogIndent()
\ sv_comment . '*$' && \ sv_comment . '*$' &&
\ last_line2 !~ '\(//\|/\*\).*\<\(`\@<!if\|`\@<!else\|for\|always\|initial\|do\|foreach\|forever\|final\)\>' && \ last_line2 !~ '\(//\|/\*\).*\<\(`\@<!if\|`\@<!else\|for\|always\|initial\|do\|foreach\|forever\|final\)\>' &&
\ last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$' && \ last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$' &&
\ last_line2 !~ '\(;\|\<end\>\|\*/\)\s*' . sv_comment . '*$' &&
\ ( last_line2 !~ '\<begin\>' || \ ( last_line2 !~ '\<begin\>' ||
\ last_line2 =~ '\(//\|/\*\).*\<begin\>' ) \ last_line2 =~ '\(//\|/\*\).*\<begin\>' )
let ind = ind - offset let ind = ind - offset
if vverb if vverb
echo vverb_str "De-indent after the end of one-line statement." echom vverb_str "De-indent after the end of one-line statement."
endif endif
" Multiple-line statement (including case statement) " Multiple-line statement (including case statement)
" Open statement " Open statement
" Ident the first open line " Ident the first open line
elseif last_line =~ sv_openstat . '\s*' . sv_comment . '*$' && elseif last_line =~ sv_openstat . '\s*' . sv_comment . '*$' &&
\ last_line !~ '\(//\|/\*\).*' . sv_openstat . '\s*$' && \ last_line !~ '\(//\|/\*\).*' . sv_openstat . '\s*$' &&
\ last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$' \ last_line2 !~ sv_openstat . '\s*' . sv_comment . '*$'
let ind = ind + offset let ind = ind + offset
if vverb | echo vverb_str "Indent after an open statement." | endif let s:open_statement = 1
if vverb | echom vverb_str "Indent after an open statement." | endif
" Close statement " `ifdef or `ifndef or `elsif or `else
" De-indent for an optional close parenthesis and a semicolon, and only elseif last_line =~ '^\s*`\<\(ifn\?def\|elsif\|else\)\>' && indent_ifdef
" if there exists precedent non-whitespace char
elseif last_line =~ ')*\s*;\s*' . sv_comment . '*$' &&
\ last_line !~ '^\s*)*\s*;\s*' . sv_comment . '*$' &&
\ last_line !~ '\(//\|/\*\).*\S)*\s*;\s*' . sv_comment . '*$' &&
\ ( last_line2 =~ sv_openstat . '\s*' . sv_comment . '*$' &&
\ last_line2 !~ ';\s*//.*$') &&
\ last_line2 !~ '^\s*' . sv_comment . '$'
let ind = ind - offset
if vverb | echo vverb_str "De-indent after a close statement." | endif
" `ifdef and `else
elseif last_line =~ '^\s*`\<\(ifdef\|else\)\>'
let ind = ind + offset let ind = ind + offset
if vverb if vverb
echo vverb_str "Indent after a `ifdef or `else statement." echom vverb_str "Indent after a `ifdef or `ifndef or `elsif or `else statement."
endif endif
endif endif
@ -177,17 +197,21 @@ function SystemVerilogIndent()
" De-indent on the end of the block " De-indent on the end of the block
" join/end/endcase/endfunction/endtask/endspecify " join/end/endcase/endfunction/endtask/endspecify
if curr_line =~ '^\s*\<\(join\|join_any\|join_none\|\|end\|endcase\|while\)\>' || if curr_line =~ '^\s*\<\(join\|join_any\|join_none\|\|end\|endcase\)\>' ||
\ curr_line =~ '^\s*\<\(endfunction\|endtask\|endspecify\|endclass\)\>' || \ curr_line =~ '^\s*\<\(endfunction\|endtask\|endspecify\|endclass\)\>' ||
\ curr_line =~ '^\s*\<\(endpackage\|endsequence\|endclocking\|endinterface\)\>' || \ curr_line =~ '^\s*\<\(endpackage\|endsequence\|endclocking\|endinterface\)\>' ||
\ curr_line =~ '^\s*\<\(endgroup\|endproperty\|endchecker\|endprogram\)\>' || \ curr_line =~ '^\s*\<\(endgroup\|endproperty\|endchecker\|endprogram\)\>'
\ curr_line =~ '^\s*}'
let ind = ind - offset let ind = ind - offset
if vverb | echo vverb_str "De-indent the end of a block." | endif if vverb | echom vverb_str "De-indent the end of a block." | endif
if s:open_statement == 1
let ind = ind - offset
let s:open_statement = 0
if vverb | echom vverb_str "De-indent the close statement." | endif
endif
elseif curr_line =~ '^\s*\<endmodule\>' elseif curr_line =~ '^\s*\<endmodule\>'
let ind = ind - indent_modules let ind = ind - indent_modules
if vverb && indent_modules if vverb && indent_modules
echo vverb_str "De-indent the end of a module." echom vverb_str "De-indent the end of a module."
endif endif
" De-indent on a stand-alone 'begin' " De-indent on a stand-alone 'begin'
@ -202,25 +226,46 @@ function SystemVerilogIndent()
\ last_line =~ sv_openstat . '\s*' . sv_comment . '*$' ) \ last_line =~ sv_openstat . '\s*' . sv_comment . '*$' )
let ind = ind - offset let ind = ind - offset
if vverb if vverb
echo vverb_str "De-indent a stand alone begin statement." echom vverb_str "De-indent a stand alone begin statement."
endif
if s:open_statement == 1
let ind = ind - offset
let s:open_statement = 0
if vverb | echom vverb_str "De-indent the close statement." | endif
endif endif
endif endif
" De-indent after the end of multiple-line statement " " Close statement
elseif curr_line =~ '^\s*)' && " " De-indent for an optional close parenthesis and a semicolon, and only
\ ( last_line =~ sv_openstat . '\s*' . sv_comment . '*$' || " " if there exists precedent non-whitespace char
\ last_line !~ sv_openstat . '\s*' . sv_comment . '*$' && " elseif last_line =~ ')*\s*;\s*' . sv_comment . '*$' &&
\ last_line2 =~ sv_openstat . '\s*' . sv_comment . '*$' ) " \ last_line !~ '^\s*)*\s*;\s*' . sv_comment . '*$' &&
" \ last_line !~ '\(//\|/\*\).*\S)*\s*;\s*' . sv_comment . '*$' &&
" \ ( last_line2 =~ sv_openstat . '\s*' . sv_comment . '*$' &&
" \ last_line2 !~ ';\s*//.*$') &&
" \ last_line2 !~ '^\s*' . sv_comment . '$'
" let ind = ind - offset
" if vverb | echom vverb_str "De-indent after a close statement." | endif
" " De-indent after the end of multiple-line statement
" elseif curr_line =~ '^\s*)' &&
" \ ( last_line =~ sv_openstat . '\s*' . sv_comment . '*$' ||
" \ last_line !~ sv_openstat . '\s*' . sv_comment . '*$' &&
" \ last_line2 =~ sv_openstat . '\s*' . sv_comment . '*$' )
" let ind = ind - offset
" if vverb
" echom vverb_str "De-indent the end of a multiple statement."
" endif
" De-indent `elsif or `else or `endif
elseif curr_line =~ '^\s*`\<\(elsif\|else\|endif\)\>' && indent_ifdef
let ind = ind - offset let ind = ind - offset
if vverb if vverb | echom vverb_str "De-indent `elsif or `else or `endif statement." | endif
echo vverb_str "De-indent the end of a multiple statement." if b:systemverilog_open_statement == 1
let ind = ind - offset
let b:systemverilog_open_statement = 0
if vverb | echom vverb_str "De-indent the open statement." | endif
endif endif
" De-indent `else and `endif
elseif curr_line =~ '^\s*`\<\(else\|endif\)\>'
let ind = ind - offset
if vverb | echo vverb_str "De-indent `else and `endif statement." | endif
endif endif
" Return the indentation " Return the indentation
@ -231,3 +276,4 @@ let &cpo = s:cpo_save
unlet s:cpo_save unlet s:cpo_save
" vim:sw=2 " vim:sw=2

View File

@ -0,0 +1,68 @@
" vim: set ft=python sw=4 et:
" START_INDENT
open_paren_not_at_EOL(100,
(200,
300),
400)
open_paren_at_EOL(
100, 200, 300, 400)
open_paren_not_at_EOL(100,
(200,
300),
400)
open_paren_at_EOL(
100, 200, 300, 400)
open_paren_not_at_EOL(100,
(200,
300),
400)
open_paren_at_EOL(
100, 200, 300, 400)
open_paren_not_at_EOL(100,
(200,
300),
400)
open_paren_at_EOL(
100, 200, 300, 400)
open_paren_not_at_EOL(100,
(200,
300),
400)
open_paren_at_EOL(
100, 200, 300, 400)
open_paren_not_at_EOL(100,
(200,
300),
400)
open_paren_at_EOL(
100, 200, 300, 400)
open_paren_not_at_EOL(100,
(200,
300),
400)
open_paren_at_EOL(
100, 200, 300, 400)
open_paren_not_at_EOL(100,
(200,
300),
400)
open_paren_at_EOL(
100, 200, 300, 400)
" END_INDENT

View File

@ -0,0 +1,68 @@
" vim: set ft=python sw=4 et:
" START_INDENT
open_paren_not_at_EOL(100,
(200,
300),
400)
open_paren_at_EOL(
100, 200, 300, 400)
open_paren_not_at_EOL(100,
(200,
300),
400)
open_paren_at_EOL(
100, 200, 300, 400)
open_paren_not_at_EOL(100,
(200,
300),
400)
open_paren_at_EOL(
100, 200, 300, 400)
open_paren_not_at_EOL(100,
(200,
300),
400)
open_paren_at_EOL(
100, 200, 300, 400)
open_paren_not_at_EOL(100,
(200,
300),
400)
open_paren_at_EOL(
100, 200, 300, 400)
open_paren_not_at_EOL(100,
(200,
300),
400)
open_paren_at_EOL(
100, 200, 300, 400)
open_paren_not_at_EOL(100,
(200,
300),
400)
open_paren_at_EOL(
100, 200, 300, 400)
open_paren_not_at_EOL(100,
(200,
300),
400)
open_paren_at_EOL(
100, 200, 300, 400)
" END_INDENT

View File

@ -930,7 +930,7 @@ function M.progress_pascal(bufnr)
return 'progress' return 'progress'
end end
-- Distinguish between "default" and Cproto prototype file. -- Distinguish between "default", Prolog and Cproto prototype file.
function M.proto(bufnr, default) function M.proto(bufnr, default)
-- Cproto files have a comment in the first line and a function prototype in -- Cproto files have a comment in the first line and a function prototype in
-- the second line, it always ends in ";". Indent files may also have -- the second line, it always ends in ";". Indent files may also have
@ -940,7 +940,18 @@ function M.proto(bufnr, default)
if getlines(bufnr, 2):find('.;$') then if getlines(bufnr, 2):find('.;$') then
return 'cpp' return 'cpp'
else else
return default -- Recognize Prolog by specific text in the first non-empty line;
-- require a blank after the '%' because Perl uses "%list" and "%translate"
local line = nextnonblank(bufnr, 1)
if
line and line:find(':%-')
or matchregex(line, [[\c\<prolog\>]])
or findany(line, { '^%s*%%+%s', '^%s*%%+$', '^%s*/%*' })
then
return 'prolog'
else
return default
end
end end
end end

View File

@ -243,9 +243,6 @@ Examples:
comment character) you can > comment character) you can >
:let b:match_skip = 'r:\(^\|[^\\]\)\(\\\\\)*%' :let b:match_skip = 'r:\(^\|[^\\]\)\(\\\\\)*%'
< <
See the $VIMRUNTIME/ftplugin/vim.vim for an example that uses both
syntax and a regular expression.
============================================================================== ==============================================================================
4. Supporting a New Language *matchit-newlang* 4. Supporting a New Language *matchit-newlang*
*b:match_words* *b:match_words*

View File

@ -1,6 +1,6 @@
" Vim syntax file " Vim syntax file
" Language: Abaqus finite element input file (www.hks.com) " Language: Abaqus finite element input file (www.hks.com)
" Maintainer: Carl Osterwisch <osterwischc@asme.org> " Maintainer: Carl Osterwisch <costerwi@gmail.com>
" Last Change: 2002 Feb 24 " Last Change: 2002 Feb 24
" Remark: Huge improvement in folding performance--see filetype plugin " Remark: Huge improvement in folding performance--see filetype plugin
@ -28,8 +28,7 @@ syn match abaqusBadLine "^\s\+\*.*" display
hi def link abaqusComment Comment hi def link abaqusComment Comment
hi def link abaqusKeyword Statement hi def link abaqusKeyword Statement
hi def link abaqusParameter Identifier hi def link abaqusParameter Identifier
hi def link abaqusValue Constant hi def link abaqusValue Constant
hi def link abaqusBadLine Error hi def link abaqusBadLine Error
let b:current_syntax = "abaqus" let b:current_syntax = "abaqus"