* Commit patterns I've collected
- AppleSingle/AppleDouble pattern, used for macOS resource forks.
- MAME CHD file format, currently only supports v5.
- KEX Engine proprietary TARC format, used by various Nightdive games.
* Add to README
* improv: Added new text editor semantic highlighting themes.
Current themes use the same colors for all identifier types. These two new themes are just examples of what the new feature makes possible.
One aims to simulate CLion Darcula theme and the other is an extension of the original dark theme.
* fix: corrected entries to readme file
* fix: corrected base for the theme
Made sure readme looks correctly on fork and links go to files.
Both one-dark and nocturne used global-doc-comment instead of the correctly named doc-global-comment. Typos in Nocturned didn't prevent the theme from loading, but left annoying messages in the log. As explained by the author, the base color map must be one of the three that imhex loads by default, dark,light and/or classic. Even if that is not the case, the name given in base must be that of a valid color map that has been loaded prior to the ones that use it as a base.
fix: incorrect names and values for some colormap entries of the test editor.
Some names were changed from the original that need to be changed back to make the old colormaps compatible with the new system.
Also, the colors of the console text were incorrectly set to be equal to each other.
This Pr brings back the old names and hopefully fixes problems of incorrect color being used
doc: add syntax highlighting to std::ptr::NullablePtr example, fix description of type::escape_bytes
Co-authored-by: paxcut <53811119+paxcut@users.noreply.github.com>
* patterns: Add support for smk
* patterns: Use builtin function and separate SMK struct
---------
Co-authored-by: paxcut <53811119+paxcut@users.noreply.github.com>
Mostly this enables attempted recursive parsing of submessages. Note
that it is inherently impossible to determine the underlying data type
for LengthDelimited for sure, so this is a best-effort attempt. The user
can disable recursive submessage parsing via Settings.
Other minor changes:
* added #pragma MIME and #pragma endian directives
* enabled UTF-8 display for LengthDelimited types
* added signed LEB128 display for Varint types (although this doesn't
seem to be working on my test case)
* swapped if/else-if structure for match
* fail upon receiving unknown or unsupported WireType
Co-authored-by: Nik <werwolv98@gmail.com>
* Fix bencode dictionary
When parsing a bencode dictionary, the end character 'e' was never
consumed. This caused a misinterpretation of the character as struct Value of
an unknown type 'e'.
* Fix bencode list
A list was not included in the Value's parsing logic so it may have
been mistakenly parsed as a string.
* Fix std::ctype::isprint not including space
The space character, 0x20, is considered as a printable character in ASCII
and in >=C89. Adding it to the range of std::ctype::isprint also fixes
other std::ctype functions that use it.
* Fix bencode byte string formatting
Byte strings do not render nicely in pattern data's value column if they
contain non-printable characters. This commit makes the value of byte
strings to be surrounded by quotation marks, and renders a warning text
without quotation marks if the byte string contains non-printable
characters.