Commit Graph

559 Commits

Author SHA1 Message Date
eeeacf2949 First successful box with unicode and ansi sequences #1
Existing test cases all green
2021-02-13 11:01:37 +01:00
865432a2da Merge line_t.vischar into line_t.len #1
This has become possible/necessary because the full truth about multi-byte
characters and/or escape sequences lives only in line_t.mbtext.
2021-02-13 11:01:37 +01:00
a6a5898341 Unicode-enable the reading of input #1 2021-02-13 11:01:27 +01:00
f2ddb6d6df Support unicode in expand_tabs_into() of tools.c
Declare ucs4_t character constants in boxes.h
Start unicode support in boxes.c #1
2021-02-13 10:54:26 +01:00
f536d45f7a Apply new code format from CLion 2021-02-13 10:54:26 +01:00
dcd2328c77 Double line buffer size because we expect more MBCS input #1 2021-02-13 10:54:18 +01:00
9c7f1da216 Add libunistring and libpcre2 to Travis CI config #1 2021-02-13 10:54:09 +01:00
07b634a16c Rename LINE_MAX macro to LINE_MAX_BYTES 2021-01-22 18:47:16 +01:00
a253fe105a Test cases for ANSI 2020-07-17 20:58:59 +02:00
c9db55ae88 Honour indent for visible characters
(Fixes the test suite)
2020-07-17 20:58:59 +02:00
2356251a27 Do not count ANSI sequences towards line length
This allows the usage of boxes with basic ANSI SGR colors and formating.

The change was made as a quick hack for myself, so it ended up not super-clean.

The problem here is that before, boxes only had a concept of line->len that would store both the
width of the line and the number of bytes contained since they were assumed to be the same. Now,
there are visible and invisble characters - sometimes the code needs to work with the visible line
length and sometimes with the byte count.

Because of that, at this point the code could use some refactoring to make it a little more
obvious which line length (visible or bytes) is being used at a given time.

So, if anybody feels like cleaning up the mess I introduced - that would be appreciated.

Works with `lolcat -f`

Tested on:
 + debian: xterm, gnome-terminal, terminator, locally and via ssh
 + win64/cygwin: compiled and tested locally and via ssh
 + win64/putty: connected to debian server

Fixes ascii-boxes/boxes#65
2020-07-17 20:58:59 +02:00
7ef0b3517f Replace some misleading angle brackets with quotes #67 2020-02-02 14:14:49 +01:00
82d1e8e187 Use 'setlocal' instead of 'set' in Vim syntax file #66 2020-02-01 14:06:32 +01:00
57cc8537e8 Add vim-box design to boxes-config (#62) 2019-11-18 14:50:50 +01:00
26315e8860 Add jstone box design
Simple comment box that doesn't conflict with java doc's /**
Based on the "stone" design. Hence jstone
2019-10-05 13:27:14 +02:00
7e3640481b Fix test cases again 2019-05-25 14:59:03 +02:00
b6a4dc71fe Add basic support for tags #23
Currently, tags can be added to the config file, and displayed in the design information.
They are not really understood, though, so no query-by-tag or anything yet.
2019-05-25 14:54:18 +02:00
2b17b60716 Move some test designs out of the official config file 2019-05-23 21:32:06 +02:00
fbfbd29f5b Fix test cases for changed box design info 2019-05-21 21:44:46 +02:00
b5ad008925 Properly escape shapes in detailed box design information 2019-05-21 21:32:29 +02:00
ac20738a04 Change header text on usage help 2019-05-19 15:10:11 +02:00
7690ea8565 Minor update of manual page 2019-04-05 21:45:35 +02:00
b6a2f5d82f Fix path references in description text of choco package 2019-04-05 15:46:48 +02:00
859b94be2a Remove readme files from choco package upon request of choco reviewer 2019-04-04 11:22:07 +02:00
38f311569c Add box design 'bear' 2019-03-31 13:29:08 +02:00
8d68f9adb0 Remove some compile warnings on current MinGW 2019-03-29 18:29:20 +01:00
3b767eab62 Add packageSourceUrl element to boxes.portable.nuspec 2019-03-29 12:55:24 +01:00
fe0feee199 Clean up .gitignore 2019-03-28 22:09:17 +01:00
77ee4908e3 Add chocolatey package spec 2019-03-28 22:09:10 +01:00
416ae729e8 Eliminate new compiler warning on Linux 2019-02-28 21:35:10 +01:00
ae96f13797 Apply -q to box creation 2019-02-28 21:29:34 +01:00
5fad2e4c34 Add issue template for bug reports 2019-02-26 09:55:24 +01:00
a0432f447e Bumped version number to 1.3.1-SNAPSHOT 2019-02-21 21:03:00 +01:00
6d663ccfb8 Increased version number to 1.3 for release v1.3 2019-02-21 18:50:44 +01:00
90f764c2db Allow smaller speech bubbles in 'unicornsay' box 2019-02-21 18:50:37 +01:00
22829896f8 Add git hash to version info 2019-02-20 22:33:31 +01:00
447d9815d8 Uncomment regexec() declaration in regexp.h to avoid compiler warning 2019-02-20 22:26:56 +01:00
f9193eb4b3 Replace CPP style comments with C style comments 2019-02-20 11:04:09 +01:00
cd134cbb2f Include stdlib.h in tools.c to avoid compiler warning 2019-02-19 22:16:11 +01:00
7932bd032e Add lexer %option noinput to avoid compiler warning 2019-02-19 22:15:19 +01:00
7da5fc91f4 Improve error message for invalid box size on osx #54 2019-02-19 22:02:23 +01:00
056a497cc8 Improve handling of partial lines
When boxes is fed text selected in a visual editor, this often means that
the final line of input text has no terminating newline (it's a "partial
line"). This caused an extra blank line to appear in the editor after
running boxes. #57
This commit changes the behavior of boxes so that a newline is only added
at the very end of the output, if there also was one at the very end of
the input.
2019-02-17 14:28:20 +01:00
6315c5ede5 Convert README.Win32.txt to markdown 2019-02-15 21:41:56 +01:00
cfebd37bb5 Remove boxes-1.2.lsm and versions.txt 2019-02-15 21:37:03 +01:00
2196f10a57 Remove rcsid tags from source files 2019-02-15 21:32:36 +01:00
7d98227583 Change source file header to plain GPLv2 headers 2019-02-15 21:24:31 +01:00
5a6df32738 Respect given outfile on box removal #55 2019-02-14 22:03:23 +01:00
022cdd17c8 Change website references to https 2019-02-14 21:41:11 +01:00
29bceca33b Add CONTRIBUTING.md 2019-02-13 12:20:46 +01:00
25b9e7ac58 Add undocumented option -q, use it for -l 2019-02-08 13:00:52 +01:00