]> granicus.if.org Git - vim/commitdiff
Updated runtime files.
authorBram Moolenaar <Bram@vim.org>
Sat, 16 Jan 2010 13:29:14 +0000 (14:29 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 16 Jan 2010 13:29:14 +0000 (14:29 +0100)
runtime/doc/todo.txt
runtime/syntax/d.vim
runtime/syntax/matlab.vim

index e888ebe922e2a070af96d7147637a0811377d852..f4f2428454c69238f6e2c64b7521eb3a25405f47 100644 (file)
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.2.  Last change: 2010 Jan 12
+*todo.txt*      For Vim version 7.2.  Last change: 2010 Jan 14
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -33,6 +33,9 @@ be worked on, but only if you sponsor Vim development.  See |sponsor|.
 Patch from Dominique Pelle, documentation fixes. (2010 Jan 9)
 Another patch for README files.
 
+Patch from Dominique Pelle for buffer reload when fixing spell mistake.
+(2010 Jan 14)
+
 Extention for MzScheme interface. (Sergey Khorev, 2009 Dec 21, update Dec 26)
 
 patch from Sergey Khorev for "*" command escaping. (2010 Jan 5)
@@ -51,11 +54,14 @@ don't change it.
 
 Patch to make CTRL-] work on scheme keywords. (Sergey Khorev, 2010 Jan 5)
 
+Gcc warning for condition that can never be true, fold.c line 3242. (James
+Vega, 2010 Jan 13)
+
 Omni menu position one column too far to the right, double-wide chars split to
 next line. (Jiang Ma, 2010 Jan 10)
 Explicit example from Dominique.
 Need to check that the last character fits?
-Patch from Dominique Pelle. (2010 Jan 12)
+Patch from Dominique Pelle. (2010 Jan 12)  One more (2010 Jan 12)
 
 has("win64") returns zero.  Patch from Sergey Khorev, 2009 Jan 5.
 Or define WIN64 when _WIN64 is defined, change all _WIN64 to WIN64.
index 244e05359633143254d45c819b003e7226ecf8bc..964936e60642c72900308024ab3b94356b43f8f2 100644 (file)
@@ -1,29 +1,44 @@
-" Vim syntax file for the D programming language (version 0.149).
+" Vim syntax file for the D programming language (version 1.053 and 2.039).
 "
 " Language:    D
-" Maintainer:  Jason Mills<jmills@cs.mun.ca>
-"   When emailing me, please put the word vim somewhere in the subject
-"   to ensure the email does not get marked as spam.
-" Last Change: 2006 Apr 30
-" Version:     0.15
+" Maintainer:  Jason Mills<jasonmills@nf.sympatico.ca>
+" Last Change: 2010 Jan 07
+" Version:     0.18
+"
+" Contributors:
+"   - Kirk McDonald: version 0.17 updates, with minor modifications
+"     (http://paste.dprogramming.com/dplmb7qx?view=hidelines)
+"   - Jesse K. Phillips: patch for some keywords and attributes (annotations), with modifications
+"   - Tim Keating: patch to fix a bug in highlighting the `\` literal
+"   - Frank Benoit: Fixed a bug that caused some identifiers and numbers to highlight as octal number errors.
+"
+" Please email me with bugs, comments, and suggestions.
 "
 " Options:
-"   d_comment_strings - set to highlight strings and numbers in comments
+"   d_comment_strings - Set to highlight strings and numbers in comments.
 "
-"   d_hl_operator_overload - set to highlight D's specially named functions
-"   that when overloaded implement unary and binary operators (e.g. cmp).
+"   d_hl_operator_overload - Set to highlight D's specially named functions
+"   that when overloaded implement unary and binary operators (e.g. opCmp).
 "
 " Todo:
-"   - Must determine a better method of sync'ing than simply setting minlines
-"   to a large number for /+ +/.
+"   - Determine a better method of sync'ing than simply setting minlines
+"   to a large number.
 "
-"   - Several keywords (namely, in and out) are both storage class and
-"   statements, depending on their context. Must use some matching to figure
-"   out which and highlight appropriately. For now I have made such keywords
-"   statements.
+"   - Several keywords (e.g., in, out, inout) are both storage class and
+"   statements, depending on their context. Perhaps use pattern matching to
+"   figure out which and highlight appropriately. For now I have made such
+"   keywords storage classes so their highlighting is consistent with other
+"   keywords that are commonly used with them, but are true storage classes,
+"   such as lazy. Similarly, I made some statement keywords (e.g. body) storage
+"   classes.
 "
 "   - Mark contents of the asm statement body as special
 "
+"   - Maybe highlight the 'exit', 'failure', and 'success' parts of the
+"   scope() statement.
+"
+"   - Highlighting DDoc comments.
+"
 
 " Quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -33,46 +48,59 @@ endif
 " Keyword definitions
 "
 syn keyword dExternal          import package module extern
