changelog
    
    
    - Mon, 03 Oct 2022 12:27:10 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 03 Oct 2022 12:27:10 +0200] rev 64
 
    - add test for empty file
 
    - Mon, 03 Oct 2022 12:14:53 +0200
 
    - by Mike Becker <universe@uap-core.de> [Mon, 03 Oct 2022 12:14:53 +0200] rev 63
 
    - update tests
 
    - Mon, 13 Nov 2017 14:17:46 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 13 Nov 2017 14:17:46 +0100] rev 62
 
    - removes build/ucx from makefile
 
    - Mon, 13 Nov 2017 13:52:00 +0100
 
    - by Mike Becker <universe@uap-core.de> [Mon, 13 Nov 2017 13:52:00 +0100] rev 61
 
    - ucx is now used as external library
 
    - Thu, 10 Nov 2016 18:44:48 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 10 Nov 2016 18:44:48 +0100] rev 60
 
    - removes span around line number
 
    - Thu, 10 Nov 2016 18:27:16 +0100
 
    - by Mike Becker <universe@uap-core.de> [Thu, 10 Nov 2016 18:27:16 +0100] rev 59
 
    - test header file now contains user-select:none property
 
    - Wed, 31 Aug 2016 16:21:28 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 31 Aug 2016 16:21:28 +0200] rev 58
 
    - Release of version 2.0
 
    - Wed, 31 Aug 2016 16:20:58 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 31 Aug 2016 16:20:58 +0200] rev 57
 
    - improves API and adds functions for strings
 
    - Wed, 31 Aug 2016 14:47:01 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 31 Aug 2016 14:47:01 +0200] rev 56
 
    - fixes ancient header macro
 
    - Wed, 31 Aug 2016 14:41:56 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 31 Aug 2016 14:41:56 +0200] rev 55
 
    - adds appropriate public API
 
    - Wed, 31 Aug 2016 12:58:48 +0200
 
    - by Mike Becker <universe@uap-core.de> [Wed, 31 Aug 2016 12:58:48 +0200] rev 54
 
    - highlighter can now handle files which do not end with a blank line
 
    - Fri, 26 Aug 2016 14:15:29 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 26 Aug 2016 14:15:29 +0200] rev 53
 
    - adds appendfile() function to main module + adds TODOs for source files which do not terminate with a blank line
 
    - Fri, 26 Aug 2016 13:49:19 +0200
 
    - by Mike Becker <universe@uap-core.de> [Fri, 26 Aug 2016 13:49:19 +0200] rev 52
 
    - merges all highlighter functions into one highlighter module
 
    - Thu, 25 Aug 2016 12:16:57 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 25 Aug 2016 12:16:57 +0200] rev 51
 
    - replaces stack buffers with UCX buffers
 
    - Thu, 25 Aug 2016 11:30:30 +0200
 
    - by Mike Becker <universe@uap-core.de> [Thu, 25 Aug 2016 11:30:30 +0200] rev 50
 
    - minor fixes and macro removals
 
    - Tue, 23 Aug 2016 17:31:15 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 23 Aug 2016 17:31:15 +0200] rev 49
 
    - cleans up includes
 
    - Tue, 23 Aug 2016 17:24:58 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 23 Aug 2016 17:24:58 +0200] rev 48
 
    - highlighter now use the UcxBuffer API for writing to the destination buffer
 
    - Tue, 23 Aug 2016 16:34:02 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 23 Aug 2016 16:34:02 +0200] rev 47
 
    - words (token) are now stored as sstr_t
 
    - Tue, 23 Aug 2016 15:55:02 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 23 Aug 2016 15:55:02 +0200] rev 46
 
    - refactors highlighter_t and removes abstraction overhead
 
    - Tue, 23 Aug 2016 15:28:56 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 23 Aug 2016 15:28:56 +0200] rev 45
 
    - changes signature of parser functions to use a UcxBuffer - the functions itself don't use the API yet
 
    - Tue, 23 Aug 2016 15:07:29 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 23 Aug 2016 15:07:29 +0200] rev 44
 
    - cleans up formatfile function up to the parser call
 
    - Tue, 23 Aug 2016 14:31:02 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 23 Aug 2016 14:31:02 +0200] rev 43
 
    - cleans up main function
 
    - Tue, 23 Aug 2016 14:24:57 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 23 Aug 2016 14:24:57 +0200] rev 42
 
    - replaces custom copyfile() function with ucx_stream_copy calls
 
    - Tue, 23 Aug 2016 14:13:46 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 23 Aug 2016 14:13:46 +0200] rev 41
 
    - increases input buffer + adds regression tests
 
    - Tue, 23 Aug 2016 13:59:48 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 23 Aug 2016 13:59:48 +0200] rev 40
 
    - fixes plaintext output
 
    - Tue, 23 Aug 2016 13:49:38 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 23 Aug 2016 13:49:38 +0200] rev 39
 
    - adds UCX + changes how the input file is read (uses an consecutive memory area now)
 
    - Tue, 23 Aug 2016 12:06:46 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 23 Aug 2016 12:06:46 +0200] rev 38
 
    - use macros for exit codes
 
    - Tue, 23 Aug 2016 12:05:41 +0200
 
    - by Mike Becker <universe@uap-core.de> [Tue, 23 Aug 2016 12:05:41 +0200] rev 37
 
    - adds version number and changes build system