Mercurial > vim
view runtime/syntax/mel.vim @ 22612:b08f435d5b86 v8.2.1854
patch 8.2.1854: Vim9: crash when throwing exception for NULL string
Commit: https://github.com/vim/vim/commit/1e021e63c565bbb30783a557b4e883cc27f56403
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Oct 16 20:25:23 2020 +0200
patch 8.2.1854: Vim9: crash when throwing exception for NULL string
Problem: Vim9: crash when throwing exception for NULL string. (Dhiraj
Mishra)
Solution: Handle NULL string like empty string. (closes #7139)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 16 Oct 2020 20:30:04 +0200 |
parents | 46763b01cd9a |
children |
line wrap: on
line source
" Vim syntax file " Language: MEL (Maya Extension Language) " Maintainer: Robert Minsk <egbert@centropolisfx.com> " Last Change: May 27 1999 " Based on: Bram Moolenaar <Bram@vim.org> C syntax file " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif " when wanted, highlight trailing white space and spaces before tabs if exists("mel_space_errors") sy match melSpaceError "\s\+$" sy match melSpaceError " \+\t"me=e-1 endif " A bunch of usefull MEL keyworks sy keyword melBoolean true false yes no on off sy keyword melFunction proc sy match melIdentifier "\$\(\a\|_\)\w*" sy keyword melStatement break continue return sy keyword melConditional if else switch sy keyword melRepeat while for do in sy keyword melLabel case default sy keyword melOperator size eval env exists whatIs sy keyword melKeyword alias sy keyword melException catch error warning sy keyword melInclude source sy keyword melType int float string vector matrix sy keyword melStorageClass global sy keyword melDebug trace sy keyword melTodo contained TODO FIXME XXX " MEL data types sy match melCharSpecial contained "\\[ntr\\"]" sy match melCharError contained "\\[^ntr\\"]" sy region melString start=+"+ skip=+\\"+ end=+"+ contains=melCharSpecial,melCharError sy case ignore sy match melInteger "\<\d\+\(e[-+]\=\d\+\)\=\>" sy match melFloat "\<\d\+\(e[-+]\=\d\+\)\=f\>" sy match melFloat "\<\d\+\.\d*\(e[-+]\=\d\+\)\=f\=\>" sy match melFloat "\.\d\+\(e[-+]\=\d\+\)\=f\=\>" sy case match sy match melCommaSemi contained "[,;]" sy region melMatrixVector start=/<</ end=/>>/ contains=melInteger,melFloat,melIdentifier,melCommaSemi sy cluster melGroup contains=melFunction,melStatement,melConditional,melLabel,melKeyword,melStorageClass,melTODO,melCharSpecial,melCharError,melCommaSemi " catch errors caused by wrong parenthesis sy region melParen transparent start='(' end=')' contains=ALLBUT,@melGroup,melParenError,melInParen sy match melParenError ")" sy match melInParen contained "[{}]" " comments sy region melComment start="/\*" end="\*/" contains=melTodo,melSpaceError sy match melComment "//.*" contains=melTodo,melSpaceError sy match melCommentError "\*/" sy region melQuestionColon matchgroup=melConditional transparent start='?' end=':' contains=ALLBUT,@melGroup if !exists("mel_minlines") let mel_minlines=15 endif exec "sy sync ccomment melComment minlines=" . mel_minlines " Define the default highlighting. " Only when an item doesn't have highlighting yet hi def link melBoolean Boolean hi def link melFunction Function hi def link melIdentifier Identifier hi def link melStatement Statement hi def link melConditional Conditional hi def link melRepeat Repeat hi def link melLabel Label hi def link melOperator Operator hi def link melKeyword Keyword hi def link melException Exception hi def link melInclude Include hi def link melType Type hi def link melStorageClass StorageClass hi def link melDebug Debug hi def link melTodo Todo hi def link melCharSpecial SpecialChar hi def link melString String hi def link melInteger Number hi def link melFloat Float hi def link melMatrixVector Float hi def link melComment Comment hi def link melError Error hi def link melSpaceError melError hi def link melCharError melError hi def link melParenError melError hi def link melInParen melError hi def link melCommentError melError let b:current_syntax = "mel"