Compare commits
No commits in common. "137da7bee148a8089cfd2bb0d8e693ea808072c4" and "f63a48809e9a2d42d19be26dd61ce229e727569f" have entirely different histories.
137da7bee1
...
f63a48809e
|
@ -1,29 +1,8 @@
|
|||
# WARNING!
|
||||
# THIS IS AN AUTOGENERATED FILE!
|
||||
# MANUAL CHANGES CAN AND WILL BE OVERWRITTEN!
|
||||
|
||||
name: LÖVE/Lua Library
|
||||
|
||||
on:
|
||||
push:
|
||||
paths-ignore: ['README.md', '.gitignore', 'LICENSE', 'CONVENTIONS.md']
|
||||
on: [push]
|
||||
|
||||
jobs:
|
||||
Lua-Testing:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Install Lua
|
||||
run: |
|
||||
apt-get update
|
||||
apt-get install -y luajit
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v3
|
||||
- name: Run testing library
|
||||
run: luajit test/init.lua
|
||||
Test:
|
||||
uses: jmaa/workflows/.gitea/workflows/lua-testing.yaml@v6.21
|
||||
Static-Analysis:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v3
|
||||
- name: Luacheck linter
|
||||
uses: https://github.com/lunarmodules/luacheck@v1.1.1
|
||||
uses: jmaa/workflows/.gitea/workflows/lua-static-analysis.yaml@v6.21
|
||||
|
|
21
.gitignore
vendored
21
.gitignore
vendored
|
@ -1,19 +1,2 @@
|
|||
# WARNING!
|
||||
# THIS IS AN AUTOGENERATED FILE!
|
||||
# MANUAL CHANGES CAN AND WILL BE OVERWRITTEN!
|
||||
|
||||
# Löve: Exclude build items
|
||||
/bin/
|
||||
/lib/
|
||||
.love-cache/
|
||||
|
||||
# Compiled Lua sources
|
||||
luac.out
|
||||
|
||||
# Misc (Image, MacOS, Backups) files
|
||||
*.psd
|
||||
*~
|
||||
.DS_Store
|
||||
|
||||
# Tools
|
||||
*.tiled-session
|
||||
# Ignore editor files
|
||||
.*.swp
|
||||
|
|
|
@ -1,7 +1,3 @@
|
|||
-- WARNING!
|
||||
-- THIS IS AN AUTOGENERATED FILE!
|
||||
-- MANUAL CHANGES CAN AND WILL BE OVERWRITTEN!
|
||||
|
||||
std = "love+max"
|
||||
cache = true
|
||||
include_files = {"**.lua", "*.luacheckrc"}
|
||||
|
|
21
LICENSE
21
LICENSE
|
@ -1,21 +0,0 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2017-2025 Jon Michael Aanes
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
61
README.md
61
README.md
|
@ -1,32 +1,22 @@
|
|||
<!-- WARNING! -->
|
||||
<!-- THIS IS AN AUTOGENERATED FILE! -->
|
||||
<!-- MANUAL CHANGES CAN AND WILL BE OVERWRITTEN! -->
|
||||
|
||||
# Assert Gooder
|
||||
|
||||
Supercharged assert replacement.
|
||||
|
||||
Lua Library that replaces the default [assert](https://www.lua.org/manual/5.4/manual.html#pdf-assert) function with one that can
|
||||
emit improved error messages. The improved assert function parses the
|
||||
assert condition, inspects the state of the program and emits an improved
|
||||
error message.
|
||||
_Lua_ library implementing an alternative version of Lua's `assert` function,
|
||||
giving much better error messages, when asserts fails. It does this by analysing
|
||||
the body of the assert, and figuring out what the failing assert call is
|
||||
attempting to test against.
|
||||
|
||||
## Example
|
||||
|
||||
```lua
|
||||
function f (a)
|
||||
|
||||
```
|
||||
assert(type(a) == 'string')
|
||||
```
|
||||
|
||||
end
|
||||
|
||||
f(42)
|
||||
```
|
||||
|
||||
Without [assert-gooder](index.html#), the above code would fail with the error message
|
||||
`assertion failed!`. With [assert-gooder](index.html#), it will fail with this error message:
|
||||
Without `assert-gooder`, the above code would fail with the error message
|
||||
`assertion failed!`. With `assert-gooder`, it will fail with this error message:
|
||||
`assertion failed! bad argument #1 'a' to 'f' (string expected, but got number: 42)`,
|
||||
|
||||
## Motivation
|
||||
|
@ -44,42 +34,13 @@ assert(type(a) == 'string')
|
|||
## Setup
|
||||
|
||||
Download, and use `assert = require "assert-gooder"` to overwrite Lua's default
|
||||
assert with [assert-gooder](index.html#).
|
||||
|
||||
- Author: Jon Michael Aanes (jonjmaa@gmail.com)
|
||||
|
||||
## Dependencies
|
||||
|
||||
This project requires [PUC Lua 5.1](https://www.tecgraf.puc-rio.br/lua/mirror/versions.html#5.1) or [LuaJIT](https://luajit.org/luajit.html). Newer versions of PUC Lua are not supported.
|
||||
|
||||
This project does not have any library requirements 😎
|
||||
|
||||
## Contributing
|
||||
|
||||
Feel free to submit pull requests. Please follow the [Code Conventions](CONVENTIONS.md) when doing so.
|
||||
assert with `assert-gooder`.
|
||||
|
||||
## License
|
||||
|
||||
```
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2017-2025 Jon Michael Aanes
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
"THE BEER-WARE LICENSE" (Revision 42):
|
||||
<jonjmaa@gmail.com> wrote this library. As long as you retain this notice you
|
||||
can do whatever you want with this stuff. If we meet some day, and you think
|
||||
this stuff is worth it, you can buy me a beer in return.
|
||||
```
|
||||
|
|
|
@ -1,47 +1,3 @@
|
|||
--- # Assert Gooder
|
||||
--
|
||||
-- Supercharged assert replacement.
|
||||
--
|
||||
-- Lua Library that replaces the default `assert` function with one that can
|
||||
-- emit improved error messages. The improved assert function parses the
|
||||
-- assert condition, inspects the state of the program and emits an improved
|
||||
-- error message.
|
||||
--
|
||||
--
|
||||
-- ## Example
|
||||
--
|
||||
-- ```lua
|
||||
-- function f (a)
|
||||
-- assert(type(a) == 'string')
|
||||
-- end
|
||||
--
|
||||
-- f(42)
|
||||
-- ```
|
||||
--
|
||||
-- Without `assert-gooder`, the above code would fail with the error message
|
||||
-- `assertion failed!`. With `assert-gooder`, it will fail with this error message:
|
||||
-- `assertion failed! bad argument #1 'a' to 'f' (string expected, but got number: 42)`,
|
||||
--
|
||||
-- ## Motivation
|
||||
--
|
||||
-- Assertions are useful to ensure internal consistency, when you're writing code
|
||||
-- in a hurry, but in Lua (and most other languages), these assert constructs never
|
||||
-- produce useful error messages, but rather unhelpful `assert failed!` errors and
|
||||
-- a stack trace.
|
||||
--
|
||||
-- By making it a runtime library, instead of a "compile-time" rewrite, we gain
|
||||
-- flexibility. It's much easier to import a library, than restructuring then
|
||||
-- compile pipeline. It also means that we have access to runtime values, allowing
|
||||
-- even more helpful messages.
|
||||
--
|
||||
-- ## Setup
|
||||
--
|
||||
-- Download, and use `assert = require "assert-gooder"` to overwrite Lua's default
|
||||
-- assert with `assert-gooder`.
|
||||
--
|
||||
-- @author Jon Michael Aanes (jonjmaa@gmail.com)
|
||||
|
||||
local _VERSION = '0.5.3'
|
||||
|
||||
local lexer = assert(require((... and select('1', ...):match('.+%.') or '')..'lua_lang'), '[assert-gooder]: Could not load vital library: lua_lang')
|
||||
local shunting_yard = assert(require((... and select('1', ...):match('.+%.') or '')..'Parser'), '[assert-gooder]: Could not load vital library: Parser')
|
||||
|
@ -808,3 +764,4 @@ return function (condition, format, ...)
|
|||
-- Throw error message
|
||||
error(table.concat(l, ''), 2)
|
||||
end
|
||||
|
||||
|
|
9
init.lua
9
init.lua
|
@ -1,6 +1,5 @@
|
|||
-- WARNING!
|
||||
-- THIS IS AN AUTOGENERATED FILE!
|
||||
-- MANUAL CHANGES CAN AND WILL BE OVERWRITTEN!
|
||||
local _VERSION = '0.5.2'
|
||||
|
||||
-- This file automatically redirects to "assert-gooder.lua"
|
||||
return require (((...) ~= 'init' and (...) .. '.' or '') .. 'assert-gooder')
|
||||
local assert_gooder = assert(require((... and select('1', ...):match('.+')..'.' or '')..'assert-gooder'), '[assert-gooder]: Could not load vital library: assert-gooder')
|
||||
assert_gooder._VERSION = _VERSION
|
||||
return assert_gooder
|
||||
|
|
Loading…
Reference in New Issue
Block a user