Mercurial > vim
view runtime/syntax/cabalconfig.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 | 29c5f168c6fd |
children |
line wrap: on
line source
" Vim syntax file " Language: Cabal Config " Maintainer: profunctor@pm.me " Last Change: Marcin Szamotulski " Original Author: Marcin Szamotulski if exists("b:current_syntax") finish endif syn match CabalConfigSection /^\S[[:alpha:]]\+\%(-[[:alpha:]]\+\)*[^:]*$/ syn region CabalConfigRegion matchgroup=CabalConfigKey start=/^\s*[[:alpha:]]\+\%(-[[:alpha:]]\+\)*:/ matchgroup=NONE end=/$/ contains=CabalConfigSeparator,CabalConfigKeyword,CabalConfigPath keepend syn match CabalConfigComment /^\s*--.*$/ syn match CabalConfigValue /.*$/ contained syn match CabalConfigKey /[[:alpha:]]\+\%(-[[:alpha:]]\+\)*\ze:/ syn keyword CabalConfigSeparator : contained syn match CabalConfigVariable /\$[[:alpha:]]\+/ syn keyword CabalConfigKeyword True False ghc syn match CabalConfigPath /\%([[:alpha:]]\+:\)\?\%(\/[[:print:]]\+\)\+/ hi def link CabalConfigComment Comment hi def link CabalConfigSection Title hi def link CabalConfigKey Statement hi def link CabalConfigSeparator NonText hi def link CabalConfigValue Normal hi def link CabalConfigVariable Identifier hi def link CabalConfigKeyword Keyword hi def link CabalConfigPath Directory let b:current_syntax = "cabal.config"