summaryrefslogtreecommitdiffstats
path: root/runtime/syntax
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2008-07-13 17:41:49 +0000
committerBram Moolenaar <Bram@vim.org>2008-07-13 17:41:49 +0000
commitc236c16d0884c7d6cdc4dbaddb8cb3992085f83e (patch)
tree7d87344cdf07b6b9234abe26ccef39fbbee54f63 /runtime/syntax
parentb316376b4893ac3ae62f7f33c483b28b7fc147c0 (diff)
updated for version 7.2b-000v7.2b.000
Diffstat (limited to 'runtime/syntax')
-rw-r--r--runtime/syntax/ada.vim14
-rw-r--r--runtime/syntax/debchangelog.vim2
-rw-r--r--runtime/syntax/debcontrol.vim5
-rw-r--r--runtime/syntax/debsources.vim19
-rw-r--r--runtime/syntax/eruby.vim27
-rw-r--r--runtime/syntax/haml.vim85
-rw-r--r--runtime/syntax/haste.vim43
-rw-r--r--runtime/syntax/hastepreproc.vim49
-rw-r--r--runtime/syntax/lhaskell.vim10
-rw-r--r--runtime/syntax/logtalk.vim60
-rw-r--r--runtime/syntax/messages.vim17
-rw-r--r--runtime/syntax/muttrc.vim41
-rw-r--r--runtime/syntax/ruby.vim170
-rw-r--r--runtime/syntax/sass.vim56
-rw-r--r--runtime/syntax/sh.vim177
-rw-r--r--runtime/syntax/vim.vim46
16 files changed, 550 insertions, 271 deletions
diff --git a/runtime/syntax/ada.vim b/runtime/syntax/ada.vim
index f317700775..8d76fb8f4f 100644
--- a/runtime/syntax/ada.vim
+++ b/runtime/syntax/ada.vim
@@ -9,9 +9,9 @@
" Contributors: Preben Randhol.
" $Author$
" $Date$
-" Version: 4.2
+" Version: 4.6
" $Revision$
-" $HeadURL: https://svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/syntax/ada.vim $
+" $HeadURL: https://gnuada.svn.sourceforge.net/svnroot/gnuada/trunk/tools/vim/syntax/ada.vim $
" http://www.dwheeler.com/vim
" History: 24.05.2006 MK Unified Headers
" 26.05.2006 MK ' should not be in iskeyword.
@@ -38,8 +38,6 @@ let b:current_syntax = "ada"
" Section: Ada is entirely case-insensitive. {{{1
"
syntax case ignore
-setlocal nosmartcase
-setlocal ignorecase
" Section: Highlighting commands {{{1
"
@@ -98,7 +96,8 @@ syntax keyword adaSpecial <>
"
if exists("g:ada_rainbow_color")
syntax match adaSpecial "[:;.,]"
- runtime plugin/Rainbow_Parenthsis.vim
+ call rainbow_parenthsis#LoadRound ()
+ call rainbow_parenthsis#Activate ()
else
syntax match adaSpecial "[:;().,]"
endif
@@ -159,7 +158,7 @@ endif
" Section: end {{{1
" Unless special ("end loop", "end if", etc.), "end" marks the end of a
" begin, package, task etc. Assiging it to adaEnd.
-syntax match adaEnd "\<end\>"
+syntax match adaEnd /\<end\>/
syntax keyword adaPreproc pragma
@@ -346,9 +345,6 @@ else
endif
-" Section: formatoptions {{{1
-"
-setlocal formatoptions+=ron
" Section: sync {{{1
"
diff --git a/runtime/syntax/debchangelog.vim b/runtime/syntax/debchangelog.vim
index 28fe854725..e751fbc722 100644
--- a/runtime/syntax/debchangelog.vim
+++ b/runtime/syntax/debchangelog.vim
@@ -19,7 +19,7 @@ syn case ignore
" Define some common expressions we can use later on
syn match debchangelogName contained "^[[:alpha:]][[:alnum:].+-]\+ "
syn match debchangelogUrgency contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\="
-syn match debchangelogTarget contained "\( \(old\)\=stable\| frozen\| unstable\| testing-proposed-updates\| experimental\| \%(sarge\|etch\|lenny\)-\%(backports\|-volatile\)\| \(old\)\=stable-security\| testing-security\| \(dapper\|edgy\|feisty\|gutsy\|hardy\)\(-\(security\|proposed\|updates\|backports\|commercial\|partner\)\)\?\)\+"
+syn match debchangelogTarget contained "\v %(%(old)=stable|frozen|unstable|%(testing-|%(old)=stable-)=proposed-updates|experimental|%(sarge|etch|lenny)-%(backports|volatile)|%(testing|%(old)=stable)-security|%(dapper|feisty|gutsy|hardy|intrepid)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
syn match debchangelogVersion contained "(.\{-})"
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
diff --git a/runtime/syntax/debcontrol.vim b/runtime/syntax/debcontrol.vim
index 3b01fb50ae..d56a342328 100644
--- a/runtime/syntax/debcontrol.vim
+++ b/runtime/syntax/debcontrol.vim
@@ -34,6 +34,7 @@ syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|
syn match debcontrolSection contained "\(\(contrib\|non-free\|non-US/main\|non-US/contrib\|non-US/non-free\|restricted\|universe\|multiverse\)/\)\=\(admin\|base\|comm\|devel\|doc\|editors\|electronics\|embedded\|games\|gnome\|graphics\|hamradio\|interpreters\|kde\|libs\|libdevel\|mail\|math\|misc\|net\|news\|oldlibs\|otherosfs\|perl\|python\|science\|shells\|sound\|text\|tex\|utils\|web\|x11\|debian-installer\)"
syn match debcontrolPackageType contained "u\?deb"
syn match debcontrolVariable contained "\${.\{-}}"
+syn match debcontrolDmUpload contained "\cyes"
" A URL (using the domain name definitions from RFC 1034 and 1738), right now
" only enforce protocol and some sanity on the server/path part;
@@ -52,7 +53,7 @@ syn match debcontrolComment "^#.*$"
syn case ignore
" List of all legal keys
-syn match debcontrolKey contained "^\(Source\|Package\|Section\|Priority\|Maintainer\|Uploaders\|Build-Depends\|Build-Conflicts\|Build-Depends-Indep\|Build-Conflicts-Indep\|Standards-Version\|Pre-Depends\|Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Essential\|Architecture\|Description\|Bugs\|Origin\|Enhances\|Homepage\|\(XS-\)\=Vcs-\(Browser\|Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\)\|XC-Package-Type\): *"
+syn match debcontrolKey contained "^\(Source\|Package\|Section\|Priority\|Maintainer\|Uploaders\|Build-Depends\|Build-Conflicts\|Build-Depends-Indep\|Build-Conflicts-Indep\|Standards-Version\|Pre-Depends\|Depends\|Recommends\|Suggests\|Provides\|Replaces\|Conflicts\|Essential\|Architecture\|Description\|Bugs\|Origin\|Enhances\|Homepage\|\(XS-\)\=Vcs-\(Browser\|Arch\|Bzr\|Cvs\|Darcs\|Git\|Hg\|Mtn\|Svn\)\|XC-Package-Type\|\%(XS-\)\=DM-Upload-Allowed\): *"
" Fields for which we do strict syntax checking
syn region debcontrolStrictField start="^Architecture" end="$" contains=debcontrolKey,debcontrolArchitecture,debcontrolSpace oneline
@@ -65,6 +66,7 @@ syn region debcontrolStrictField start="^\%(XS-\)\?Vcs-\%(Browser\|Arch\|Bzr\|Da
syn region debcontrolStrictField start="^\%(XS-\)\?Vcs-Svn" end="$" contains=debcontrolKey,debcontrolVcsSvn,debcontrolHTTPUrl oneline keepend
syn region debcontrolStrictField start="^\%(XS-\)\?Vcs-Cvs" end="$" contains=debcontrolKey,debcontrolVcsCvs oneline keepend
syn region debcontrolStrictField start="^\%(XS-\)\?Vcs-Git" end="$" contains=debcontrolKey,debcontrolVcsGit oneline keepend
+syn region debcontrolStrictField start="^\%(XS-\)\?DM-Upload-Allowed" end="$" contains=debcontrolKey,debcontrolDmUpload oneline
" Catch-all for the other legal fields
syn region debcontrolField start="^\(Maintainer\|Standards-Version\|Essential\|Bugs\|Origin\|X\(S\|B\)-Python-Version\|XSBC-Original-Maintainer\|\(XS-\)\?Vcs-Mtn\):" end="$" contains=debcontrolKey,debcontrolVariable,debcontrolEmail oneline
@@ -94,6 +96,7 @@ if version >= 508 || !exists("did_debcontrol_syn_inits")
HiLink debcontrolVcsCvs Identifier
HiLink debcontrolVcsGit Identifier
HiLink debcontrolHTTPUrl Identifier
+ HiLink debcontrolDmUpload Identifier
HiLink debcontrolComment Comment
HiLink debcontrolElse Special
diff --git a/runtime/syntax/debsources.vim b/runtime/syntax/debsources.vim
index c952ed82c6..0ae05abd68 100644
--- a/runtime/syntax/debsources.vim
+++ b/runtime/syntax/debsources.vim
@@ -1,12 +1,9 @@
" Vim syntax file
-" Language: Debian sources.list
-" Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
-" Last Change: $Date$
-" URL: http://www.cacholong.nl/~matthijs/vim/syntax/debsources.vim
-" $Revision$
-
-" this is a very simple syntax file - I will be improving it
-" add entire DEFINE syntax
+" Language: Debian sources.list
+" Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
+" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
+" Last Change: 2008-04-25
+" URL: http://git.debian.org/?p=pkg-vim/vim.git;a=blob_plain;f=runtime/syntax/debsources.vim;hb=debian
" Standard syntax initialization
if version < 600
@@ -19,14 +16,14 @@ endif
syn case match
" A bunch of useful keywords
-syn match debsourcesKeyword /\(deb-src\|deb\|main\|contrib\|non-free\)/
+syn match debsourcesKeyword /\(deb-src\|deb\|main\|contrib\|non-free\|restricted\|universe\|multiverse\)/
" Match comments
syn match debsourcesComment /#.*/
" Match uri's
-syn match debsourcesUri +\(http://\|ftp://\|file:///\)[^' <>"]\++
-syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(woody\|sarge\|etch\|old-stable\|stable\|testing\|unstable\|sid\|experimental\|warty\|hoary\|breezy\)\([[:alnum:]_./]*\)+
+syn match debsourcesUri +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' <>"]\++
+syn match debsourcesDistrKeyword +\([[:alnum:]_./]*\)\(sarge\|etch\|lenny\|\(old\)\=stable\|testing\|unstable\|sid\|experimental\|dapper\|feisty\|gutsy\|hardy\|intrepid\)\([-[:alnum:]_./]*\)+
" Associate our matches and regions with pretty colours
hi def link debsourcesLine Error
diff --git a/runtime/syntax/eruby.vim b/runtime/syntax/eruby.vim
index 22a84537c8..46e5704053 100644
--- a/runtime/syntax/eruby.vim
+++ b/runtime/syntax/eruby.vim
@@ -22,7 +22,7 @@ if !exists("b:eruby_subtype") && main_syntax == 'eruby'
let s:lines = getline(1)."\n".getline(2)."\n".getline(3)."\n".getline(4)."\n".getline(5)."\n".getline("$")
let b:eruby_subtype = matchstr(s:lines,'eruby_subtype=\zs\w\+')
if b:eruby_subtype == ''
- let b:eruby_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.erb\)\+$','',''),'\.\zs\w\+$')
+ let b:eruby_subtype = matchstr(substitute(expand("%:t"),'\c\%(\.erb\|\.eruby\)\+$','',''),'\.\zs\w\+$')
endif
if b:eruby_subtype == 'rhtml'
let b:eruby_subtype = 'html'
@@ -55,31 +55,20 @@ syn include @rubyTop syntax/ruby.vim
syn cluster erubyRegions contains=erubyOneLiner,erubyBlock,erubyExpression,erubyComment
-exe 'syn region erubyOneLiner matchgroup=erubyDelimiter start="^%\{1,'.b:eruby_nest_level.'\}%\@!" end="$" contains=@rubyTop containedin=ALLBUT,@erbRegions keepend oneline'
-exe 'syn region erubyBlock matchgroup=erubyDelimiter start="<%\{1,'.b:eruby_nest_level.'\}%\@!-\=" end="-\=%>" contains=@rubyTop containedin=ALLBUT,@erbRegions'
-exe 'syn region erubyExpression matchgroup=erubyDelimiter start="<%\{1,'.b:eruby_nest_level.'\}=" end="-\=%>" contains=@rubyTop containedin=ALLBUT,@erbRegions'
-exe 'syn region erubyComment matchgroup=erubyDelimiter start="<%\{1,'.b:eruby_nest_level.'\}#" end="-\=%>" contains=rubyTodo,@Spell containedin=ALLBUT,@erbRegions keepend'
+exe 'syn region erubyOneLiner matchgroup=erubyDelimiter start="^%\{1,'.b:eruby_nest_level.'\}%\@!" end="$" contains=@rubyTop containedin=ALLBUT,@erubyRegions keepend oneline'
+exe 'syn region erubyBlock matchgroup=erubyDelimiter start="<%\{1,'.b:eruby_nest_level.'\}%\@!-\=" end="-\=%\@<!%\{1,'.b:eruby_nest_level.'\}>" contains=@rubyTop containedin=ALLBUT,@erubyRegions keepend'
+exe 'syn region erubyExpression matchgroup=erubyDelimiter start="<%\{1,'.b:eruby_nest_level.'\}=" end="-\=%\@<!%\{1,'.b:eruby_nest_level.'\}>" contains=@rubyTop containedin=ALLBUT,@erubyRegions keepend'
+exe 'syn region erubyComment matchgroup=erubyDelimiter start="<%\{1,'.b:eruby_nest_level.'\}#" end="-\=%\@<!%\{1,'.b:eruby_nest_level.'\}>" contains=rubyTodo,@Spell containedin=ALLBUT,@erubyRegions keepend'
" Define the default highlighting.
-" For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlighting yet
-if version >= 508 || !exists("did_eruby_syntax_inits")
- if version < 508
- let did_ruby_syntax_inits = 1
- command -nargs=+ HiLink hi link <args>
- else
- command -nargs=+ HiLink hi def link <args>
- endif
- HiLink erubyDelimiter Delimiter
- HiLink erubyComment Comment
+hi def link erubyDelimiter Delimiter
+hi def link erubyComment Comment
- delcommand HiLink
-endif
let b:current_syntax = 'eruby'
if main_syntax == 'eruby'
unlet main_syntax
endif
-" vim: nowrap sw=2 sts=2 ts=8 :
+" vim: nowrap sw=2 sts=2 ts=8:
diff --git a/runtime/syntax/haml.vim b/runtime/syntax/haml.vim
new file mode 100644
index 0000000000..8b22d8c489
--- /dev/null
+++ b/runtime/syntax/haml.vim
@@ -0,0 +1,85 @@
+" Vim syntax file
+" Language: Haml
+" Maintainer: Tim Pope <vimNOSPAM@tpope.info>
+" Filenames: *.haml
+
+if exists("b:current_syntax")
+ finish
+endif
+
+if !exists("main_syntax")
+ let main_syntax = 'haml'
+endif
+let b:ruby_no_expensive = 1
+
+runtime! syntax/html.vim
+unlet! b:current_syntax
+silent! syn include @hamlSassTop syntax/sass.vim
+unlet! b:current_syntax
+syn include @hamlRubyTop syntax/ruby.vim
+
+syn case match
+
+syn cluster hamlComponent contains=hamlAttributes,hamlClassChar,hamlIdChar,hamlObject,hamlDespacer,hamlSelfCloser,hamlRuby,hamlPlainChar,hamlInterpolatable
+syn cluster hamlEmbeddedRuby contains=hamlAttributes,hamlObject,hamlRuby,hamlRubyFilter
+syn cluster hamlTop contains=hamlBegin,hamlPlainFilter,hamlRubyFilter,hamlSassFilter,hamlComment,hamlHtmlComment
+
+syn match hamlBegin "^\s*[<>&]\@!" nextgroup=hamlTag,hamlAttributes,hamlClassChar,hamlIdChar,hamlObject,hamlRuby,hamlPlainChar,hamlInterpolatable
+
+syn match hamlTag "%\w\+" contained contains=htmlTagName,htmlSpecialTagName nextgroup=@hamlComponent
+syn region hamlAttributes matchgroup=hamlAttributesDelimiter start="{" end="}" contained contains=@hamlRubyTop nextgroup=@hamlComponent
+syn region hamlObject matchgroup=hamlObjectDelimiter start="\[" end="\]" contained contains=@hamlRubyTop nextgroup=@hamlComponent
+syn match hamlDespacer "[<>]" contained nextgroup=hamlDespacer,hamlSelfCloser,hamlRuby,hamlPlainChar,hamlInterpolatable
+syn match hamlSelfCloser "/" contained
+syn match hamlClassChar "\." contained nextgroup=hamlClass
+syn match hamlIdChar "#" contained nextgroup=hamlId
+syn match hamlClass "\%(\w\|-\)\+" contained nextgroup=@hamlComponent
+syn match hamlId "\%(\w\|-\)\+" contained nextgroup=@hamlComponent
+syn region hamlDocType start="^\s*!!!" end="$"
+
+syn region hamlRuby matchgroup=hamlRubyOutputChar start="[=~]" end="$" contained contains=@hamlRubyTop keepend
+syn region hamlRuby matchgroup=hamlRubyChar start="-" end="$" contained contains=@hamlRubyTop keepend
+syn match hamlPlainChar "\\" contained
+syn region hamlInterpolatable matchgroup=hamlInterpolatableChar start="==" end="$" keepend contained contains=hamlInterpolation
+syn region hamlInterpolation matchgroup=hamlInterpolationDelimiter start="#{" end="}" contained contains=@hamlRubyTop
+
+syn match hamlHelper "\<action_view?\|\.\@<!\<\%(flatten\|open\|puts\)" contained containedin=@hamlEmbeddedRuby,@hamlRubyTop,rubyInterpolation
+syn keyword hamlHelper capture_haml find_and_preserve html_attrs init_haml_helpers list_of preced preserve succeed surround tab_down tab_up page_class contained containedin=@hamlEmbeddedRuby,@hamlRubyTop,rubyInterpolation
+
+syn region hamlPlainFilter matchgroup=hamlFilter start="^\z(\s*\):\%(plain\|preserve\|erb\|redcloth\|textile\|markdown\)\s*$" end="^\%(\z1 \)\@!" contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlComment,@htmlTop
+syn region hamlRubyFilter matchgroup=hamlFilter start="^\z(\s*\):ruby\s*$" end="^\%(\z1 \)\@!" contains=@hamlRubyTop
+syn region hamlSassFilter matchgroup=hamlFilter start="^\z(\s*\):sass\s*$" end="^\%(\z1 \)\@!" contains=@hamlSassTop
+
+syn region hamlJavascriptBlock start="^\z(\s*\)%script" nextgroup=@hamlComponent,hamlError end="^\%(\z1 \)\@!" contains=@hamlTop,@htmlJavaScript keepend
+syn region hamlCssBlock start="^\z(\s*\)%style" nextgroup=@hamlComponent,hamlError end="^\%(\z1 \)\@!" contains=@hamlTop,@htmlCss keepend
+syn match hamlError "\$" contained
+
+syn region hamlComment start="^\z(\s*\)-#" end="^\%(\z1 \)\@!" contains=rubyTodo
+syn region hamlHtmlComment start="^\z(\s*\)/" end="^\%(\z1 \)\@!" contains=@hamlTop,rubyTodo
+syn match hamlIEConditional "\%(^\s*/\)\@<=\[if\>[^]]*]" contained containedin=hamlHtmlComment
+
+hi def link hamlSelfCloser Special
+hi def link hamlDespacer Special
+hi def link hamlClassChar Special
+hi def link hamlIdChar Special
+hi def link hamlTag Special
+hi def link hamlClass Type
+hi def link hamlId Identifier
+hi def link hamlPlainChar Special
+hi def link hamlInterpolatableChar hamlRubyChar
+hi def link hamlRubyOutputChar hamlRubyChar
+hi def link hamlRubyChar Special
+hi def link hamlInterpolationDelimiter Delimiter
+hi def link hamlDocType PreProc
+hi def link hamlFilter PreProc
+hi def link hamlAttributesDelimiter Delimiter
+hi def link hamlObjectDelimiter Delimiter
+hi def link hamlHelper Function
+hi def link hamlHtmlComment hamlComment
+hi def link hamlComment Comment
+hi def link hamlIEConditional SpecialComment
+hi def link hamlError Error
+
+let b:current_syntax = "haml"
+
+" vim:set sw=2:
diff --git a/runtime/syntax/haste.vim b/runtime/syntax/haste.vim
index cf943f1085..b889c5c594 100644
--- a/runtime/syntax/haste.vim
+++ b/runtime/syntax/haste.vim
@@ -1,9 +1,12 @@
" Vim syntax file
-" Language: HASTE
+" Language: HASTE - a language for VLSI IC programming
" Maintainer: M. Tranchero - maurizio.tranchero?gmail.com
" Credits: some parts have been taken from vhdl, verilog, and C syntax
" files
-" version: 0.5
+" Version: 0.9
+" Last Change: 0.9 improvement of haste numbers detection
+" Change: 0.8 error matching for wrong hierarchical connections
+" Change: 0.7 added more rules to highlight pre-processor directives
" HASTE
if exists("b:current_syntax")
@@ -50,6 +53,7 @@ syn match hasteStatement "\<\(for\|do\|od\)\>"
syn match hasteStatement "\<\(do\|or\|od\)\>"
syn match hasteStatement "\<\(sel\|les\)\>"
syn match hasteError "\<\d\+[_a-zA-Z]\+\>"
+syn match hasteError "\(\([[:alnum:]]\+\s*(\s\+\|)\s*,\)\)\s*\([[:alnum:]]\+\s*(\)"
" Predifined Haste types
syn keyword hasteType bool
@@ -60,39 +64,28 @@ syn keyword hasteType bool
syn match hasteVector "0b\"[01_]\+\""
syn match hasteVector "0x\"[0-9a-f_]\+\""
syn match hasteCharacter "'.'"
-syn region hasteString start=+"+ end=+"+
-" C pre-processor directives
-"syn region hasteIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
+" syn region hasteString start=+"+ end=+"+
syn match hasteIncluded display contained "<[^>]*>"
syn match hasteIncluded display contained "<[^"]*>"
-syn match hasteInclude display "^\s*#include\>\s*["<]" contains=hasteIncluded
-syn region hasteDefine start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" end="//"me=s-1 contains=ALLBUT,@hastePreProcGroup,@Spell
-syn region hasteDefine start="^\s*\(%:\|#\)\s*\(ifndef\|ifdef\|endif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=@Spell
-syn region hastePreCondit start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=hasteComment,hasteCppString,hasteCharacter,hasteCppParen,hasteParenError,hasteNumbers,hasteCommentError,hasteSpaceError
-syn region hastePreProc start="^\s*\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@hastePreProcGroup,@Spell
-syn cluster hastePreProcGroup contains=hasteIncluded,hasteInclude,hasteDefine
-syn region hasteCppSkip contained start="^\s*\(%:\|#\)\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*\(%:\|#\)\s*endif\>" contains=hasteSpaceError,hasteCppSkip
+syn region hasteInclude start="^\s*#include\>\s*" end="$" contains=hasteIncluded,hasteString
-" floating numbers
-syn match hasteNumber "-\=\<\d\+\.\d\+\(E[+\-]\=\d\+\)\>"
-syn match hasteNumber "-\=\<\d\+\.\d\+\>"
-syn match hasteNumber "0*2#[01_]\+\.[01_]\+#\(E[+\-]\=\d\+\)\="
-syn match hasteNumber "0*16#[0-9a-f_]\+\.[0-9a-f_]\+#\(E[+\-]\=\d\+\)\="
" integer numbers
-syn match hasteNumber "-\=\<\d\+\(E[+\-]\=\d\+\)\>"
+syn match hasteNumber "\d\+\^[[:alnum:]]*[-+]\{0,1\}[[:alnum:]]*"
+syn match hasteNumber "-\=\<\d\+\(\^[+\-]\=\d\+\)\>"
syn match hasteNumber "-\=\<\d\+\>"
-syn match hasteNumber "0*2#[01_]\+#\(E[+\-]\=\d\+\)\="
-syn match hasteNumber "0*16#[0-9a-f_]\+#\(E[+\-]\=\d\+\)\="
+" syn match hasteNumber "0*2#[01_]\+#\(\^[+\-]\=\d\+\)\="
+" syn match hasteNumber "0*16#[0-9a-f_]\+#\(\^[+\-]\=\d\+\)\="
" operators
-syn keyword hasteSeparators & , . \| :
+syn keyword hasteSeparators & , . \|
syn keyword hasteExecution \|\| ; @
-syn keyword hasteOperator := ? !
+syn keyword hasteOperator := ? ! :
syn keyword hasteTypeConstr "[" << >> .. "]" ~
syn keyword hasteExprOp < <= >= > = # <> + - * == ##
syn keyword hasteMisc ( ) 0x 0b
"
syn match hasteSeparators "[&:\|,.]"
syn match hasteOperator ":="
+syn match hasteOperator ":"
syn match hasteOperator "?"
syn match hasteOperator "!"
syn match hasteExecution "||"
@@ -110,7 +103,7 @@ syn match hasteExprOp "<>"
syn match hasteExprOp "="
syn match hasteExprOp "=="
syn match hasteExprOp "##"
-syn match hasteExprOp "#"
+" syn match hasteExprOp "#"
syn match hasteExprOp "*"
syn match hasteExprOp "+"
@@ -133,6 +126,7 @@ hi def link hasteType Type
hi def link hasteGlobal Error
hi def link hasteError Error
hi def link hasteAttribute Type
+"
hi def link hasteSeparators Special
hi def link hasteExecution Special
hi def link hasteTypeConstr Special
@@ -143,7 +137,8 @@ hi def link hasteFutureExt Error
hi def link hasteVerilog Error
hi def link hasteDefine Macro
hi def link hasteInclude Include
-hi def link hastePreProc PreProc
+" hi def link hastePreProc Preproc
+" hi def link hastePreProcVar Special
let b:current_syntax = "haste"
diff --git a/runtime/syntax/hastepreproc.vim b/runtime/syntax/hastepreproc.vim
new file mode 100644
index 0000000000..3fcb8ddd31
--- /dev/null
+++ b/runtime/syntax/hastepreproc.vim
@@ -0,0 +1,49 @@
+" Vim syntax file
+" Language: Haste preprocessor files
+" Maintainer: M. Tranchero - maurizio.tranchero@gmail.com
+" Credits: some parts have been taken from vhdl, verilog, and C syntax
+" files
+" Version: 0.5
+
+" HASTE
+if exists("b:current_syntax")
+ finish
+endif
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+ syntax clear
+elseif exists("b:current_syntax")
+ finish
+endif
+" Read the C syntax to start with
+if version < 600
+ so <sfile>:p:h/haste.vim
+else
+ runtime! syntax/haste.vim
+ unlet b:current_syntax
+endif
+
+" case is significant
+syn case match
+
+" C pre-processor directives
+syn match hastepreprocVar display "\$[[:alnum:]_]*"
+syn region hastepreprocVar start="\${" end="}" contains=hastepreprocVar
+"
+"syn region hastepreproc start="#\[\s*tg[:alnum:]*" end="]#" contains=hastepreprocVar,hastepreproc,hastepreprocError,@Spell
+syn region hastepreproc start="#\[\s*\(\|tgfor\|tgif\)" end="$" contains=hastepreprocVar,hastepreproc,@Spell
+syn region hastepreproc start="}\s\(else\)\s{" end="$" contains=hastepreprocVar,hastepreproc,@Spell
+syn region hastepreproc start="^\s*#\s*\(ifndef\|ifdef\|else\|endif\)\>" end="$" contains=@hastepreprocGroup,@Spell
+syn region hastepreproc start="\s*##\s*\(define\|undef\)\>" end="$" contains=@hastepreprocGroup,@Spell
+syn match hastepreproc "}\{0,1}\s*]#"
+
+" Define the default highlighting.
+" Only when an item doesn't have highlighting yet
+hi def link hastepreproc Preproc
+hi def link hastepreprocVar Special
+hi def link hastepreprocError Error
+
+let b:current_syntax = "hastepreproc"
+
+" vim: ts=8
diff --git a/runtime/syntax/lhaskell.vim b/runtime/syntax/lhaskell.vim
index d6f21ae7cd..7ff09e7b3b 100644
--- a/runtime/syntax/lhaskell.vim
+++ b/runtime/syntax/lhaskell.vim
@@ -4,8 +4,8 @@
" \begin{code} \end{code} blocks
" Maintainer: Haskell Cafe mailinglist <haskell-cafe@haskell.org>
" Original Author: Arthur van Leeuwen <arthurvl@cs.uu.nl>
-" Last Change: 2004 Aug 31
-" Version: 1.01
+" Last Change: 2008 Jul 01
+" Version: 1.02
"
" Thanks to Ian Lynagh for thoughtful comments on initial versions and
" for the inspiration for writing this in the first place.
@@ -29,6 +29,8 @@
" 2004 February 20: Cleaned up the guessing and overriding a bit
" 2004 February 23: Cleaned up syntax highlighting for \begin{code} and
" \end{code}, added some clarification to the attributions
+" 2008 July 1: Removed % from guess list, as it totally breaks plain
+" text markup guessing
"
@@ -71,14 +73,14 @@ call cursor(1,1)
" - \begin{env} (for env != code)
" - \part, \chapter, \section, \subsection, \subsubsection, etc
if b:lhs_markup == "unknown"
- if search('%\|\\documentclass\|\\begin{\(code}\)\@!\|\\\(sub\)*section\|\\chapter|\\part','W') != 0
+ if search('\\documentclass\|\\begin{\(code}\)\@!\|\\\(sub \)*section\|\\chapter|\\part','W') != 0
let b:lhs_markup = "tex"
else
let b:lhs_markup = "plain"
endif
endif
-" If user wants us to highlight TeX syntax, read it.
+" If user wants us to highlight TeX syntax or guess thinks it's TeX, read it.
if b:lhs_markup == "tex"
if version < 600
source <sfile>:p:h/tex.vim
diff --git a/runtime/syntax/logtalk.vim b/runtime/syntax/logtalk.vim
index 6faf5960eb..5fcbb09742 100644
--- a/runtime/syntax/logtalk.vim
+++ b/runtime/syntax/logtalk.vim
@@ -2,7 +2,7 @@
"
" Language: Logtalk
" Maintainer: Paulo Moura <pmoura@logtalk.org>
-" Last Change: February 24, 2006
+" Last Change: June 16, 2008
" Quit when a syntax file was already loaded:
@@ -32,12 +32,15 @@ syn match logtalkOperator ":-"
" Logtalk quoted atoms and strings
syn region logtalkString start=+"+ skip=+\\"+ end=+"+
-syn region logtalkAtom start=+'+ skip=+\\'+ end=+'+
+syn region logtalkAtom start=+'+ skip=+\\'+ end=+'+ contains=logtalkEscapeSequence
+
+syn match logtalkEscapeSequence contained "\\\([\\abfnrtv\"\']\|\(x[a-fA-F0-9]\+\|[0-7]\+\)\\\)"
" Logtalk message sending operators
syn match logtalkOperator "::"
+syn match logtalkOperator ":"
syn match logtalkOperator "\^\^"
@@ -48,7 +51,7 @@ syn region logtalkExtCall matchgroup=logtalkExtCallTag start="{" matchgroup=l
" Logtalk opening entity directives
-syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- object(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkEntityRel
+syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- object(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkString,logtalkAtom,logtalkEntityRel
syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- protocol(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkEntityRel
syn region logtalkOpenEntityDir matchgroup=logtalkOpenEntityDirTag start=":- category(" matchgroup=logtalkOpenEntityDirTag end=")\." contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkEntityRel
@@ -62,17 +65,19 @@ syn match logtalkCloseEntityDir ":- end_category\."
" Logtalk entity relations
-syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="instantiates(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator contained
-syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="specializes(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator contained
-syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="extends(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator contained
-syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="imports(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator contained
-syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="implements(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator contained
+syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="instantiates(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkString,logtalkAtom contained
+syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="specializes(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkString,logtalkAtom contained
+syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="extends(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkString,logtalkAtom contained
+syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="imports(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkString,logtalkAtom contained
+syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="implements(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkString,logtalkAtom contained
+syn region logtalkEntityRel matchgroup=logtalkEntityRelTag start="complements(" matchgroup=logtalkEntityRelTag end=")" contains=logtalkEntity,logtalkVariable,logtalkNumber,logtalkOperator,logtalkString,logtalkAtom contained
" Logtalk directives
syn region logtalkDir matchgroup=logtalkDirTag start=":- alias(" matchgroup=logtalkDirTag end=")\." contains=ALL
-syn region logtalkDir matchgroup=logtalkDirTag start=":- encoding(" matchgroup=logtalkDirTag end=")\." contains=ALL
+syn region logtalkDir matchgroup=logtalkDirTag start=":- calls(" matchgroup=logtalkDirTag end=")\." contains=ALL
+syn region logtalkDir matchgroup=logtalkDirTag start=":- encoding(" matchgroup=logtalkDirTag end=")\." contains=ALL
syn region logtalkDir matchgroup=logtalkDirTag start=":- initialization(" matchgroup=logtalkDirTag end=")\." contains=ALL
syn region logtalkDir matchgroup=logtalkDirTag start=":- info(" matchgroup=logtalkDirTag end=")\." contains=ALL
syn region logtalkDir matchgroup=logtalkDirTag start=":- mode(" matchgroup=logtalkDirTag end=")\." contains=logtalkOperator, logtalkAtom
@@ -83,17 +88,18 @@ syn region logtalkDir matchgroup=logtalkDirTag start=":- multifile(" matchgrou
syn region logtalkDir matchgroup=logtalkDirTag start=":- public(" matchgroup=logtalkDirTag end=")\." contains=ALL
syn region logtalkDir matchgroup=logtalkDirTag start=":- protected(" matchgroup=logtalkDirTag end=")\." contains=ALL
syn region logtalkDir matchgroup=logtalkDirTag start=":- private(" matchgroup=logtalkDirTag end=")\." contains=ALL
-syn region logtalkDir matchgroup=logtalkDirTag start=":- metapredicate(" matchgroup=logtalkDirTag end=")\." contains=ALL
+syn region logtalkDir matchgroup=logtalkDirTag start=":- meta_predicate(" matchgroup=logtalkDirTag end=")\." contains=ALL
syn region logtalkDir matchgroup=logtalkDirTag start=":- op(" matchgroup=logtalkDirTag end=")\." contains=ALL
-syn region logtalkDir matchgroup=logtalkDirTag start=":- calls(" matchgroup=logtalkDirTag end=")\." contains=ALL
+syn region logtalkDir matchgroup=logtalkDirTag start=":- synchronized(" matchgroup=logtalkDirTag end=")\." contains=ALL
+syn match logtalkDirTag ":- synchronized\."
syn region logtalkDir matchgroup=logtalkDirTag start=":- uses(" matchgroup=logtalkDirTag end=")\." contains=ALL
+syn match logtalkDirTag ":- threaded\."
" Module directives
syn region logtalkDir matchgroup=logtalkDirTag start=":- module(" matchgroup=logtalkDirTag end=")\." contains=ALL
syn region logtalkDir matchgroup=logtalkDirTag start=":- export(" matchgroup=logtalkDirTag end=")\." contains=ALL
-syn region logtalkDir matchgroup=logtalkDirTag start=":- meta_predicate(" matchgroup=logtalkDirTag end=")\." contains=ALL
syn region logtalkDir matchgroup=logtalkDirTag start=":- use_module(" matchgroup=logtalkDirTag end=")\." contains=ALL
@@ -103,19 +109,22 @@ syn match logtalkBuiltIn "\<\(abolish\|c\(reate\|urrent\)\)_\(object\|protocol\
syn match logtalkBuiltIn "\<\(object\|protocol\|category\)_property\ze("
-syn match logtalkBuiltIn "\<extends_\(object\|protocol\)\ze("
+syn match logtalkBuiltIn "\<complements_object\ze("
+syn match logtalkBuiltIn "\<extends_\(object\|protocol\|category\)\ze("
syn match logtalkBuiltIn "\<imp\(orts_category\|lements_protocol\)\ze("
-syn match logtalkBuiltIn "\<\(instantiates\|specializes\)_class\ze("
+syn match logtalkBuiltIn "\<\(instantiat\|specializ\)es_class\ze("
syn match logtalkBuiltIn "\<\(abolish\|define\)_events\ze("
syn match logtalkBuiltIn "\<current_event\ze("
-syn match logtalkBuiltIn "\<\(current\|set\)_logtalk_flag\ze("
+syn match logtalkBuiltIn "\<\(curren\|se\)t_logtalk_flag\ze("
syn match logtalkBuiltIn "\<logtalk_\(compile\|l\(ibrary_path\|oad\)\)\ze("
syn match logtalkBuiltIn "\<\(for\|retract\)all\ze("
+syn match logtalkBuiltIn "\<threaded\(_\(call\|once\|ignore\|exit\|peek\|wait\|notify\)\)\?\ze("
+
" Logtalk built-in methods
@@ -137,7 +146,7 @@ syn match logtalkBuiltInMethod "\<before\ze("
syn match logtalkBuiltInMethod "\<after\ze("
syn match logtalkBuiltInMethod "\<expand_term\ze("
-syn match logtalkBuiltInMethod "\<term_expansion\ze("
+syn match logtalkBuiltInMethod "\<\(goal\|term\)_expansion\ze("
syn match logtalkBuiltInMethod "\<phrase\ze("
@@ -212,7 +221,7 @@ syn match logtalkOperator ">="
" Stream selection and control
-syn match logtalkKeyword "\<\(current\|set\)_\(in\|out\)put\ze("
+syn match logtalkKeyword "\<\(curren\|se\)t_\(in\|out\)put\ze("
syn match logtalkKeyword "\<open\ze("
syn match logtalkKeyword "\<close\ze("
syn match logtalkKeyword "\<flush_output\ze("
@@ -235,7 +244,7 @@ syn match logtalkKeyword "\<nl\>"
syn match logtalkKeyword "\<read\(_term\)\?\ze("
syn match logtalkKeyword "\<write\(q\|_\(canonical\|term\)\)\?\ze("
syn match logtalkKeyword "\<\(current_\)\?op\ze("
-syn match logtalkKeyword "\<\(current\)\?char_conversion\ze("
+syn match logtalkKeyword "\<\(current_\)\?char_conversion\ze("
" Logic and control
@@ -250,12 +259,12 @@ syn match logtalkKeyword "\<repeat\>"
syn match logtalkKeyword "\<atom_\(length\|c\(hars\|o\(ncat\|des\)\)\)\ze("
syn match logtalkKeyword "\<sub_atom\ze("
syn match logtalkKeyword "\<char_code\ze("
-syn match logtalkKeyword "\<number_\(c\(hars\|odes\)\)\ze("
+syn match logtalkKeyword "\<number_c\(har\|ode\)s\ze("
" Implementation defined hooks functions
-syn match logtalkKeyword "\<\(current\|set\)_prolog_flag\ze("
+syn match logtalkKeyword "\<\(curren\|se\)t_prolog_flag\ze("
syn match logtalkKeyword "\<halt\ze("
syn match logtalkKeyword "\<halt\>"
@@ -302,13 +311,13 @@ syn match logtalkOperator "\\"
syn match logtalkOperator "|"
-" Logtalk numbers
+" Logtalk numbers
syn match logtalkNumber "\<\d\+\>"
syn match logtalkNumber "\<\d\+\.\d\+\>"
syn match logtalkNumber "\<\d\+[eE][-+]\=\d\+\>"
syn match logtalkNumber "\<\d\+\.\d\+[eE][-+]\=\d\+\>"
-syn match logtalkNumber "\<0'.\>"
+syn match logtalkNumber "\<0'.\|0''\|0'\"\>"
syn match logtalkNumber "\<0b[0-1]\+\>"
syn match logtalkNumber "\<0o\o\+\>"
syn match logtalkNumber "\<0x\x\+\>"
@@ -346,7 +355,7 @@ if version >= 508 || !exists("did_logtalk_syn_inits")
else
command -nargs=+ HiLink hi def link <args>
endif
-
+
HiLink logtalkBlockComment Comment
HiLink logtalkLineComment Comment
@@ -365,6 +374,7 @@ if version >= 508 || !exists("did_logtalk_syn_inits")
HiLink logtalkAtom String
HiLink logtalkString String
+ HiLink logtalkEscapeSequence SpecialChar
HiLink logtalkNumber Number
@@ -386,7 +396,3 @@ endif
let b:current_syntax = "logtalk"
-
-setlocal ts=4
-setlocal fdm=syntax
-setlocal fdc=2