The names that followed the 'extends' and 'implements' keywords were not
properly colored. Two new syntax have been added to deal with that case.
Note: Only one could have done the job.
It corrects some bugs or omissions that occured in the Java syntax.
Plus, it adds some new stuff like the highlight of enum classes when
decalred or the arrow operator '->'.
In some case, the highlight of some generic types was overflowing:
public void method(List<String> strings, List<Integer> integers) {}
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
overflow of the first parameter
It corrects this behavior by restraining the type highlight before the
parameter name.
Up to now the following text 'new ArrayList<>()' was not highlighted
correctly. The modification that has been done highlights it like a
normal type name.
Methods are colored in green, types in yellows and annotations in
orange. Some italic flavours are also used.
The most difficult thing to achieve was to highlight constantly Java
types or classe names.
The Java syntax is located under the ./after/syntax repository.
The syntax provides mainly rules for methods, types and annotations. All
syntax rules have the prefix 'javaOdyssey'.
A new function s:l has been introduced in order to use 'highlight link'
instead of just a 'highlight' which redefined a new highlight instead of
using an existing one.
This function is used in some case in order not to redefine an
highlight. Now, Function links to Identifier and StorageClass, Structure
and Typedef all link to Statement.
The highlight group named 'Operator' is colored with the procedure
color.
Plus, the highlight groups named 'StorageClass', 'Structure' and
'Typedef' are colored with the keyword color.
A last minute change before the new release: Types are back to having no
attribute.
In fact, it is expected to set all the attributes in the next release
(0.4.0), so we don't want to go head of ourselves.
The 'Syntax' section is renamed 'Default Syntax'.
Then, if a language or a plugin is supported, its associated section
will be named '<language or plugin> Syntax'.
A script-scoped variable containing all the different attributes has
been initialized.
This variable is a list with the attibutes for the terminals and the
GUIs.
The colors related to the errors, the warnings and the types have been
changed.
- Hue of the red (errors): 10
- Hue of the orange (warnings): 40
- Hue of the yellow (types): 80
The following colors have been modified:
- type: The color of the types is now very yellowish, and its hue is 70.
- keyword: The color of the keywords is now a blue a little bit darker
whose hue is 180. It is great because it is nearer the hue of
the background color.
- constant: The color of the constants is now a dark blue instead of a
yellow-green.