summaryrefslogtreecommitdiffstats
path: root/syntax/mma.vim
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2017-09-28 22:18:09 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2017-09-28 22:18:09 +0200
commit27903c5b8656c796564ef073c1ebe77a2f0154e1 (patch)
tree2b0a3a14494d7976fb79a7517706e25d2a95d080 /syntax/mma.vim
parentd5e38fa97bc50a93a66473d6cd7072fbcbadda57 (diff)
downloadvim-polyglot-3.0.0.tar.gz
vim-polyglot-3.0.0.zip
Revert inlining basic language packv3.0.0
Diffstat (limited to 'syntax/mma.vim')
-rw-r--r--syntax/mma.vim325
1 files changed, 0 insertions, 325 deletions
diff --git a/syntax/mma.vim b/syntax/mma.vim
index 0850e0b6..ceba976a 100644
--- a/syntax/mma.vim
+++ b/syntax/mma.vim
@@ -1,328 +1,3 @@
-if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'vim') == -1
-
-" Vim syntax file
-" Language: Mathematica
-" Maintainer: steve layland <layland@wolfram.com>
-" Last Change: 2012 Feb 03 by Thilo Six
-" Source: http://members.wri.com/layland/vim/syntax/mma.vim
-" http://vim.sourceforge.net/scripts/script.php?script_id=1273
-" Id: $Id: mma.vim,v 1.4 2006/04/14 20:40:38 vimboss Exp $
-" NOTE:
-"
-" Empty .m files will automatically be presumed as Matlab files
-" unless you have the following in your .vimrc:
-"
-" let filetype_m="mma"
-"
-" I also recommend setting the default 'Comment' hilighting to something
-" other than the color used for 'Function', since both are plentiful in
-" most mathematica files, and they are often the same color (when using
-" background=dark).
-"
-" Credits:
-" o Original Mathematica syntax version written by
-" Wolfgang Waltenberger <wwalten@ben.tuwien.ac.at>
-" o Some ideas like the CommentStar,CommentTitle were adapted
-" from the Java vim syntax file by Claudio Fleiner. Thanks!
-" o Everything else written by steve <layland@wolfram.com>
-"
-" Bugs:
-" o Vim 6.1 didn't really have support for character classes
-" of other named character classes. For example, [\a\d]
-" didn't work. Therefore, a lot of this code uses explicit
-" character classes instead: [0-9a-zA-Z]
-"
-" TODO:
-" folding
-" fix nesting
-" finish populating popular symbols
-
-" quit when a syntax file was already loaded
-if exists("b:current_syntax")
- finish
-endif
-
-let s:cpo_save = &cpo
-set cpo&vim
-
-" Group Definitions:
-syntax cluster mmaNotes contains=mmaTodo,mmaFixme
-syntax cluster mmaComments contains=mmaComment,mmaFunctionComment,mmaItem,mmaFunctionTitle,mmaCommentStar
-syntax cluster mmaCommentStrings contains=mmaLooseQuote,mmaCommentString,mmaUnicode
-syntax cluster mmaStrings contains=@mmaCommentStrings,mmaString
-syntax cluster mmaTop contains=mmaOperator,mmaGenericFunction,mmaPureFunction,mmaVariable
-
-" Predefined Constants:
-" to list all predefined Symbols would be too insane...
-" it's probably smarter to define a select few, and get the rest from
-" context if absolutely necessary.
-" TODO - populate this with other often used Symbols
-
-" standard fixed symbols:
-syntax keyword mmaVariable True False None Automatic All Null C General
-
-" mathematical constants:
-syntax keyword mmaVariable Pi I E Infinity ComplexInfinity Indeterminate GoldenRatio EulerGamma Degree Catalan Khinchin Glaisher
-
-" stream data / atomic heads:
-syntax keyword mmaVariable Byte Character Expression Number Real String Word EndOfFile Integer Symbol
-
-" sets:
-syntax keyword mmaVariable Integers Complexes Reals Booleans Rationals
-
-" character classes:
-syntax keyword mmaPattern DigitCharacter LetterCharacter WhitespaceCharacter WordCharacter EndOfString StartOfString EndOfLine StartOfLine WordBoundary
-
-" SelectionMove directions/units:
-syntax keyword mmaVariable Next Previous After Before Character Word Expression TextLine CellContents Cell CellGroup EvaluationCell ButtonCell GeneratedCell Notebook
-syntax keyword mmaVariable CellTags CellStyle CellLabel
-
-" TableForm positions:
-syntax keyword mmaVariable Above Below Left Right
-
-" colors:
-syntax keyword mmaVariable Black Blue Brown Cyan Gray Green Magenta Orange Pink Purple Red White Yellow
-
-" function attributes
-syntax keyword mmaVariable Protected Listable OneIdentity Orderless Flat Constant NumericFunction Locked ReadProtected HoldFirst HoldRest HoldAll HoldAllComplete SequenceHold NHoldFirst NHoldRest NHoldAll Temporary Stub
-
-" Comment Sections:
-" this:
-" :that:
-syntax match mmaItem "\%(^[( |*\t]*\)\@<=\%(:\+\|\w\)\w\+\%( \w\+\)\{0,3}:" contained contains=@mmaNotes
-
-" Comment Keywords:
-syntax keyword mmaTodo TODO NOTE HEY contained
-syntax match mmaTodo "X\{3,}" contained
-syntax keyword mmaFixme FIX[ME] FIXTHIS BROKEN contained
-syntax match mmaFixme "BUG\%( *\#\=[0-9]\+\)\=" contained
-" yay pirates...
-syntax match mmaFixme "\%(Y\=A\+R\+G\+\|GRR\+\|CR\+A\+P\+\)\%(!\+\)\=" contained
-
-" EmPHAsis:
-" this unnecessary, but whatever :)
-syntax match mmaemPHAsis "\%(^\|\s\)\([_/]\)[a-zA-Z0-9]\+\%([- \t':]\+[a-zA-Z0-9]\+\)*\1\%(\s\|$\)" contained contains=mmaemPHAsis
-syntax match mmaemPHAsis "\%(^\|\s\)(\@<!\*[a-zA-Z0-9]\+\%([- \t':]\+[a-zA-Z0-9]\+\)*)\@!\*\%(\s\|$\)" contained contains=mmaemPHAsis
-
-" Regular Comments:
-" (* *)
-" allow nesting (* (* *) *) even though the frontend
-" won't always like it.
-syntax region mmaComment start=+(\*+ end=+\*)+ skipempty contains=@mmaNotes,mmaItem,@mmaCommentStrings,mmaemPHAsis,mmaComment
-
-" Function Comments:
-" just like a normal comment except the first sentance is Special ala Java
-" (** *)
-" TODO - fix this for nesting, or not...
-syntax region mmaFunctionComment start="(\*\*\+" end="\*\+)" contains=@mmaNotes,mmaItem,mmaFunctionTitle,@mmaCommentStrings,mmaemPHAsis,mmaComment
-syntax region mmaFunctionTitle contained matchgroup=mmaFunctionComment start="\%((\*\*[ *]*\)" matchgroup=mmaFunctionTitle keepend end=".[.!-]\=\s*$" end="[.!-][ \t\r<&]"me=e-1 end="\%(\*\+)\)\@=" contained contains=@mmaNotes,mmaItem,mmaCommentStar
-
-" catch remaining (**********)'s
-syntax match mmaComment "(\*\*\+)"
-" catch preceding *
-syntax match mmaCommentStar "^\s*\*\+" contained
-
-" Variables:
-" Dollar sign variables
-syntax match mmaVariable "\$\a\+[0-9a-zA-Z$]*"
-
-" Preceding and Following Contexts
-syntax match mmaVariable "`[a-zA-Z$]\+[0-9a-zA-Z$]*" contains=mmaVariable
-syntax match mmaVariable "[a-zA-Z$]\+[0-9a-zA-Z$]*`" contains=mmaVariable
-
-" Strings:
-" "string"
-" 'string' is not accepted (until literal strings are supported!)
-syntax region mmaString start=+\\\@<!"+ skip=+\\\@<!\\\%(\\\\\)*"+ end=+"+
-syntax region mmaCommentString oneline start=+\\\@<!"+ skip=+\\\@<!\\\%(\\\\\)*"+ end=+"+ contained
-
-
-" Patterns:
-" Each pattern marker below can be Blank[] (_), BlankSequence[] (__)
-" or BlankNullSequence[] (___). Most examples below can also be
-" combined, for example Pattern tests with Default values.
-"
-" _Head Anonymous patterns
-" name_Head
-" name:(_Head|_Head2) Named patterns
-"
-" _Head : val
-" name:_Head:val Default values
-"
-" _Head?testQ,
-" _Head?(test[#]&) Pattern tests
-"
-" name_Head/;test[name] Conditionals
-"
-" _Head:. Predefined Default
-"
-" .. ... Pattern Repeat
-
-syntax match mmaPatternError "\%(_\{4,}\|)\s*&\s*)\@!\)" contained
-
-"pattern name:
-syntax match mmaPattern "[A-Za-z0-9`]\+\s*:\+[=>]\@!" contains=mmaOperator
-"pattern default:
-syntax match mmaPattern ": *[^ ,]\+[\], ]\@=" contains=@mmaCommentStrings,@mmaTop,mmaOperator
-"pattern head/test:
-syntax match mmaPattern "[A-Za-z0-9`]*_\+\%(\a\+\)\=\%(?([^)]\+)\|?[^\]},]\+\)\=" contains=@mmaTop,@mmaCommentStrings,mmaPatternError
-
-" Operators:
-" /: ^= ^:= UpValue
-" /; Conditional
-" := = DownValue
-" == === ||
-" != =!= && Logic
-" >= <= < >
-" += -= *=
-" /= ++ -- Math
-" ^*
-" -> :> Rules
-" @@ @@@ Apply
-" /@ //@ Map
-" /. //. Replace
-" // @ Function application
-" <> ~~ String/Pattern join
-" ~ infix operator
-" . : Pattern operators
-syntax match mmaOperator "\%(@\{1,3}\|//[.@]\=\)"
-syntax match mmaOperator "\%(/[;:@.]\=\|\^\=:\==\)"
-syntax match mmaOperator "\%([-:=]\=>\|<=\=\)"
-"syntax match mmaOperator "\%(++\=\|--\=\|[/+-*]=\|[^*]\)"
-syntax match mmaOperator "[*+=^.:?-]"
-syntax match mmaOperator "\%(\~\~\=\)"
-syntax match mmaOperator "\%(=\{2,3}\|=\=!=\|||\=\|&&\|!\)" contains=ALLBUT,mmaPureFunction
-
-" Symbol Tags:
-" "SymbolName::item"
-"syntax match mmaSymbol "`\=[a-zA-Z$]\+[0-9a-zA-Z$]*\%(`\%([a-zA-Z$]\+[0-9a-zA-Z$]*\)\=\)*" contained
-syntax match mmaMessage "`\=\([a-zA-Z$]\+[0-9a-zA-Z$]*\)\%(`\%([a-zA-Z$]\+[0-9a-zA-Z$]*\)\=\)*::\a\+" contains=mmaMessageType
-syntax match mmaMessageType "::\a\+"hs=s+2 contained
-
-" Pure Functions:
-syntax match mmaPureFunction "#\%(#\|\d\+\)\="
-syntax match mmaPureFunction "&"
-
-" Named Functions:
-" Since everything is pretty much a function, get this straight
-" from context
-syntax match mmaGenericFunction "[A-Za-z0-9`]\+\s*\%([@[]\|/:\|/\=/@\)\@=" contains=mmaOperator
-syntax match mmaGenericFunction "\~\s*[^~]\+\s*\~"hs=s+1,he=e-1 contains=mmaOperator,mmaBoring
-syntax match mmaGenericFunction "//\s*[A-Za-z0-9`]\+"hs=s+2 contains=mmaOperator
-
-" Numbers:
-syntax match mmaNumber "\<\%(\d\+\.\=\d*\|\d*\.\=\d\+\)\>"
-syntax match mmaNumber "`\d\+\%(\d\@!\.\|\>\)"
-
-" Special Characters:
-" \[Name] named character
-" \ooo octal
-" \.xx 2 digit hex
-" \:xxxx 4 digit hex (multibyte unicode)
-syntax match mmaUnicode "\\\[\w\+\d*\]"
-syntax match mmaUnicode "\\\%(\x\{3}\|\.\x\{2}\|:\x\{4}\)"
-
-" Syntax Errors:
-syntax match mmaError "\*)" containedin=ALLBUT,@mmaComments,@mmaStrings
-syntax match mmaError "\%([/]{3,}\|[&:|+*?~-]\{3,}\|[.=]\{4,}\|_\@<=\.\{2,}\|`\{2,}\)" containedin=ALLBUT,@mmaComments,@mmaStrings
-
-" Punctuation:
-" things that shouldn't really be highlighted, or highlighted
-" in they're own group if you _really_ want. :)
-" ( ) { }
-" TODO - use Delimiter group?
-syntax match mmaBoring "[(){}]" contained
-
-" ------------------------------------
-" future explorations...
-" ------------------------------------
-" Function Arguments:
-" anything between brackets []
-" (fold)
-"syntax region mmaArgument start="\[" end="\]" containedin=ALLBUT,@mmaComments,@mmaStrings transparent fold
-
-" Lists:
-" (fold)
-"syntax region mmaLists start="{" end="}" containedin=ALLBUT,@mmaComments,@mmaStrings transparent fold
-
-" Regions:
-" (fold)
-"syntax region mmaRegion start="(\*\+[^<]*<!--[^>]*\*\+)" end="--> \*)" containedin=ALLBUT,@mmaStrings transparent fold keepend
-
-" show fold text
-set commentstring='(*%s*)'
-"set foldtext=MmaFoldText()
-
-"function MmaFoldText()
-" let line = getline(v:foldstart)
-"
-" let lines = v:foldend-v:foldstart+1
-"
-" let sub = substitute(line, '(\*\+|\*\+)|[-*_]\+', '', 'g')
-"
-" if match(line, '(\*') != -1
-" let lines = lines.' line comment'
-" else
-" let lines = lines.' lines'
-" endif
-"
-" return v:folddashes.' '.lines.' '.sub
-"endf
-
-"this is slow for computing folds, but it does so accurately
-syntax sync fromstart
-
-" but this seems to do alright for non fold syntax coloring.
-" for folding, however, it doesn't get the nesting right.
-" TODO - find sync group for multiline modules? ick...
-
-" sync multi line comments
-"syntax sync match syncComments groupthere NONE "\*)"
-"syntax sync match syncComments groupthere mmaComment "(\*"
-
-"set foldmethod=syntax
-"set foldnestmax=1
-"set foldminlines=15
-
-
-" NOTE - the following links are not guaranteed to
-" look good under all colorschemes. You might need to
-" :so $VIMRUNTIME/syntax/hitest.vim and tweak these to
-" look good in yours
-
-
-hi def link mmaComment Comment
-hi def link mmaCommentStar Comment
-hi def link mmaFunctionComment Comment
-hi def link mmaLooseQuote Comment
-hi def link mmaGenericFunction Function
-hi def link mmaVariable Identifier
-" hi def link mmaSymbol Identifier
-hi def link mmaOperator Operator
-hi def link mmaPatternOp Operator
-hi def link mmaPureFunction Operator
-hi def link mmaString String
-hi def link mmaCommentString String
-hi def link mmaUnicode String
-hi def link mmaMessage Type
-hi def link mmaNumber Type
-hi def link mmaPattern Type
-hi def link mmaError Error
-hi def link mmaFixme Error
-hi def link mmaPatternError Error
-hi def link mmaTodo Todo
-hi def link mmaemPHAsis Special
-hi def link mmaFunctionTitle Special
-hi def link mmaMessageType Special
-hi def link mmaItem Preproc
-
-
-let b:current_syntax = "mma"
-
-let &cpo = s:cpo_save
-unlet s:cpo_save
-
-endif
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'mathematica') == -1
"Vim syntax file