-syn keyword dConditional       if else switch iftype
+syn keyword dConditional       if else switch
 syn keyword dBranch            goto break continue
-syn keyword dRepeat            while for do foreach
+syn keyword dRepeat            while for do foreach foreach_reverse
 syn keyword dBoolean           true false
 syn keyword dConstant          null
-syn keyword dConstant          __FILE__ __LINE__ __DATE__ __TIME__ __TIMESTAMP__
+syn keyword dConstant          __FILE__ __LINE__ __EOF__ __VERSION__
+syn keyword dConstant          __DATE__ __TIME__ __TIMESTAMP__ __VENDOR__
+
 syn keyword dTypedef           alias typedef
-syn keyword dStructure         template interface class enum struct union
+syn keyword dStructure         template interface class struct union
+syn keyword dEnum              enum
 syn keyword dOperator          new delete typeof typeid cast align is
 syn keyword dOperator          this super
 if exists("d_hl_operator_overload")
   syn keyword dOpOverload      opNeg opCom opPostInc opPostDec opCast opAdd opSub opSub_r
   syn keyword dOpOverload      opMul opDiv opDiv_r opMod opMod_r opAnd opOr opXor
   syn keyword dOpOverload      opShl opShl_r opShr opShr_r opUShr opUShr_r opCat
-  syn keyword dOpOverload      opCat_r opEquals opEquals opCmp opCmp opCmp opCmp
-  syn keyword dOpOverload      opAddAssign opSubAssign opMulAssign opDivAssign
+  syn keyword dOpOverload      opCat_r opEquals opEquals opCmp
+  syn keyword dOpOverload      opAssign opAddAssign opSubAssign opMulAssign opDivAssign
   syn keyword dOpOverload      opModAssign opAndAssign opOrAssign opXorAssign
   syn keyword dOpOverload      opShlAssign opShrAssign opUShrAssign opCatAssign
   syn keyword dOpOverload      opIndex opIndexAssign opCall opSlice opSliceAssign opPos
-  syn keyword dOpOverload      opAdd_r opMul_r opAnd_r opOr_r opXor_r 
+  syn keyword dOpOverload      opAdd_r opMul_r opAnd_r opOr_r opXor_r opIn opIn_r
+  syn keyword dOpOverload      opPow opDispatch opStar opDot opApply opApplyReverse
 endif
 syn keyword dType              ushort int uint long ulong float
 syn keyword dType              void byte ubyte double bit char wchar ucent cent
-syn keyword dType              short bool dchar
+syn keyword dType              short bool dchar string wstring dstring
 syn keyword dType              real ireal ifloat idouble creal cfloat cdouble
 syn keyword dDebug             deprecated unittest
 syn keyword dExceptions                throw try catch finally
 syn keyword dScopeDecl         public protected private export
-syn keyword dStatement         version debug return with invariant body scope
-syn keyword dStatement         in out inout asm mixin
-syn keyword dStatement         function delegate
-syn keyword dStorageClass      auto static override final const abstract volatile
-syn keyword dStorageClass      synchronized
+syn keyword dStatement         version debug return with
+syn keyword dStatement         function delegate __traits asm mixin macro
+syn keyword dStorageClass      in out inout ref lazy scope body
+syn keyword dStorageClass      pure nothrow
+syn keyword dStorageClass      auto static override final abstract volatile __gshared __thread
+syn keyword dStorageClass      synchronized immutable shared const invariant lazy
 syn keyword dPragma            pragma
 
+" Attributes/annotations
+syn match dAnnotation  "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>"
 
 " Assert is a statement and a module name.
 syn match dAssert "^assert\>"
 syn match dAssert "[^.]\s*\<assert\>"ms=s+1
 
+" dTokens is used by the token string highlighting
+syn cluster dTokens contains=dExternal,dConditional,dBranch,dRepeat,dBoolean
+syn cluster dTokens add=dConstant,dTypedef,dStructure,dOperator,dOpOverload
+syn cluster dTokens add=dType,dDebug,dExceptions,dScopeDecl,dStatement
+syn cluster dTokens add=dStorageClass,dPragma,dAssert,dAnnotation
+
 " Marks contents of the asm statment body as special
 "
 " TODO
@@ -85,12 +113,14 @@ syn match dAssert "[^.]\s*\<assert\>"ms=s+1
 " Labels
 "
 " We contain dScopeDecl so public: private: etc. are not highlighted like labels
-syn match dUserLabel   "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=dLabel,dScopeDecl
+syn match dUserLabel    "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=dLabel,dScopeDecl,dEnum
 syn keyword dLabel     case default
 
+syn cluster dTokens add=dUserLabel,dLabel
+
 " Comments
 "
