Mercurial > vim
view runtime/syntax/elmfilt.vim @ 23768:1a53383f08e5 v8.2.2425
patch 8.2.2425: cursor on invalid line with range and :substitute
Commit: https://github.com/vim/vim/commit/df2c2988bbaecd28b0fbec8d64327b1bbb005e19
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Jan 28 20:18:08 2021 +0100
patch 8.2.2425: cursor on invalid line with range and :substitute
Problem: Cursor on invalid line with range and :substitute.
Solution: Do not move the cursor when skipping commands. (closes https://github.com/vim/vim/issues/3434)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Thu, 28 Jan 2021 20:30:03 +0100 |
parents | 8edf0aeb71b9 |
children | 02bd0fe77c68 |
line wrap: on
line source
" Vim syntax file " Language: Elm Filter rules " Maintainer: Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM> " Last Change: Aug 31, 2016 " Version: 9 " URL: http://www.drchip.org/astronaut/vim/index.html#SYNTAX_ELMFILT " quit when a syntax file was already loaded if exists("b:current_syntax") finish endif syn cluster elmfiltIfGroup contains=elmfiltCond,elmfiltOper,elmfiltOperKey,,elmfiltNumber,elmfiltOperKey syn match elmfiltParenError "[()]" syn match elmfiltMatchError "/" syn region elmfiltIf start="\<if\>" end="\<then\>" contains=elmfiltParen,elmfiltParenError skipnl skipwhite nextgroup=elmfiltAction syn region elmfiltParen contained matchgroup=Delimiter start="(" matchgroup=Delimiter end=")" contains=elmfiltParen,@elmfiltIfGroup,elmfiltThenError syn region elmfiltMatch contained matchgroup=Delimiter start="/" skip="\\/" matchgroup=Delimiter end="/" skipnl skipwhite nextgroup=elmfiltOper,elmfiltOperKey syn match elmfiltThenError "\<then.*$" syn match elmfiltComment "^#.*$" contains=@Spell syn keyword elmfiltAction contained delete execute executec forward forwardc leave save savecopy skipnl skipwhite nextgroup=elmfiltString syn match elmfiltArg contained "[^\\]%[&0-9dDhmrsSty&]"lc=1 syn match elmfiltOperKey contained "\<contains\>" skipnl skipwhite nextgroup=elmfiltString syn match elmfiltOperKey contained "\<matches\s" nextgroup=elmfiltMatch,elmfiltSpaceError syn keyword elmfiltCond contained cc bcc lines always subject sender from to lines received skipnl skipwhite nextgroup=elmfiltString syn match elmfiltNumber contained "\d\+" syn keyword elmfiltOperKey contained and not skipnl skipwhite nextgroup=elmfiltOper,elmfiltOperKey,elmfiltString syn match elmfiltOper contained "\~" skipnl skipwhite nextgroup=elmfiltMatch syn match elmfiltOper contained "<=\|>=\|!=\|<\|<\|=" skipnl skipwhite nextgroup=elmfiltString,elmfiltCond,elmfiltOperKey syn region elmfiltString contained start='"' skip='"\(\\\\\)*\\["%]' end='"' contains=elmfiltArg skipnl skipwhite nextgroup=elmfiltOper,elmfiltOperKey,@Spell syn region elmfiltString contained start="'" skip="'\(\\\\\)*\\['%]" end="'" contains=elmfiltArg skipnl skipwhite nextgroup=elmfiltOper,elmfiltOperKey,@Spell syn match elmfiltSpaceError contained "\s.*$" " Define the default highlighting. if !exists("skip_elmfilt_syntax_inits") hi def link elmfiltAction Statement hi def link elmfiltArg Special hi def link elmfiltComment Comment hi def link elmfiltCond Statement hi def link elmfiltIf Statement hi def link elmfiltMatch Special hi def link elmfiltMatchError Error hi def link elmfiltNumber Number hi def link elmfiltOper Operator hi def link elmfiltOperKey Type hi def link elmfiltParenError Error hi def link elmfiltSpaceError Error hi def link elmfiltString String hi def link elmfiltThenError Error endif let b:current_syntax = "elmfilt" " vim: ts=9