Commit Graph

611 Commits

Author SHA1 Message Date
Thomas Jensen
97b62dd09a
Support multiple configuration files #5
Main implementation
2021-03-22 21:31:27 +01:00
Thomas Jensen
46aab3faa6
Add config file location to each design #5 2021-03-22 20:45:46 +01:00
Thomas Jensen
9315e62528
Add 'parent' keyword to parser/lexer #5
Also major parser/lexer rework to support being called multiple
times.  Switch to reentrant and parameterizable parser.
2021-03-22 20:45:45 +01:00
Thomas Jensen
425d354bc0
Move generated boxes.h to 'out/'
Also rename boxes.h.in to boxes.in.h to make file type detection easier
2021-03-22 20:45:45 +01:00
Thomas Jensen
614ea31237
Add function array_contains() to 'tools' module 2021-03-22 20:45:45 +01:00
Thomas Jensen
5c7680fbdb
Increase LINE_MAX_BYTES from 4096 to 16382 2021-03-22 20:45:44 +01:00
Thomas Jensen
f27bac6465
Add and update some project settings 2021-03-22 20:45:38 +01:00
Thomas Jensen
97a2e2d76d
Add global_only argument to discover_config_file() 2021-03-19 16:41:36 +01:00
Thomas Jensen
365dcea348
Improve testrunner when BOXES env var already set 2021-03-19 16:40:55 +01:00
Thomas Jensen
278246bde7
Move most generated files and binaries to 'out' dir
Better separation of sources and binaries
Fewer files in 'src' dir
2021-03-19 16:40:54 +01:00
Thomas Jensen
5cb5435119
Extract config file discovery code into new module 'discovery' 2021-03-19 16:40:54 +01:00
Thomas Jensen
6779b74e9a
Add docs on config file discovery to man page #69 2021-03-19 16:40:54 +01:00
Thomas Jensen
3f401a551a
Remove skip-test feature from testrunner.sh
It was quite cool, but we don't need it right now.
2021-03-19 16:40:54 +01:00
Thomas Jensen
d952bd6eea
Unify config file search order Linux/Unix and Windows #69
This means we have some XDG support on Windows, too,
although some global locations like /etc/xdg are unlikely to exist.
2021-03-19 16:40:53 +01:00
Thomas Jensen
68098e4480
Add test cases and test runner improvements for testing #69 2021-03-19 16:40:53 +01:00
Thomas Jensen
033c879ae6
Add helper function concat_strings_alloc() to tools module 2021-03-19 16:40:53 +01:00
Thomas Jensen
877336a114
Add support for XDG base directories #69
for config file discovery. Also, the config file is searched in
more places, and can have more names. Details in issue comments.
2021-03-19 16:40:53 +01:00
Thomas Jensen
58148de27f
Fix initialization of tabpos data in boxes.c 2021-03-19 16:40:00 +01:00
Thomas Jensen
e106e1412a
Fix bug where tabpos data was not properly initialized in tools/expand_tabs_into() 2021-03-14 12:25:29 +01:00
Thomas Jensen
b38e8f527b
Explicitly set UTF-8 charset in unicode test cases (forgot 114) #73 2021-02-19 10:34:48 +01:00
Thomas Jensen
c8e0474f56
Update creation of choco package in Makefile 2021-02-18 21:35:20 +01:00
Thomas Jensen
e68de92a6f
Fix number of blank lines after title in box design list 2021-02-16 11:36:59 +01:00
Thomas Jensen
1fae201e47
Clean misc/getopt.o along with other object files 2021-02-16 10:51:46 +01:00
Thomas Jensen
622890ab2f
Add HTML page creation from man page to Makefile 2021-02-15 21:35:52 +01:00
Thomas Jensen
3f171adb22
v2.0.0 2021-02-15 21:10:57 +01:00
Thomas Jensen
2f8f463a46
Fix length argument to pcre2_substitute() 2021-02-15 21:10:57 +01:00
Thomas Jensen
b0d2dd835d
Add \E( as a possible start of an escape sequence 2021-02-15 21:10:57 +01:00
Thomas Jensen
352a7b6d5d
Add test cases for removal of colored boxes 2021-02-15 21:10:57 +01:00
Thomas Jensen
beb8696a79
Add error test case for unterminated strings in the config file 2021-02-15 21:10:56 +01:00
Thomas Jensen
ac8617b383
Clean up config file 2021-02-15 21:10:56 +01:00
Thomas Jensen
a841777007
Improve attribution of Joan Stark's work in resulting boxes 2021-02-15 21:10:56 +01:00
Thomas Jensen
eeb5e5d372
Improve test runner to handle windows line breaks in :ARGS spec 2021-02-15 21:10:55 +01:00
Thomas Jensen
f60b9c5140
Update declared dependencies between files in src/Makefile #1 2021-02-15 21:10:55 +01:00
Thomas Jensen
a5617b65f8
Simplify git call in Makefile 2021-02-15 21:10:55 +01:00
Thomas Jensen
fc7f881767
Explicitly set UTF-8 charset in unicode test cases
so that they don't fail on systems where UTF-8 is not properly set on the terminal #1
2021-02-15 21:10:54 +01:00
Thomas Jensen
7532faf755
Enable Windows build with new unicode-enabled version under MinGW #1 2021-02-15 21:10:54 +01:00
Thomas Jensen
f4f14cdc61
Update copyright statements in source files with current year 2021-02-15 21:10:54 +01:00
Thomas Jensen
a5a63488ab
Remove some deprecated box designs
You can easily get them back to use on your machine by copying them from an old version of the boxes config, e.g.
https://raw.githubusercontent.com/ascii-boxes/boxes/363e0266e083475b19f7539fd6beae699ade1890/boxes-config
2021-02-15 21:08:43 +01:00
Thomas Jensen
363e0266e0
Add test cases for unicode and invalid manual encoding #1 2021-02-15 20:35:29 +01:00
Thomas Jensen
c370772ee0
Switch test runner output filter sed to extended regex (-E) 2021-02-15 20:35:29 +01:00
Thomas Jensen
4a272c348c
Add examples and references to other ascii art tools to man page 2021-02-15 20:35:29 +01:00
Thomas Jensen
12fa4ea57e
Add test cases for colored unicode 'headline' design #1
This design uses complex regular expressions, which must work on unicode characters.
2021-02-15 20:35:28 +01:00
Thomas Jensen
eb5ac9c701
Allow smaller speech bubbles in 'unicornthink' box 2021-02-15 20:35:28 +01:00
Thomas Jensen
44c2c526af
Add command line option -n to set character encoding of input text #1 2021-02-15 20:35:20 +01:00
Thomas Jensen
4c656727ec
Add advance_next32() function to 'unicode' module to encapsulate the escape handling logic #1 2021-02-13 11:01:55 +01:00
Thomas Jensen
1c4914bb01
Add tolerance for lolcat-induced escape sequences to 'headline' replace rules #1 2021-02-13 11:01:55 +01:00
Thomas Jensen
5dad2d1137
Add unicode-awareness in box removal functionality #1 2021-02-13 11:01:55 +01:00
Thomas Jensen
c41a4e881e
Extract some duplicate code in boxes.c into new function analyze_line_ascii() #1 2021-02-13 11:01:54 +01:00
Thomas Jensen
a579da13a5
Unicode-enable regex processing by introducing PCRE2 #1 #67 2021-02-13 11:01:54 +01:00
Thomas Jensen
6a3d0e715c
Apply new code format from CLion 2021-02-13 11:01:54 +01:00