Mercurial > vim
view runtime/syntax/radiance.vim @ 32876:522f16e3e058 v9.0.1747
patch 9.0.1747: screenpos() may cause unnecessary redraw
Commit: https://github.com/vim/vim/commit/6235a109c48ff2559eca3b16578c429ffb61eadc
Author: zeertzjq <zeertzjq@outlook.com>
Date: Sat Aug 19 14:12:42 2023 +0200
patch 9.0.1747: screenpos() may cause unnecessary redraw
Problem: screenpos() may cause unnecessary redraw.
Solution: Don't unnecessarily reset VALID_WROW flag.
VALID_WROW flag is only used by two functions: validate_cursor() and
cursor_valid(), and cursor_valid() is only used once in ex_sleep().
When adjust_plines_for_skipcol() was first added in patch 9.0.0640, it
was called in two functions: comp_botline() and curs_rows().
- comp_botline() is called in two places:
- onepage(), which resets VALID_WROW flag immediately afterwards.
- validate_botline_win(), where resetting a VALID_ flag is strange.
- curs_rows() is called in two places:
- curs_columns(), which sets VALID_WROW flag afterwards.
- validate_cline_row(), which is only used by GUI mouse focus.
Therefore resetting VALID_WROW there doesn't seem to do anything useful.
Also, a w_skipcol check (which resets VALID_WROW flag) was added to
check_cursor_moved() in patch 9.0.0734, which seems to make more sense
than resetting that flag in the middle of a computation.
While at it make adjust_plines_for_skipcol() and textpos2screenpos() a
bit less confusing:
- Make adjust_plines_for_skipcol() return "off" instead of "n - off".
- Use 0-based "row" in textpos2screenpos() until W_WINROW is added.
closes: #12832
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 19 Aug 2023 14:30:02 +0200 |
parents | 46763b01cd9a |
children |
line wrap: on
line source
" Vim syntax file " Language: Radiance Scene Description " Maintainer: Georg Mischler <schorsch@schorsch.com> " Last change: 26. April. 2001 " Radiance is a lighting simulation software package written " by Gregory Ward-Larson ("the computer artist formerly known " as Greg Ward"), then at LBNL. " " http://radsite.lbl.gov/radiance/HOME.html " " Of course, there is also information available about it " from http://www.schorsch.com/ " We take a minimalist approach here, highlighting just the " essential properties of each object, its type and ID, as well as " comments, external command names and the null-modifier "void". " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif " all printing characters except '#' and '!' are valid in names. setlocal iskeyword=\",$-~ " The null-modifier syn keyword radianceKeyword void " The different kinds of scene description object types " Reference types syn keyword radianceExtraType contained alias instance " Surface types syn keyword radianceSurfType contained ring polygon sphere bubble syn keyword radianceSurfType contained cone cup cylinder tube source " Emitting material types syn keyword radianceLightType contained light glow illum spotlight " Material types syn keyword radianceMatType contained mirror mist prism1 prism2 syn keyword radianceMatType contained metal plastic trans syn keyword radianceMatType contained metal2 plastic2 trans2 syn keyword radianceMatType contained metfunc plasfunc transfunc syn keyword radianceMatType contained metdata plasdata transdata syn keyword radianceMatType contained dielectric interface glass syn keyword radianceMatType contained BRTDfunc antimatter " Pattern modifier types syn keyword radiancePatType contained colorfunc brightfunc syn keyword radiancePatType contained colordata colorpict brightdata syn keyword radiancePatType contained colortext brighttext " Texture modifier types syn keyword radianceTexType contained texfunc texdata " Mixture types syn keyword radianceMixType contained mixfunc mixdata mixpict mixtext " Each type name is followed by an ID. " This doesn't work correctly if the id is one of the type names of the " same class (which is legal for radiance), in which case the id will get " type color as well, and the int count (or alias reference) gets id color. syn region radianceID start="\<alias\>" end="\<\k*\>" contains=radianceExtraType syn region radianceID start="\<instance\>" end="\<\k*\>" contains=radianceExtraType syn region radianceID start="\<source\>" end="\<\k*\>" contains=radianceSurfType syn region radianceID start="\<ring\>" end="\<\k*\>" contains=radianceSurfType syn region radianceID start="\<polygon\>" end="\<\k*\>" contains=radianceSurfType syn region radianceID start="\<sphere\>" end="\<\k*\>" contains=radianceSurfType syn region radianceID start="\<bubble\>" end="\<\k*\>" contains=radianceSurfType syn region radianceID start="\<cone\>" end="\<\k*\>" contains=radianceSurfType syn region radianceID start="\<cup\>" end="\<\k*\>" contains=radianceSurfType syn region radianceID start="\<cylinder\>" end="\<\k*\>" contains=radianceSurfType syn region radianceID start="\<tube\>" end="\<\k*\>" contains=radianceSurfType syn region radianceID start="\<light\>" end="\<\k*\>" contains=radianceLightType syn region radianceID start="\<glow\>" end="\<\k*\>" contains=radianceLightType syn region radianceID start="\<illum\>" end="\<\k*\>" contains=radianceLightType syn region radianceID start="\<spotlight\>" end="\<\k*\>" contains=radianceLightType syn region radianceID start="\<mirror\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<mist\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<prism1\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<prism2\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<metal\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<plastic\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<trans\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<metal2\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<plastic2\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<trans2\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<metfunc\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<plasfunc\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<transfunc\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<metdata\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<plasdata\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<transdata\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<dielectric\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<interface\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<glass\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<BRTDfunc\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<antimatter\>" end="\<\k*\>" contains=radianceMatType syn region radianceID start="\<colorfunc\>" end="\<\k*\>" contains=radiancePatType syn region radianceID start="\<brightfunc\>" end="\<\k*\>" contains=radiancePatType syn region radianceID start="\<colordata\>" end="\<\k*\>" contains=radiancePatType syn region radianceID start="\<brightdata\>" end="\<\k*\>" contains=radiancePatType syn region radianceID start="\<colorpict\>" end="\<\k*\>" contains=radiancePatType syn region radianceID start="\<colortext\>" end="\<\k*\>" contains=radiancePatType syn region radianceID start="\<brighttext\>" end="\<\k*\>" contains=radiancePatType syn region radianceID start="\<texfunc\>" end="\<\k*\>" contains=radianceTexType syn region radianceID start="\<texdata\>" end="\<\k*\>" contains=radianceTexType syn region radianceID start="\<mixfunc\>" end="\<\k*\>" contains=radianceMixType syn region radianceID start="\<mixdata\>" end="\<\k*\>" contains=radianceMixType syn region radianceID start="\<mixtext\>" end="\<\k*\>" contains=radianceMixType " external commands (generators, xform et al.) syn match radianceCommand "^\s*!\s*[^\s]\+\>" " The usual suspects syn keyword radianceTodo contained TODO XXX syn match radianceComment "#.*$" contains=radianceTodo " Define the default highlighting. " Only when an item doesn't have highlighting yet hi def link radianceKeyword Keyword hi def link radianceExtraType Type hi def link radianceSurfType Type hi def link radianceLightType Type hi def link radianceMatType Type hi def link radiancePatType Type hi def link radianceTexType Type hi def link radianceMixType Type hi def link radianceComment Comment hi def link radianceCommand Function hi def link radianceID String hi def link radianceTodo Todo let b:current_syntax = "radiance" " vim: ts=8 sw=2