I tried to played a bit with the new face syntax introduced in https://github.com/mawww/kakoune/commit/4e24ba86cc95c51f78ebe9e77f1848b6760dbeb5 and I think I don’t understand fully how it works.
Let’s open a stock kakoune with
kak -n. We see the
*scratch* buffer with its default content.
These 2 lines have the
First, let’s use the old syntax:
face global Default Information
The buffer lines now have a black fg and a yellow bg. Great.
As stated in the commit message above, this is the same as using:
face global Default default,default@Information
Now let’s try to set some bold. The following are equivalent:
face global Default +b@Information
face global Default default,default+b@Information
The buffer lines are have a black fg, a yellow bg and the text is bold.
So far so good.
Starting from now here are the syntaxes that I don’t understand.
I attempt to reuse
Information except changing the fg color.
These commands result in parsing error:
face global Default red@Information
face global Default red,default@Information
I was expecting to have the buffer lines have red fg and yellow bg.
Same failure for changing only the bg color. Parsing error:
face global Default default,red@Information
Surprisingly, these commands work if an attribute like
+b is applied:
face global Default red+b@Information
face global Default red,default+b@Information
face global Default default,red+b@Information
Am I missing something obvious about this new
@base syntax? Should the parsing errors described above be legit syntax?