I'm using Vim with the Vaxe plugin for syntax highlighting, the plugin's highlighting file is here for reference.
I'm trying to add some conceals to tidy up the code visually, but I can't seem to get anything to apply.
The simplest thing I'm trying to achieve as to conceal the word "package" as just the letter "p".
Using various plugins like SyntaxAttr.vim, I determined the syntax attributes for the word package are:
hi<haxeTypeDecl> trans<haxeTypeDecl> lo<Statement>
So I try to add it with:
:syn match haxeTypeDecl /package/ conceal cchar=p
The entry seems to be added as I can see it with ":syn" as:
haxeTypeDecl xxx abstract interface from import to using enum class package
match /^class\>/
match /[^.]\s*\<class\>/ms=s+1
match /package/ conceal
links to Keyword
Then I set conceal level to 2, but the text is not concealed. It works when I test it in an empty stand alone document, but doesn't in a real document. I'm guessing I'm not properly overriding the highlighting, but I'm not sure what I'm meant to do. Do I make my own group and linked it with ":hl! link"?, add a match higher priority match with matchadd()? Do I have to also override the Statement group or the Keywords group? Vim's syntax highlighting seems unbelievably dense.
Thank's in advance!
:syn match haxeTypeDecl /package/ conceal containedin=ALL cchar=p
instead of:syn match haxeTypeDecl /package/ conceal cchar=p
(basically just adding thecontainedin=ALL
argument) ?