Commit Graph

409 Commits

Author SHA1 Message Date
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
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
614ea31237 Add function array_contains() to 'tools' module 2021-03-22 20:45:45 +01:00
5c7680fbdb Increase LINE_MAX_BYTES from 4096 to 16382 2021-03-22 20:45:44 +01:00
f27bac6465 Add and update some project settings 2021-03-22 20:45:38 +01:00
97a2e2d76d Add global_only argument to discover_config_file() 2021-03-19 16:41:36 +01:00
365dcea348 Improve testrunner when BOXES env var already set 2021-03-19 16:40:55 +01:00
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
5cb5435119 Extract config file discovery code into new module 'discovery' 2021-03-19 16:40:54 +01:00
6779b74e9a Add docs on config file discovery to man page #69 2021-03-19 16:40:54 +01:00
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
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
68098e4480 Add test cases and test runner improvements for testing #69 2021-03-19 16:40:53 +01:00
033c879ae6 Add helper function concat_strings_alloc() to tools module 2021-03-19 16:40:53 +01:00
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
58148de27f Fix initialization of tabpos data in boxes.c 2021-03-19 16:40:00 +01:00
e106e1412a Fix bug where tabpos data was not properly initialized in tools/expand_tabs_into() 2021-03-14 12:25:29 +01:00
b38e8f527b Explicitly set UTF-8 charset in unicode test cases (forgot 114) #73 2021-02-19 10:34:48 +01:00
c8e0474f56 Update creation of choco package in Makefile 2021-02-18 21:35:20 +01:00
e68de92a6f Fix number of blank lines after title in box design list 2021-02-16 11:36:59 +01:00
1fae201e47 Clean misc/getopt.o along with other object files 2021-02-16 10:51:46 +01:00
622890ab2f Add HTML page creation from man page to Makefile 2021-02-15 21:35:52 +01:00
3f171adb22 v2.0.0 v2.0.0 2021-02-15 21:10:57 +01:00
2f8f463a46 Fix length argument to pcre2_substitute() 2021-02-15 21:10:57 +01:00
b0d2dd835d Add \E( as a possible start of an escape sequence 2021-02-15 21:10:57 +01:00
352a7b6d5d Add test cases for removal of colored boxes 2021-02-15 21:10:57 +01:00
beb8696a79 Add error test case for unterminated strings in the config file 2021-02-15 21:10:56 +01:00
ac8617b383 Clean up config file 2021-02-15 21:10:56 +01:00
a841777007 Improve attribution of Joan Stark's work in resulting boxes 2021-02-15 21:10:56 +01:00
eeb5e5d372 Improve test runner to handle windows line breaks in :ARGS spec 2021-02-15 21:10:55 +01:00
f60b9c5140 Update declared dependencies between files in src/Makefile #1 2021-02-15 21:10:55 +01:00
a5617b65f8 Simplify git call in Makefile 2021-02-15 21:10:55 +01:00
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
7532faf755 Enable Windows build with new unicode-enabled version under MinGW #1 2021-02-15 21:10:54 +01:00
f4f14cdc61 Update copyright statements in source files with current year 2021-02-15 21:10:54 +01:00
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
363e0266e0 Add test cases for unicode and invalid manual encoding #1 2021-02-15 20:35:29 +01:00
c370772ee0 Switch test runner output filter sed to extended regex (-E) 2021-02-15 20:35:29 +01:00
4a272c348c Add examples and references to other ascii art tools to man page 2021-02-15 20:35:29 +01:00
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
eb5ac9c701 Allow smaller speech bubbles in 'unicornthink' box 2021-02-15 20:35:28 +01:00
44c2c526af Add command line option -n to set character encoding of input text #1 2021-02-15 20:35:20 +01:00
4c656727ec Add advance_next32() function to 'unicode' module to encapsulate the escape handling logic #1 2021-02-13 11:01:55 +01:00
1c4914bb01 Add tolerance for lolcat-induced escape sequences to 'headline' replace rules #1 2021-02-13 11:01:55 +01:00
5dad2d1137 Add unicode-awareness in box removal functionality #1 2021-02-13 11:01:55 +01:00
c41a4e881e Extract some duplicate code in boxes.c into new function analyze_line_ascii() #1 2021-02-13 11:01:54 +01:00
a579da13a5 Unicode-enable regex processing by introducing PCRE2 #1 #67 2021-02-13 11:01:54 +01:00
6a3d0e715c Apply new code format from CLion 2021-02-13 11:01:54 +01:00
53e7782b5f Remove unused function nspaces32() from tools module #1 2021-02-13 11:01:54 +01:00
91d1971cca Fix handling of colored whitespace #1 2021-02-13 11:01:53 +01:00