7a9866a4e2
util: split getopt error handling into utility function
2024-08-08 17:56:09 +12:00
d8e267d5ba
esv: split utility functions into separate module
2024-08-08 17:56:09 +12:00
1ed36260f3
esv: remove bad use of UFCS
2024-08-08 17:56:09 +12:00
1ba023122a
esv: revise comments
2024-08-08 17:56:09 +12:00
6096e01e01
esv: rename mpegPlayer to player
2024-08-08 17:56:09 +12:00
59c92c8db7
esv: refactor compile time configuration
2024-08-08 17:56:09 +12:00
982273b9d7
esv: detect passage line length based on terminal width
...
Implements: https://todo.sr.ht/~jeremy/esv/2
2024-08-08 17:56:09 +12:00
d68b83b722
esv: preserve compatibility with the newest initial
2024-08-08 17:56:09 +12:00
6bd5af01f8
esv: trim configuration file
2024-06-26 13:47:48 +12:00
a3a575e8c5
esv, esvapi: include 2023 in copyright year range
2024-06-26 13:47:48 +12:00
0c0a5cab70
esv: handle thrown CurlExceptions
2024-06-26 13:47:48 +12:00
11543da52f
esv: handle absence of search results with -s
...
previously this would throw an unhandled ESVException.
2024-06-26 13:47:48 +12:00
5a9103bfa8
mark development version
2024-06-26 13:47:48 +12:00
467573c99a
reword version
2024-06-26 13:47:48 +12:00
49e2606a2e
improve error message system
...
Move away from the exception-based system where we throw an Exception
to stop the program (which is caught by main) and use a new die
function that accesses args[0], prints an error and stops the program.
Users should not notice a difference, I think this system is more
lightweight and requires less code.
2024-06-26 13:47:48 +12:00
8b392c5bab
use @safe everywhere
...
with a little bit of evil @trusted magic...
2024-06-26 13:47:48 +12:00
2e93c891fd
migrate to initial.d over dini
...
initial.d is my very own INI parser, see
<https://git.sr.ht/~jeremy/initial >
2024-06-26 13:47:48 +12:00
de9e18f06e
update copyright year to 2024
2024-06-26 13:47:48 +12:00
aecbdfec4f
Add call to pledge() on OpenBSD
2024-06-26 13:47:48 +12:00
1c9bb056e8
Remove automatic pager functionality
2024-06-26 13:47:48 +12:00
97c9c427ff
Add @safe and final where possible, remove unnecessary documentation and fix incorrect indentation
2024-06-26 13:47:48 +12:00
472261e15a
Document everything and fix out-of-bounds memory error
2024-06-26 13:47:48 +12:00
12d5d9dcea
Add search functionality and make other improvements
2024-06-26 13:47:48 +12:00
ca36b7fb90
OpenBSD code style
2024-06-26 13:47:48 +12:00
c21ab033ee
Add module statement to esv.d
2024-06-26 13:47:48 +12:00
7ebc0d7b66
Rename main.d -> esv.d
2024-06-26 13:47:48 +12:00
5dc2a12f1e
Refactor config parsing code in main.d, rename esv.d -> esvapi.d, rename class EsvAPI to ESVApi, makefile changes
2024-06-26 13:47:48 +12:00
7f61d7bfa6
Rename ESVAPI_BIBLE_BOOKS to BIBLE_BOOKS and make it use spaces for book names, instead of underscores.
2024-06-26 13:47:48 +12:00
7d96227dc2
Remove 'this' in front of every member variable in the EsvAPI class, and correct function parameter definitions
2024-06-26 13:47:48 +12:00
dddf0db33f
Add in
, @nogc and @safe attributes to functions and parameters
2023-05-11 13:25:08 +12:00
f2e056bf06
License everything under the GPL version 2
2023-03-28 10:44:58 +13:00
04aea47d80
Rename BIBLE_BOOKS array to ESVAPI_BIBLE_BOOKS
2023-03-27 12:03:32 +13:00
a0341e72d7
Add source code
...
Added:
- esv.d: reusable D interface to the ESV web API
- main.d: the main program
- Makefile
- README.md
- modified version of dini (dependency)
- man pages
- licenses
2023-03-23 15:59:09 +13:00