diff options
author | Christian Clason <c.clason@uni-graz.at> | 2023-08-21 09:51:38 +0900 |
---|---|---|
committer | Christian Clason <c.clason@uni-graz.at> | 2023-08-21 20:32:28 +0900 |
commit | 4a36ecd23898e8b4ccbe8fce9bd9300aa69aa834 (patch) | |
tree | 349704ded5692437334cb8bd5dd544dada7ded1d | |
parent | 4a1fb37108bd8e53391c2ea4dbbe83bcfd6d3ee5 (diff) | |
download | rneovim-4a36ecd23898e8b4ccbe8fce9bd9300aa69aa834.tar.gz rneovim-4a36ecd23898e8b4ccbe8fce9bd9300aa69aa834.tar.bz2 rneovim-4a36ecd23898e8b4ccbe8fce9bd9300aa69aa834.zip |
vim-patch:72904d5fda0a
Runtime: Add nixInherit matcher in nix.vim syntax
Perform the lookahead in `nixInheritAttributeScope`, then hand over to a
new region called `nixInheritAttributeSubExpr`, which sets the match
start to one char after the opening bracket to avoid a double-match.
Finally, only do a lookahead to `)` in `nixInheritAttributeSubExpr` (and
thus make sure the region is closed to not get a match of `nixParen`
here) and let `nixInheritAttributeScope` close the bracket.
https://github.com/vim/vim/commit/72904d5fda0a1bc78f4bc9080c158226e6e90d5c
Co-authored-by: James Fleming <james@electronic-quill.net>
-rw-r--r-- | runtime/syntax/nix.vim | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/runtime/syntax/nix.vim b/runtime/syntax/nix.vim index c07676a4a8..671b269c04 100644 --- a/runtime/syntax/nix.vim +++ b/runtime/syntax/nix.vim @@ -1,11 +1,12 @@ " Vim syntax file " Language: Nix -" Maintainer: James Fleming <james@electronic-quill.net> +" Maintainer: James Fleming <james@electronic-quill.net> +" (Github username: equill) " Original Author: Daiderd Jordan <daiderd@gmail.com> " Acknowledgement: Based on vim-nix maintained by Daiderd Jordan <daiderd@gmail.com> " https://github.com/LnL7/vim-nix " License: MIT -" Last Change: 2022 Dec 06 +" Last Change: 2023 Aug 19 if exists("b:current_syntax") finish @@ -68,7 +69,8 @@ syn match nixAttribute "[a-zA-Z_][a-zA-Z0-9_'-]*\ze\%([^a-zA-Z0-9_'.-]\|$\)" con syn region nixAttributeAssignment start="=" end="\ze;" contained contains=@nixExpr syn region nixAttributeDefinition start=/\ze[a-zA-Z_"$]/ end=";" contained contains=nixComment,nixAttribute,nixInterpolation,nixSimpleString,nixAttributeDot,nixAttributeAssignment -syn region nixInheritAttributeScope start="(" end="\ze)" contained contains=@nixExpr +syn region nixInheritAttributeSubExpr start="("ms=e+1 end="\ze)" contained contains=nixAttributeDot,@nixExpr +syn region nixInheritAttributeScope start="\ze(" end=")" contained contains=nixInheritAttributeSubExpr syn region nixAttributeDefinition matchgroup=nixInherit start="\<inherit\>" end=";" contained contains=nixComment,nixInheritAttributeScope,nixAttribute syn region nixAttributeSet start="{" end="}" contains=nixComment,nixAttributeDefinition |