Commit Graph

660 Commits

Author SHA1 Message Date
Matthew Thompson
9530c5889d macos runners have git libunistring pcre2 and ncurses by default 2023-12-02 13:51:55 +01:00
Matthew Thompson
c137b853fb Use GNU grep on macos 2023-12-02 13:51:55 +01:00
Matthew Thompson
539f215e35 Turn off whitebox 2023-12-02 13:51:55 +01:00
Matthew Thompson
069197052e Allow override of LEX and YACC; merge changes from macos-ci branch 2023-12-02 13:51:55 +01:00
Matthew Thompson
3551c4bd57 Explicit LEX and YACC 2023-12-02 13:51:55 +01:00
Matthew Thompson
a14601bd09 Add macOS CI 2023-12-02 13:51:55 +01:00
Thomas Jensen
bfb8428f1f
Fix Windows build for more recent MinGW
- Use ncurses.h from MinGW directory
- Remove 'src/misc' directory, which is now covered by MinGW
2023-11-12 15:19:52 +01:00
Matthew Thompson
fd65f16827
Add _DARWIN_C_SOURCE if APPLE (#119) 2023-08-24 15:50:57 +02:00
Thomas Jensen
47b7084fa1
Enable terminal colors globally for tests 2023-05-19 22:12:51 +02:00
Thomas Jensen
2984cda0ca
Add test for generating a colored unicode box which
includes some double-wide characters
2023-05-19 22:12:51 +02:00
Thomas Jensen
6cea61c327
Add bxstring support to 'generate' module 2023-05-19 22:12:51 +02:00
Thomas Jensen
232be1cdc4
Fix color test cases for GitHub Actions without TERM 2023-05-10 21:06:00 +02:00
Thomas Jensen
cd2ccdaed3
Add bxs_filter_visible() and react to color options in bxs_to_output() in 'bxstring' module 2023-05-09 21:09:00 +02:00
Thomas Jensen
241459e5b4
Add ncurses library to check terminal's color support 2023-05-08 21:12:00 +02:00
Thomas Jensen
89111c55b6
Add new command line options --color and --no-color 2023-05-07 15:25:23 +02:00
Thomas Jensen
08feb7eb2c
Add long options capability to command line 2023-05-06 22:43:11 +02:00
Thomas Jensen
2910b961c1
Update build workflow to actions/checkout@v3 2023-05-06 13:59:26 +02:00
Thomas Jensen
357ea9d788
Add test case for listing of designs with UTF-8 metadata 2023-05-05 21:54:23 +02:00
Thomas Jensen
1845d1ebb1
Disable some code in the "tools" module which is only for debugging purposes 2023-05-04 21:49:52 +02:00
Thomas Jensen
d36380268d
Add first test case for a UTF-8 config file 2023-05-04 21:32:49 +02:00
Thomas Jensen
4cce7ae461
Add bxs_is_visible_char() to 'bxstring' module 2023-05-04 21:30:47 +02:00
Thomas Jensen
d80ed48102
Fix declared header dependencies in Makefiles 2023-05-01 21:41:02 +02:00
Thomas Jensen
c41997870e
Add test case and fix for string with broken escape sequences 2023-05-01 14:18:33 +02:00
Thomas Jensen
34759334f7
Print useful error message on invalid design name 2023-04-30 17:44:32 +02:00
Thomas Jensen
b7e3549d15
Implement some of the things marked as to-do 2023-04-30 17:15:22 +02:00
Thomas Jensen
771f78874e
Move code on shape lines from parser.y to parsecode.c 2023-04-30 14:14:21 +02:00
Thomas Jensen
286ec99c6d
Upgrade build workflow to use coverallsapp/github-action@v2
This fixes an out-of-memory problem and overcomes
artifact size limitations in the old coveralls GitHub action.
2023-04-29 14:58:00 +02:00
Thomas Jensen
24018c3f86
Update help text for -m option 2023-04-20 21:54:00 +02:00
Thomas Jensen
21a691fbd1
Use UTF-8 data read from config file #72
- shapes get additional MBCS values
- metadata is already converted for real to use bxstr_t*
2023-04-19 21:06:00 +02:00
Thomas Jensen
8a7bb8039f
Enable lexer and parser to handle UTF-8 config file #72 2023-04-07 21:10:00 +02:00
Thomas Jensen
4ff37eb5ba
Extend bxstring functionality 2023-03-31 21:00:00 +02:00
Thomas Jensen
5026357fc2
Add more tests for bxstring creating functions 2023-03-28 21:27:06 +02:00
Thomas Jensen
844868b36c
Add clang-format configuration 2023-03-26 21:34:44 +02:00
Thomas Jensen
b0d3384bd4
Add new "bxstring" module which is meant to evolve into boxes' string abstraction
It handles embedded escape sequences, mbcs encodings, and characters wider than 1 column.
2023-03-26 21:34:44 +02:00
Thomas Jensen
77d02890a7
Update copyright statements for 2023 2023-03-26 21:32:08 +02:00
Thomas Jensen
518f4c4dc2
Address some shellcheck issues in testrunner.sh 2023-03-26 14:32:53 +02:00
Thomas Jensen
af841874aa
sbom update 2023-03-26 14:31:06 +02:00
Thomas Jensen
05f7574140
Update vscode settings 2023-03-26 14:31:06 +02:00
Thomas Jensen
7047fb5b63
Update .gitignore 2023-03-04 21:14:15 +01:00
Mike Woolley
380e7814ac
Boxes.el: Check that boxes v2.1.0 is available before using -q "(all)" (#114)
v2.1.0 is required to run boxes-command-on-region interactively due to requiring support for "-q (all)". The other
commands work on all versions.
2022-12-13 21:47:13 +01:00
Mike Woolley
d62637e6fa Boxes.el: Resolve packaging feedback.
● Added some more package metadata.

● Defer getting the list of boxes types until needed to avoid errors in the middle of loading a user's config, which
can be inconvenient and lead to a partially setup Emacs.
2022-12-08 14:13:33 +01:00
Mike Woolley
6490205df9 Boxes.el: Make the documentation for 'boxes-command-on-region' comply with 'Checkdoc'. 2022-11-29 21:40:45 +01:00
Mike Woolley
2051758d28 Boxes.el: Updated metadata for packaging.
● Updated metadata for packaging.

● Updated usage instructions, as these are shown by the package manager.

● Changed the documentation for 'boxes-command-on-region' to comply with elisp style guidelines / suppress compiler warning.
2022-11-29 17:55:51 +01:00
Mike Woolley
307a30e2a1 Boxes.el: Fixes for incorrect Customize, compiler warnings & obsolete code.
● Customisation option 'boxes-known-modes' was being incorrectly added to the internal Emacs 'Customize' meta-group.

● Fixed by creating a new 'Boxes' group for use by this package. Note that backwards compatibility is preserved for
those who have already customised this option.

● Added type declaration for 'boxes-known-modes', which as well as fixing a compiler warning, enables completion and
type-checking on user-entered values.

● Put the other user-settable variables as customisation options in the new 'Boxes' group.

● Fixed a bunch of compiler warnings.

● Removed / modified obsolete or unnecessary code (like requiring the deprecated package 'cl' etc).
2022-11-27 13:57:45 +01:00
Pascal Jaeger
bfb5545215 Fix K&R C declaration to work with Clang16
By default Clang16 will not allow implicit function declarations, which
would let this build fail with it.

Fix #106

Signed-off-by: Pascal Jaeger <pascal.jaeger@leimstift.de>
2022-10-18 14:17:43 +02:00
Đoàn Trần Công Danh
61562b0158 remove: fix out-of-bound access
The `u32_move` will try to read `input.lines[j].num_chars - c + 1` `u32`
octets from `input.lines[j].mbtext + input.lines[j].posmap[c]`. That
means, it needs access memory at address
`input.lines[j].mbtext + input.lines[j].posmap[c] + input.lines[j].num_chars - c`
while the max range is `input.lines[j].mbtext + input.lines[j].num_chars`,
which is out-of-bound because `input.lines[j].posmap[c] > c` obviously.

Fix #103
2022-10-04 21:33:18 +02:00
Thomas Jensen
7de6854fd9
Improve build performance on Windows 2022-10-04 17:21:00 +02:00
Thomas Jensen
fd0c3d8d90
Adjust test cases 004 and 065 for musl and alpine output #103 2022-10-03 14:47:23 +02:00
Thomas Jensen
6b6c1ad528
Enable build process to create a static binary for Unix #100
One can now run "make static" to get a binary that is statically linked
to libunistring and pcre2. Both libraries are downloaded first,
so they don't need to be available on the machine.
2022-09-23 22:06:47 +02:00
Thomas Jensen
d572344fce
Improve .gitignore 2022-09-21 21:43:10 +02:00