Mercurial > vim
view runtime/syntax/uil.vim @ 34684:faf891660963 v9.1.0223
patch 9.1.0223: code duplication in loop to add active text properties
Commit: https://github.com/vim/vim/commit/1134fdd1b369119d0d6992e3120bb5f7c788b697
Author: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Date: Thu Mar 28 11:49:46 2024 +0100
patch 9.1.0223: code duplication in loop to add active text properties
Problem: There are two dense conditions with duplication that needs to
be kept in sync between the while loop break condition and the
condition to skip certain text properties.
Solution: Refactor the loop by moving while loop conditions into the
body of the while loop so they can be shared with skip
conditions. `break` and an `active` variable are used to
handle the outcome of these merged conditions.
(Dylan Thacker-Smith)
closes: #14307
Signed-off-by: Dylan Thacker-Smith <dylan.ah.smith@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 28 Mar 2024 12:00:05 +0100 |
parents | b11ceef7116e |
children |
line wrap: on
line source
" Vim syntax file " Language: Motif UIL (User Interface Language) " Maintainer: Thomas Koehler <jean-luc@picard.franken.de> " Please be aware: I'm often slow to answer email due to a high " non-computer related workload (sometimes 4-8 weeks) " Last Change: 2016 September 6 " URL: http://gott-gehabt.de/800_wer_wir_sind/thomas/Homepage/Computer/vim/syntax/uil.vim " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif " A bunch of useful keywords syn keyword uilType arguments callbacks color syn keyword uilType compound_string controls end syn keyword uilType exported file include syn keyword uilType module object procedure syn keyword uilType user_defined xbitmapfile syn keyword uilTodo contained TODO " String and Character constants " Highlight special characters (those which have a backslash) differently syn match uilSpecial contained "\\\d\d\d\|\\." syn region uilString start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=@Spell,uilSpecial syn match uilCharacter "'[^\\]'" syn region uilString start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=@Spell,uilSpecial syn match uilSpecialCharacter "'\\.'" syn match uilSpecialStatement "Xm[^ =(){}:;]*" syn match uilSpecialFunction "MrmNcreateCallback" syn match uilRessource "XmN[^ =(){}:;]*" syn match uilNumber "-\=\<\d*\.\=\d\+\(e\=f\=\|[uU]\=[lL]\=\)\>" syn match uilNumber "0[xX]\x\+\>" syn region uilComment start="/\*" end="\*/" contains=@Spell,uilTodo syn match uilComment "!.*" contains=@Spell,uilTodo syn match uilCommentError "\*/" syn region uilPreCondit start="^#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)" skip="\\$" end="$" contains=uilComment,uilString,uilCharacter,uilNumber,uilCommentError syn match uilIncluded contained "<[^>]*>" syn match uilInclude "^#\s*include\s\+." contains=uilString,uilIncluded syn match uilLineSkip "\\$" syn region uilDefine start="^#\s*\(define\>\|undef\>\)" end="$" contains=uilLineSkip,uilComment,uilString,uilCharacter,uilNumber,uilCommentError syn sync ccomment uilComment " Define the default highlighting. " Only when an item doesn't have highlighting yet " The default highlighting. hi def link uilCharacter uilString hi def link uilSpecialCharacter uilSpecial hi def link uilNumber uilString hi def link uilCommentError uilError hi def link uilInclude uilPreCondit hi def link uilDefine uilPreCondit hi def link uilIncluded uilString hi def link uilSpecialFunction uilRessource hi def link uilRessource Identifier hi def link uilSpecialStatement Keyword hi def link uilError Error hi def link uilPreCondit PreCondit hi def link uilType Type hi def link uilString String hi def link uilComment Comment hi def link uilSpecial Special hi def link uilTodo Todo let b:current_syntax = "uil" " vim: ts=8