Mercurial > vim
view runtime/syntax/clean.vim @ 23350:9b86957ddd95 v8.2.2218
patch 8.2.2218: Vim9: failure if passing more args to lambda than expected
Commit: https://github.com/vim/vim/commit/fc0e8f5c3ef51c86cfa4a51f92b264ef79962b9d
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Dec 25 20:24:51 2020 +0100
patch 8.2.2218: Vim9: failure if passing more args to lambda than expected
Problem: Vim9: failure if passing more arguments to a lambda than expected.
Solution: Only put expected arguments on the stack. (closes https://github.com/vim/vim/issues/7548)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 25 Dec 2020 20:30:03 +0100 |
parents | 46763b01cd9a |
children |
line wrap: on
line source
" Vim syntax file " Language: Clean " Author: Pieter van Engelen <pietere@sci.kun.nl> " Co-Author: Arthur van Leeuwen <arthurvl@sci.kun.nl> " Last Change: 2013 Oct 15 by Jurriƫn Stutterheim " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim " Some Clean-keywords syn keyword cleanConditional if case syn keyword cleanLabel let! with where in of syn keyword cleanSpecial Start syn keyword cleanKeyword infixl infixr infix syn keyword cleanBasicType Int Real Char Bool String syn keyword cleanSpecialType World ProcId Void Files File syn keyword cleanModuleSystem module implementation definition system syn keyword cleanTypeClass class instance export " Import highlighting syn region cleanIncludeRegion start="^\s*\(from\|import\|\s\+\(as\|qualified\)\)" end="\n" contains=cleanIncludeKeyword keepend syn keyword cleanIncludeKeyword contained from import as qualified " To do some Denotation Highlighting syn keyword cleanBoolDenot True False syn region cleanStringDenot start=+"+ skip=+\(\(\\\\\)\+\|\\"\)+ end=+"+ display syn match cleanCharDenot "'\(\\\\\|\\'\|[^'\\]\)\+'" display syn match cleanIntegerDenot "[\~+-]\?\<\(\d\+\|0[0-7]\+\|0x[0-9A-Fa-f]\+\)\>" display syn match cleanRealDenot "[\~+-]\?\d\+\.\d\+\(E[\~+-]\?\d\+\)\?" display " To highlight the use of lists, tuples and arrays syn region cleanList start="\[" end="\]" contains=ALL syn region cleanRecord start="{" end="}" contains=ALL syn region cleanArray start="{:" end=":}" contains=ALL syn match cleanTuple "([^=]*,[^=]*)" contains=ALL " To do some Comment Highlighting syn region cleanComment start="/\*" end="\*/" contains=cleanComment,cleanTodo fold syn region cleanComment start="//.*" end="$" display contains=cleanTodo syn keyword cleanTodo TODO FIXME XXX contained " Now for some useful type definition recognition syn match cleanFuncTypeDef "\([a-zA-Z].*\|(\=[-~@#$%^?!+*<>\/|&=:]\+)\=\)\s*\(infix[lr]\=\)\=\s*\d\=\s*::.*->.*" contains=cleanSpecial,cleanBasicType,cleanSpecialType,cleanKeyword " Define the default highlighting. " Only when an item doesn't have highlighting yet " Comments hi def link cleanComment Comment " Constants and denotations hi def link cleanStringDenot String hi def link cleanCharDenot Character hi def link cleanIntegerDenot Number hi def link cleanBoolDenot Boolean hi def link cleanRealDenot Float " Identifiers " Statements hi def link cleanTypeClass Keyword hi def link cleanConditional Conditional hi def link cleanLabel Label hi def link cleanKeyword Keyword " Generic Preprocessing hi def link cleanIncludeKeyword Include hi def link cleanModuleSystem PreProc " Type hi def link cleanBasicType Type hi def link cleanSpecialType Type hi def link cleanFuncTypeDef Typedef " Special hi def link cleanSpecial Special hi def link cleanList Special hi def link cleanArray Special hi def link cleanRecord Special hi def link cleanTuple Special " Error " Todo hi def link cleanTodo Todo let b:current_syntax = "clean" let &cpo = s:cpo_save unlet s:cpo_save " vim: ts=4