Mercurial > vim
view runtime/syntax/ave.vim @ 33532:f99f5a56ff27 v9.0.2015
patch 9.0.2015: Vim9: does not handle islocked() from a method correctly
Commit: https://github.com/vim/vim/commit/4c8da025ef8140168b7a09d9fe922ce4bb40f19d
Author: Ernie Rael <errael@raelity.com>
Date: Wed Oct 11 21:35:11 2023 +0200
patch 9.0.2015: Vim9: does not handle islocked() from a method correctly
Problem: Vim9: does not handle islocked() from a method correctly
Solution: Handle islocked() builtin from a method.
- Setup `lval_root` from `f_islocked()`.
- Add function `fill_exec_lval_root()` to get info about executing method.
- `sync_root` added in get_lval to handle method member access.
- Conservative approach to reference counting.
closes: #13309
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 11 Oct 2023 21:45:04 +0200 |
parents | 8a1481e59d64 |
children |
line wrap: on
line source
" Vim syntax file " Copyright by Jan-Oliver Wagner " Language: avenue " Maintainer: Jan-Oliver Wagner <Jan-Oliver.Wagner@intevation.de> " Last change: 2001 May 10 " Avenue is the ArcView built-in language. ArcView is " a desktop GIS by ESRI. Though it is a built-in language " and a built-in editor is provided, the use of VIM increases " development speed. " I use some technologies to automatically load avenue scripts " into ArcView. " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif " Avenue is entirely case-insensitive. syn case ignore " The keywords syn keyword aveStatement if then elseif else end break exit return syn keyword aveStatement for each in continue while " String syn region aveString start=+"+ end=+"+ " Integer number syn match aveNumber "[+-]\=\<[0-9]\+\>" " Operator syn keyword aveOperator or and max min xor mod by " 'not' is a kind of a problem: It's an Operator as well as a method " 'not' is only marked as an Operator if not applied as method syn match aveOperator "[^\.]not[^a-zA-Z]" " Variables syn keyword aveFixVariables av nil self false true nl tab cr tab syn match globalVariables "_[a-zA-Z][a-zA-Z0-9]*" syn match aveVariables "[a-zA-Z][a-zA-Z0-9_]*" syn match aveConst "#[A-Z][A-Z_]+" " Comments syn match aveComment "'.*" " Typical Typos " for C programmers: syn match aveTypos "==" syn match aveTypos "!=" " Define the default highlighting. " Only when an item doesn't have highlighting+yet hi def link aveStatement Statement hi def link aveString String hi def link aveNumber Number hi def link aveFixVariables Special hi def link aveVariables Identifier hi def link globalVariables Special hi def link aveConst Special hi def link aveClassMethods Function hi def link aveOperator Operator hi def link aveComment Comment hi def link aveTypos Error let b:current_syntax = "ave"