-syn keyword dTodo      contained TODO FIXME TEMP XXX
+syn keyword dTodo      contained TODO FIXME TEMP REFACTOR REVIEW HACK BUG XXX
 syn match dCommentStar contained "^\s*\*[^/]"me=e-1
 syn match dCommentStar contained "^\s*\*$"
 syn match dCommentPlus contained "^\s*+[^/]"me=e-1
@@ -114,6 +144,8 @@ hi link dNestedCommentString        dString
 hi link dCommentStar           dBlockComment
 hi link dCommentPlus           dNestedComment
 
+syn cluster dTokens add=dBlockComment,dNestedComment,dLineComment
+
 " /+ +/ style comments and strings that span multiple lines can cause
 " problems. To play it safe, set minlines to a large number.
 syn sync minlines=200
@@ -125,24 +157,55 @@ syn sync ccomment dBlockComment
 syn match dSpecialCharError contained "[^']"
 
 " Escape sequences (oct,specal char,hex,wchar, character entities \&xxx;)
-" These are not contained because they are considered string litterals
+" These are not contained because they are considered string literals.
 syn match dEscSequence "\\\(\o\{1,3}\|[\"\\'\\?ntbrfva]\|u\x\{4}\|U\x\{8}\|x\x\x\)"
-syn match dEscSequence "\\&[^;& \t]\+;"
+syn match dEscSequence "\\&[^;& \t]\+;"
 syn match dCharacter   "'[^']*'" contains=dEscSequence,dSpecialCharError
 syn match dCharacter   "'\\''" contains=dEscSequence
 syn match dCharacter   "'[^\\]'"
 
+syn cluster dTokens add=dEscSequence,dCharacter
+
 " Unicode characters
 "
 syn match dUnicode "\\u\d\{4\}"
 
-
 " String.
 "
