1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187
|
Version 0.5.0:
New features:
- Introduced optional style scopes. This allows having separate rendering of
styles for different code types, in particular for embedding one code type
into another. A good example where this can be useful is for CSS, which is
often embedded into HTML. Using different rendering of the styles allows
visual distinction between the distinct code types in the same file.
Bug fixes:
- Allow comments in CSS documents in all the relevant places.
Version 0.4.9:
New features:
- Added syntax highlighting for Markdown documents.
Bug fixes:
- Fix Perl highlighting patterns to handle nested variable expansion (e.g.
${$foo}).
Version 0.4.8:
Bug fixes:
- Fixed incorrect free on uninitialized pointers when validation of
highlighting data fails.
Version 0.4.7:
Introduce a PCRE2 compatibility layer using PCRE, to allow compilation on
platforms which don't provide PCRE2.
Version 0.4.6:
New features:
- Migrated to using PCRE2. This allows using the PCRE2 JIT, which provides a
significant performance improvement.
Bug fixes:
- Fixed highlighting of keywords after a line continuation in shell
scripts.
Version 0.4.5:
Bug fixes:
- Fixes the install target in Makefile.in.
- Fixes the configure script to correctly pass the PCRE flags.
Version 0.4.4:
- Removes pre-generated Doxygen documentation.
- Minor updates to Makefile.in for compatibility with Debian packaging.
Version 0.4.3:
New features:
- Support for highlighting C++11 raw string literals.
- Support for Ruby highlighting.
Bug fixes:
- Properly handle Emacs mode lines. Only the first character of the language
name was used to detect the highlighting mode.
- Fix javascript regular expression literal highlighting to accept
expressions starting with \ or [,. Also allow such literals after detecting
a comma.
Version 0.4.2:
Re-release of version 0.4.0 for config script update.
Version 0.4.1:
Re-release of version 0.4.0 for config script update.
Version 0.4.0:
New features:
- The interface for detection of languages was changed to return a
t3_highlight_lang_t struct, to allow accurate loading of the patterns
from the detected language.
- A new function was added to retrieve the language detected from the
file name.
- Basic syntax highlighting patterns for PHP. Currently does not include
highlighting of string interpolation.
Bug fixes:
- The HTML patterns for the svg, math and style tags did not correctly
accept the generic HTML attribute names.
- The style tag was not colored correctly at all.
This version is both an API and ABI break.
Version 0.3.5:
Bug fixes:
- Added omitted 'do' keyword for C++.
- Fix reads and writes of unallocated memory in analyzing patterns.
Version 0.3.4:
Bug fixes:
- Add override keyword for C++.
- Update the diff language spec to be more permissive.
- Correct color for deletions in t3highlight when outputing to terminal.
Version 0.3.3:
Bug fixes:
- Loop check in matching checked the end of the previoius match instead of
the end of the newly found match, causing the check to be too
conservative.
- The shell pattern was missing the elif keyword.
- The java pattern did not highlight string constants, even though they were
being recognised.
Version 0.3.2:
Bug fixes:
- The shell patterns were updated to correctly exit from subshells and other
constructs using the closing parenthesis as their terminator.
Version 0.3.1:
Bug fixes:
- Fix incorrect analysis of on-entry states, which would allow a loop of
empty start patterns, when more than one on-entry pattern was used in a
single pattern.
Version 0.3.0:
New features:
- Start patterns for states may now match the empty string, provided they
do not cause a cycle of states reachable through only empty-string
matches.
Bug fixes:
- The shell patterns have been improved to recognize keywords better.
Version 0.2.4:
Bug fixes:
- Compile with Large File Support if such support is available on the
platform.
Version 0.2.3:
Bug fixes:
- Fix memory leak in t3_highlight_detect.
Version 0.2.2:
New features:
- Added LaTeX output option for t3highlight program.
Bug fixes:
- Fix missing casts to unsigned char in UTF-8 validity check.
Version 0.2.1:
New features:
- A new API for autodetection of languages using either the vi(m) modelines
and Emacs major mode comments, or the interpreter for scripts.
- Switch to XDG Base Directory Specification locations for per-user
configuration files.
Version 0.2.0:
New features:
- Added dynamic 'end' patterns, which allows the 'end' pattern to be
dependent on the text matched by the 'start' pattern.
- Allowed 'end' and other patterns to specify how many states to exit. This
also allows multiple 'end'-like patterns and error patterns.
- Added the possibility to push extra states on the stack on matching a
'start' pattern. This allows more state based handling of the input.
- Added perl language definition.
- Added HTML language definition.
- Added CSS language definition.
- Added MathML language definition.
- Added SVG language definition.
- Updated C language definition to C11 standard.
- Improved the handling of here-docs in the shell language.
- Implemented internal UTF-8 validity check, such that pcre_exec can be
called with PCRE_NO_UTF8_CHECK. This increases performance.
- Changed the matching routine to use anchored matching, to speed up the
matching process. As a result, the \G assertion matches everywhere, and
is therefore rendered useless. This results in a large (>10 times)
speed-up.
- Added t3highlight executable, which allows using the highlighter from the
command line. Different output styles can be used, with styles for
terminal output (esc) and HTML included.
- Added verbose error reporting.
Bug fixes:
- Don't use \b to determine word boundaries when - is also a word character.
Version 0.1.3:
Bug fixes:
- Fix memory leak in loading available names.
Version 0.1.2:
New features:
- Added python and python3 language definitions.
Bug fixes:
- Improved floating point constant matching for Java and C/C++.
- Use longest match instead of first match as tie breaker.
Version 0.1.1:
Initial release
|