This was caused by the index of `vim.g.terminal_color_X` beginning at 1
rather than 0. I thought initially that this would be translated by the
Lua metatable but I guess not!
CLOSES#8
For some reason, `tomlFloat` was linked to `Number`. There is a `Float`
highlight group dedicated for that.
Additionally, the `tomlDate` group was linked to `Constant`. I don't
think that's necessarily a fitting group, since a date is a literal,
and while literals _are_ constants it does not seem fitting. I gave it
the `Special` link instead, since `Special` is supposed to be used
whenever there is an "other" type in a language.
There are some more changes which should be made in order to maintain
consistency across environments. Directory is now used for file names,
and SpecialComment is used for the headers.
There were help syntax highlights scattered around. THis moves them to
one, dedicated spot.
Additionally, there were some incorrect settings for markdown help
blocks, and they were corrected.
The appearance of a lone `{}` was perhaps confusing to some. Behind the
scenes, whenever an attribute is missing from a table, it will be
defaulted to 'None'. Transiently, in using `{}` we are able to shortcut
directly to these defaults.
However, it does not read well. This commit introduces a constant that
makes it clear what is happening.
When using the self-referencial syntax to create new groups out of the
predefined attributes of another:
```lua
Foo = function(self) return {fg=self.Foo.fg, bg=self.Bar.bg} end
```
If either `Foo` or `Bar` were a highlight link, they would fail to be
resolved. This is now fixed.
One of this template's goals is to be visible in any range of blue
light. The other goal of the template is to be distinguishable
semantically. This commit brings us closer to that goal.
This updates the links to two plugins:
1. java-syntax.vim
2. rust.vim
java-syntax.vim hasn't had a commit in a few months, and is pending a
PR from me which will enable syntax highlighting of delimiters. For the
time being, it would be better to use that.
rust.vim has made the decision to not allow highlighting of user types,
and while I understand their reasoning, I completely disagree. For that
reason I will maintain the fork and merge any changes from upstream.
`tomlTable` used to be linked to `StorageClass`, which is completely
inappropriate for what is actually is.
It is now linked to `Structure`, which is more appropriate.
Previous changes to this plugin prevented the terminal color from being
set.
Even before the changes, the terminal color was not set in all
conditions. Now it will be!
We shouldn't alter the contents of `attributes` during the function
call. Instead, we should create a new metatable for the background
color table, and assign it that way.
Before, punctuation groups were separately linked to `Delimiter`. Now,
they are linked to each other so that if one changes away form
`Delimiter` in the future, the other will follow.
`barbar.nvim` had an update which separated buffer index colors from
their respective buffer separators colors. Additionally, `vimtex` had
an update which changed many names of its highlight groups.
This commit aims to relieve some of the visual oddities which may have
occured over the last few days, as a result of those changes.
Highlight groups defined as functions now exhibit the following
behavior:
- Results of function calls are cached.
- Unresolved highlight groups are resolved before indexing.