-syn region dString     start=+"+ end=+"[cwd]\=+ contains=dEscSequence,@Spell
-syn region dRawString  start=+`+ skip=+\\`+ end=+`[cwd]\=+ contains=@Spell
-syn region dRawString  start=+r"+ skip=+\\"+ end=+"[cwd]\=+ contains=@Spell
-syn region dHexString  start=+x"+ skip=+\\"+ end=+"[cwd]\=+ contains=@Spell
+syn region dString     start=+"+ end=+"[cwd]\=+ skip=+\\\\\|\\"+ contains=dEscSequence,@Spell
+syn region dRawString  start=+`+ end=+`[cwd]\=+ contains=@Spell
+syn region dRawString  start=+r"+ end=+"[cwd]\=+ contains=@Spell
+syn region dHexString  start=+x"+ end=+"[cwd]\=+ contains=@Spell
+syn region dDelimString        start=+q"\z(.\)+ end=+\z1"+ contains=@Spell
+syn region dHereString start=+q"\z(\I\i*\)\n+ end=+\n\z1"+ contains=@Spell
+
+" Nesting delimited string contents
+"
+syn region dNestParenString start=+(+ end=+)+ contained transparent contains=dNestParenString,@Spell
+syn region dNestBrackString start=+\[+ end=+\]+ contained transparent contains=dNestBrackString,@Spell
+syn region dNestAngleString start=+<+ end=+>+ contained transparent contains=dNestAngleString,@Spell
+syn region dNestCurlyString start=+{+ end=+}+ contained transparent contains=dNestCurlyString,@Spell
+
+" Nesting delimited strings
+"
+syn region dParenString        matchgroup=dParenString start=+q"(+ end=+)"+ contains=dNestParenString,@Spell
+syn region dBrackString        matchgroup=dBrackString start=+q"\[+ end=+\]"+ contains=dNestBrackString,@Spell
+syn region dAngleString        matchgroup=dAngleString start=+q"<+ end=+>"+ contains=dNestAngleString,@Spell
+syn region dCurlyString        matchgroup=dCurlyString start=+q"{+ end=+}"+ contains=dNestCurlyString,@Spell
+
+hi link dParenString dNestString
+hi link dBrackString dNestString
+hi link dAngleString dNestString
+hi link dCurlyString dNestString
+
+syn cluster dTokens add=dString,dRawString,dHexString,dDelimString,dNestString
+
+" Token strings
+"
+syn region dNestTokenString start=+{+ end=+}+ contained contains=dNestTokenString,@dTokens
+syn region dTokenString matchgroup=dTokenStringBrack transparent start=+q{+ end=+}+ contains=dNestTokenString,@dTokens
+
+syn cluster dTokens add=dTokenString
 
 " Numbers
 "
@@ -177,6 +240,8 @@ syn match dHexFloat display "\<0x[0-9a-f_]\+\.[0-9a-f_]*\(p[-+]\=[0-9_]\+\)\=[fl
 "floating point number, without dot, with exponent
 syn match dHexFloat    display "\<0x[0-9a-f_]\+p[-+]\=[0-9_]\+[fl]\=i\=\>"
 
+syn cluster dTokens add=dDec,dHex,dOctal,dOctalError,dBinary,dFloat,dHexFloat
+
 syn case match
 
 " Pragma (preprocessor) support
@@ -205,6 +270,10 @@ hi def link dScopeDecl             dStorageClass
 hi def link dStorageClass      StorageClass
 hi def link dBoolean           Boolean
 hi def link dUnicode           Special
+hi def link dTokenStringBrack  String
+hi def link dHereString                String
+hi def link dNestString                String
+hi def link dDelimString       String
 hi def link dRawString         String
 hi def link dString            String
 hi def link dHexString         String
@@ -213,9 +282,10 @@ hi def link dEscSequence   SpecialChar
 hi def link dSpecialCharError  Error
 hi def link dOctalError                Error
 hi def link dOperator          Operator
-hi def link dOpOverload                Operator
+hi def link dOpOverload                Identifier
 hi def link dConstant          Constant
 hi def link dTypedef           Typedef
+hi def link dEnum              Structure
 hi def link dStructure         Structure
 hi def link dTodo              Todo
 hi def link dType              Type
@@ -224,7 +294,8 @@ hi def link dBlockComment   Comment
 hi def link dNestedComment     Comment
 hi def link dExternal          Include
 hi def link dPragma            PreProc
+hi def link dAnnotation                PreProc
 
 let b:current_syntax = "d"
-   
+
 " vim: ts=8 noet
index 0e281c114d08dba400f0389056a44557c864ef17..7d20368e054abfbefb8adf9b5efddea9b3ba6537 100644 (file)
@@ -1,15 +1,10 @@
 " Vim syntax file
 " Language:    Matlab
-" Maintainer:  Maurizio Tranchero - maurizio.tranchero@gmail.com
+" Maintainer:  Maurizio Tranchero - maurizio(.)tranchero(@)gmail(.)com
 " Credits:     Preben 'Peppe' Guldberg <peppe-vim@wielders.org>
 "              Original author: Mario Eusebio
-" Change History:
-"              Sat Jul 25 16:14:55 CEST 2009
-"              - spell check enabled only for comments (thanks to James Vega)
-"
-"              Tue Apr 21 10:03:31 CEST 2009
-"              - added object oriented support
-"              - added multi-line comments %{ ...\n... %}
+" Last Change: Wed Jan 13 11:12:34 CET 2010
+"              - 'global' and 'persistent' keyword are now recognized
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -28,6 +23,7 @@ syn keyword matlabExceptions          try catch
 syn keyword matlabOO                   classdef properties events methods
 
 syn keyword matlabTodo                 contained  TODO
+syn keyword matlabScope                        global persistent
 
 " If you do not want these operators lit, uncommment them and the "hi link" below
 syn match matlabArithmeticOperator     "[-+]"
@@ -42,7 +38,7 @@ syn match matlabLineContinuation      "\.\{3}"
 
 " String
 " MT_ADDON - added 'skip' in order to deal with 'tic' escaping sequence 
-syn region matlabString                        start=+'+ end=+'+       oneline skip=+''+ contains=@Spell
+syn region matlabString                        start=+'+ end=+'+       oneline skip=+''+
 
 " If you don't like tabs
 syn match matlabTab                    "\t"
@@ -61,10 +57,10 @@ syn match matlabTransposeOperator   "[])a-zA-Z0-9.]'"lc=1
 
 syn match matlabSemicolon              ";"
 
-syn match matlabComment                        "%.*$"  contains=matlabTodo,matlabTab,@Spell
+syn match matlabComment                        "%.*$"  contains=matlabTodo,matlabTab
 " MT_ADDON - correctly highlights words after '...' as comments
-syn match matlabComment                        "\.\.\..*$"     contains=matlabTodo,matlabTab,@Spell
-syn region matlabMultilineComment      start=+%{+ end=+%}+ contains=matlabTodo,matlabTab,@Spell
+syn match matlabComment                        "\.\.\..*$"     contains=matlabTodo,matlabTab
+syn region matlabMultilineComment      start=+%{+ end=+%}+ contains=matlabTodo,matlabTab
 
 syn keyword matlabOperator             break zeros default margin round ones rand
 syn keyword matlabOperator             ceil floor size clear zeros eye mean std cov
@@ -109,6 +105,7 @@ if version >= 508 || !exists("did_matlab_syntax_inits")
   HiLink matlabSemicolon               SpecialChar
   HiLink matlabComment                 Comment
   HiLink matlabMultilineComment                Comment
+  HiLink matlabScope                   Type
 
   HiLink matlabArithmeticOperator      matlabOperator
   HiLink matlabRelationalOperator      matlabOperator