Mercurial > vim
view runtime/syntax/elmfilt.vim @ 32888:b1162ad29d73 v9.0.1753
patch 9.0.1753: can't move to last non-blank char
Commit: https://github.com/vim/vim/commit/b5f6fe9ca2661d06bc0be839447ce1995450b9de
Author: Christian Brabandt <cb@256bit.org>
Date: Sat Aug 19 15:53:16 2023 +0200
patch 9.0.1753: can't move to last non-blank char
Problem: can't move to last non-blank char
Solution: Make g<end> behave like that
Make it possible to move to last non-blank char on a line
We can distinguish between g0 and g^ to move to the very first character
and the first non-blank char.
And while we can move to the last screen char, we cannot go to the last
non-blank screen char.
Since I think g$ is the more widely used and known movement command (and
g<end> is synonymous to it) change the behaviour of g<end> to move to
last non-screen char instead and don't have this be the same command as
the g$ command anymore.
If you want to keep the old behaviour, you can use:
```
nnoremap g<end> g$
```
Add a test to verify the behaviour.
closes: #12593
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Sat, 19 Aug 2023 16:00:08 +0200 |
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