├── .busted
├── .editorconfig
├── .github
└── workflows
│ ├── luacheck.yml
│ └── unix_build.yml
├── .gitignore
├── .luacheckrc
├── .luacov
├── CHANGELOG.md
├── CONTRIBUTING.md
├── LICENSE.md
├── README.md
├── appveyor.yml
├── config.ld
├── docs
├── classes
│ ├── pl.Date.html
│ ├── pl.List.html
│ ├── pl.Map.html
│ ├── pl.MultiMap.html
│ ├── pl.OrderedMap.html
│ └── pl.Set.html
├── examples
│ ├── seesubst.lua.html
│ ├── sipscan.lua.html
│ ├── symbols.lua.html
│ ├── test-cmp.lua.html
│ ├── test-data.lua.html
│ ├── test-listcallbacks.lua.html
│ ├── test-pretty.lua.html
│ ├── test-symbols.lua.html
│ ├── testapp.lua.html
│ ├── testclone.lua.html
│ ├── testconfig.lua.html
│ ├── testglobal.lua.html
│ ├── testinputfields.lua.html
│ ├── testinputfields2.lua.html
│ ├── testxml.lua.html
│ └── which.lua.html
├── index.html
├── ldoc_fixed.css
├── libraries
│ ├── pl.Set.html
│ ├── pl.app.html
│ ├── pl.array2d.html
│ ├── pl.class.html
│ ├── pl.compat.html
│ ├── pl.comprehension.html
│ ├── pl.config.html
│ ├── pl.data.html
│ ├── pl.dir.html
│ ├── pl.file.html
│ ├── pl.func.html
│ ├── pl.html
│ ├── pl.import_into.html
│ ├── pl.input.html
│ ├── pl.lapp.html
│ ├── pl.lexer.html
│ ├── pl.luabalanced.html
│ ├── pl.operator.html
│ ├── pl.path.html
│ ├── pl.permute.html
│ ├── pl.pretty.html
│ ├── pl.seq.html
│ ├── pl.sip.html
│ ├── pl.strict.html
│ ├── pl.stringio.html
│ ├── pl.stringx.html
│ ├── pl.tablex.html
│ ├── pl.template.html
│ ├── pl.test.html
│ ├── pl.text.html
│ ├── pl.types.html
│ ├── pl.url.html
│ ├── pl.utils.html
│ └── pl.xml.html
└── manual
│ ├── 01-introduction.md.html
│ ├── 02-arrays.md.html
│ ├── 03-strings.md.html
│ ├── 04-paths.md.html
│ ├── 05-dates.md.html
│ ├── 06-data.md.html
│ ├── 07-functional.md.html
│ ├── 08-additional.md.html
│ └── 09-discussion.md.html
├── docs_topics
├── 01-introduction.md
├── 02-arrays.md
├── 03-strings.md
├── 04-paths.md
├── 05-dates.md
├── 06-data.md
├── 07-functional.md
├── 08-additional.md
└── 09-discussion.md
├── examples
├── seesubst.lua
├── sipscan.lua
├── symbols.lua
├── test-cmp.lua
├── test-listcallbacks.lua
├── test-pretty.lua
├── test-symbols.lua
├── testclone.lua
├── testconfig.lua
├── testglobal.lua
├── testinputfields.lua
├── testinputfields2.lua
├── testxml.lua
└── which.lua
├── ldoc.ltp
├── lua
└── pl
│ ├── Date.lua
│ ├── List.lua
│ ├── Map.lua
│ ├── MultiMap.lua
│ ├── OrderedMap.lua
│ ├── Set.lua
│ ├── app.lua
│ ├── array2d.lua
│ ├── class.lua
│ ├── compat.lua
│ ├── comprehension.lua
│ ├── config.lua
│ ├── data.lua
│ ├── dir.lua
│ ├── file.lua
│ ├── func.lua
│ ├── import_into.lua
│ ├── init.lua
│ ├── input.lua
│ ├── lapp.lua
│ ├── lexer.lua
│ ├── luabalanced.lua
│ ├── operator.lua
│ ├── path.lua
│ ├── permute.lua
│ ├── pretty.lua
│ ├── seq.lua
│ ├── sip.lua
│ ├── strict.lua
│ ├── stringio.lua
│ ├── stringx.lua
│ ├── tablex.lua
│ ├── template.lua
│ ├── test.lua
│ ├── text.lua
│ ├── types.lua
│ ├── url.lua
│ ├── utils.lua
│ └── xml.lua
├── penlight-dev-1.rockspec
├── rockspecs
├── penlight-1.10.0-1.rockspec
├── penlight-1.10.0-2.rockspec
├── penlight-1.11.0-1.rockspec
├── penlight-1.11.0-2.rockspec
├── penlight-1.12.0-1.rockspec
├── penlight-1.12.0-2.rockspec
├── penlight-1.13.0-1.rockspec
├── penlight-1.13.1-1.rockspec
├── penlight-1.14.0-1.rockspec
├── penlight-1.14.0-2.rockspec
├── penlight-1.14.0-3.rockspec
├── penlight-1.6.0-1.rockspec
├── penlight-1.6.0-2.rockspec
├── penlight-1.7.0-1.rockspec
├── penlight-1.7.0-2.rockspec
├── penlight-1.8.0-1.rockspec
├── penlight-1.8.0-2.rockspec
├── penlight-1.8.1-1.rockspec
├── penlight-1.8.1-2.rockspec
├── penlight-1.9.1-1.rockspec
├── penlight-1.9.1-2.rockspec
├── penlight-1.9.2-1.rockspec
└── penlight-1.9.2-2.rockspec
├── run.lua
├── spec
├── app_spec.lua
├── array2d_spec.lua
├── date_spec.lua
├── func_spec.lua
├── multimap_spec.lua
├── path_spec.lua
├── permute_spec.lua
├── pretty_spec.lua
├── set_spec.lua
├── stringx_spec.lua
├── text_spec.lua
├── utils-choose_spec.lua
├── utils-deprecate_spec.lua
├── utils-enum_spec.lua
├── utils-kpairs_spec.lua
├── utils-npairs_spec.lua
└── xml_spec.lua
└── tests
├── lua
├── animal.lua
├── bar.lua
├── foo
│ └── args.lua
├── mod52.lua
└── mymod.lua
├── test-__vector.lua
├── test-app.lua
├── test-app
└── require_here-link-target.lua
├── test-class.lua
├── test-class2.lua
├── test-class3.lua
├── test-class4.lua
├── test-compat.lua
├── test-comprehension.lua
├── test-config.lua
├── test-data.lua
├── test-data2.lua
├── test-date.lua
├── test-dir.lua
├── test-func.lua
├── test-import_into.lua
├── test-lapp.lua
├── test-lexer.lua
├── test-list.lua
├── test-list2.lua
├── test-map.lua
├── test-orderedmap.lua
├── test-path.lua
├── test-pretty.lua
├── test-seq.lua
├── test-sip.lua
├── test-strict.lua
├── test-stringio.lua
├── test-tablex.lua
├── test-tablex3.lua
├── test-template.lua
├── test-template2.lua
├── test-types.lua
├── test-url.lua
├── test-utils.lua
├── test-utils2.lua
├── test-utils3.lua
└── test-xml.lua
/.busted:
--------------------------------------------------------------------------------
1 | return {
2 | default = {
3 | verbose = true,
4 | output = "gtest",
5 | lpath = "./lua/?.lua;./lua/?/init.lua",
6 | }
7 | }
8 | -- vim: ft=lua
9 |
--------------------------------------------------------------------------------
/.editorconfig:
--------------------------------------------------------------------------------
1 | root = true
2 |
3 | [*]
4 | end_of_line = lf
5 | insert_final_newline = true
6 | trim_trailing_whitespace = true
7 | charset = utf-8
8 |
9 | [*.lua]
10 | indent_style = space
11 | indent_size = 2
12 |
13 | [kong/templates/nginx*]
14 | indent_style = space
15 | indent_size = 4
16 |
17 | [*.template]
18 | indent_style = space
19 | indent_size = 4
20 |
21 | [Makefile]
22 | indent_style = tab
23 |
--------------------------------------------------------------------------------
/.github/workflows/luacheck.yml:
--------------------------------------------------------------------------------
1 | name: Luacheck
2 |
3 | on: [push, pull_request]
4 |
5 | jobs:
6 |
7 | luacheck:
8 | runs-on: ubuntu-latest
9 | steps:
10 | - name: Checkout
11 | uses: actions/checkout@v4
12 | - name: Luacheck
13 | uses: lunarmodules/luacheck@v1
14 |
--------------------------------------------------------------------------------
/.github/workflows/unix_build.yml:
--------------------------------------------------------------------------------
1 | name: "Unix build"
2 |
3 | on: [push, pull_request]
4 |
5 | jobs:
6 | test:
7 | runs-on: ubuntu-latest
8 |
9 | strategy:
10 | fail-fast: false
11 | matrix:
12 | luaVersion: ["5.1", "5.2", "5.3", "5.4", "luajit-2.1.0-beta3", "luajit-openresty"]
13 |
14 | steps:
15 | - uses: actions/checkout@v4
16 |
17 | - uses: hishamhm/gh-actions-lua@master
18 | with:
19 | luaVersion: ${{ matrix.luaVersion }}
20 |
21 | - uses: hishamhm/gh-actions-luarocks@master
22 | with:
23 | luaRocksVersion: "3.11.0"
24 |
25 | - name: dependencies
26 | run: |
27 | luarocks install busted
28 | luarocks install luacov-coveralls
29 |
30 | - name: build
31 | run: |
32 | luarocks remove penlight --force
33 | luarocks make
34 |
35 | - name: Busted tests
36 | run: |
37 | busted --coverage --Xoutput "--color"
38 |
39 | - name: Old test suite
40 | run: |
41 | lua run.lua tests --luacov
42 |
43 | - name: Examples
44 | run: |
45 | lua run.lua examples
46 |
47 | - name: Report test coverage
48 | if: success()
49 | continue-on-error: true
50 | run: luacov-coveralls
51 | env:
52 | COVERALLS_REPO_TOKEN: ${{ github.token }}
53 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | luacov.stats.out
2 | *.rock
3 |
--------------------------------------------------------------------------------
/.luacheckrc:
--------------------------------------------------------------------------------
1 | unused_args = false
2 | redefined = false
3 | max_line_length = false
4 |
5 | globals = {
6 | "ngx",
7 | }
8 |
9 | not_globals = {
10 | "string.len",
11 | "table.getn",
12 | }
13 |
14 | include_files = {
15 | "**/*.lua",
16 | "*.rockspec",
17 | ".busted",
18 | ".luacheckrc",
19 | }
20 |
21 | files["spec/**/*.lua"] = {
22 | std = "+busted",
23 | }
24 |
25 | exclude_files = {
26 | "tests/*.lua",
27 | "tests/**/*.lua",
28 | -- Travis Lua environment
29 | "here/*.lua",
30 | "here/**/*.lua",
31 | -- GH Actions Lua Environment
32 | ".lua",
33 | ".luarocks",
34 | ".install",
35 |
36 | -- TODO: fix these files
37 | "examples/symbols.lua",
38 | "examples/test-symbols.lua",
39 | }
40 |
41 |
--------------------------------------------------------------------------------
/.luacov:
--------------------------------------------------------------------------------
1 | modules = {
2 | ["pl"] = "lua/pl/init.lua",
3 | ["pl.*"] = "lua"
4 | }
5 |
--------------------------------------------------------------------------------
/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | Contributing to Penlight
2 | ========================
3 |
4 | So you want to contribute to Penlight? Fantastic! Here's a brief overview on
5 | how best to do so.
6 |
7 | ## What to change
8 |
9 | Here's some examples of things you might want to make a pull request for:
10 |
11 | * New features
12 | * Bugfixes
13 | * Inefficient blocks of code
14 |
15 | If you have a more deeply-rooted problem with how the library is built or some
16 | of the stylistic decisions made in the code, it's best to
17 | [create an issue](https://github.com/lunarmodules/Penlight/issues) before putting
18 | the effort into a pull request. The same goes for new features - it might be
19 | best to check the project's direction, existing pull requests, and currently open
20 | and closed issues first.
21 |
22 | ## Using Git appropriately
23 |
24 | Here's how to go about contributing to Penlight:
25 |
26 | 1. [Fork the repository](https://github.com/lunarmodules/Penlight/fork) to
27 | your Github account.
28 | 2. Create a *topical branch* - a branch whose name is succinct but explains what
29 | you're doing, such as _"added-klingon-cloacking-device"_ - from `master` branch.
30 | 3. Make your changes, committing at logical breaks.
31 | 4. Push your branch to your personal account
32 | 5. [Create a pull request](https://help.github.com/articles/using-pull-requests)
33 | 6. Watch for comments or acceptance
34 |
35 | If you wanna be a rockstar;
36 |
37 | 1. Update the [CHANGELOG.md](https://github.com/lunarmodules/Penlight/blob/master/CHANGELOG.md) file
38 | 2. [Add tests](https://github.com/lunarmodules/Penlight/tree/master/tests) that show the defect your fix repairs, or that tests your new feature
39 |
40 | Please note - if you want to change multiple things that don't depend on each
41 | other, make sure you check out the `master` branch again and create a different topical branch
42 | before making more changes - that way we can take in each change separately.
43 |
44 | ## Release instructions for a new version
45 |
46 | - create a new release branch
47 | - update `./lua/pl/utils.lua` (the `_VERSION` constant)
48 | - update `./config.ld` with the new version number
49 | - create a new rockspec file for the version in `./rockspecs`
50 | - check the `./CHANGELOG.md` files for completeness
51 | - commit the release related changes with `release x.y.z`
52 | - render the documentation using `ldoc .`
53 | - commit the documentation as a separate commit with `release x.y.z docs`
54 | - push the release branch and create a PR
55 | - merge the PR
56 | - tag the release as `x.y.z` and push the tag to the github repo
57 | - upload the rockspec, and source rock files to LuaRocks
58 | - test installing through LuaRocks
59 | - announce the release on the Lua mailing list
60 |
61 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | Copyright (C) 2009-2016 Steve Donovan, David Manura.
2 |
3 | Permission is hereby granted, free of charge, to any person obtaining a copy
4 | of this software and associated documentation files (the "Software"), to deal
5 | in the Software without restriction, including without limitation the rights
6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7 | copies of the Software, and to permit persons to whom the Software is
8 | furnished to do so, subject to the following conditions:
9 |
10 | The above copyright notice and this permission notice shall be included in
11 | all copies or substantial portions of the Software.
12 |
13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
14 | ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
15 | TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
16 | PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
17 | SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
18 | ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19 | ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
21 | OR OTHER DEALINGS IN THE SOFTWARE.
22 |
--------------------------------------------------------------------------------
/appveyor.yml:
--------------------------------------------------------------------------------
1 | shallow_clone: true
2 |
3 | environment:
4 | COVERALLS_REPO_TOKEN:
5 | secure: Ot23JDCk/sDpsIa8DkjX6u1ym09mVht+aFyIOmY09Ro6VFs/+VzQzqcldP0haP7r
6 | matrix:
7 | - LUA: "lua 5.1"
8 | - LUA: "lua 5.2"
9 | - LUA: "lua 5.3"
10 | - LUA: "lua 5.4"
11 | - LUA: "luajit 2.0"
12 | - LUA: "luajit 2.0 --compat 5.2"
13 | - LUA: "luajit 2.1"
14 | - LUA: "luajit 2.1 --compat 5.2"
15 |
16 | before_build:
17 | - set PATH=C:\Python27\Scripts;%PATH%
18 | - pip install --upgrade certifi
19 | - FOR /F "tokens=* USEBACKQ" %%F IN (`python -c "import certifi;print(certifi.where())"`) DO ( SET SSL_CERT_FILE=%%F )
20 | - pip install hererocks
21 | - hererocks here --%LUA% -rlatest
22 | - call here\bin\activate
23 | - luarocks install luacov-coveralls
24 | - luarocks install busted
25 |
26 | build_script:
27 | - luarocks make
28 |
29 | test_script:
30 | - busted --coverage
31 | - lua run.lua tests --luacov
32 | - lua run.lua examples
33 |
34 | on_success:
35 | # secure coveralls token not available on PR builds, only BRANCH builds
36 | - "if not \"%COVERALLS_REPO_TOKEN%\"==\"\" (
37 | luacov-coveralls
38 | )"
39 |
--------------------------------------------------------------------------------
/config.ld:
--------------------------------------------------------------------------------
1 | project = 'Penlight'
2 | description = 'Penlight Lua Libraries 1.14.0'
3 | full_description = 'Penlight is a set of pure Lua libraries for making it easier to work with common tasks like iterating over directories, reading configuration files and the like. Provides functional operations on tables and sequences. Visit the GitHub project to review the code or file issues. Skip to the @{01-introduction.md|introduction}.'
4 | title = 'Penlight Documentation'
5 | dir = 'docs'
6 | style = '!fixed'
7 | template = true
8 | use_markdown_titles = true
9 | topics = 'docs_topics'
10 | examples = {'./examples','./tests/test-data.lua'}
11 | package = 'pl'
12 | format = 'discount'
13 | sort_modules=true
14 | file = './lua/pl'
15 | kind_names={topic='Manual',module='Libraries'}
16 | tparam_alias('array','array')
17 | tparam_alias('array2d','array')
18 | alias('ret',{'return',modifiers={type="$1"}})
19 |
--------------------------------------------------------------------------------
/docs_topics/05-dates.md:
--------------------------------------------------------------------------------
1 | ## Date and Time
2 |
3 |
4 |
5 | NOTE: the Date module is deprecated
6 |
7 | ### Creating and Displaying Dates
8 |
9 | The `Date` class provides a simplified way to work with [date and
10 | time](https://www.lua.org/pil/22.1.html) in Lua; it leans heavily on the functions
11 | `os.date` and `os.time`.
12 |
13 | A `Date` object can be constructed from a table, just like with `os.time`.
14 | Methods are provided to get and set the various parts of the date.
15 |
16 | > d = Date {year = 2011, month = 3, day = 2 }
17 | > = d
18 | 2011-03-02 12:00:00
19 | > = d:month(),d:year(),d:day()
20 | 3 2011 2
21 | > d:month(4)
22 | > = d
23 | 2011-04-02 12:00:00
24 | > d:add {day=1}
25 | > = d
26 | 2011-04-03 12:00:00
27 |
28 | `add` takes a table containing one of the date table fields.
29 |
30 | > = d:weekday_name()
31 | Sun
32 | > = d:last_day()
33 | 2011-04-30 12:00:00
34 | > = d:month_name(true)
35 | April
36 |
37 | There is a default conversion to text for date objects, but `Date.Format` gives
38 | you full control of the format for both parsing and displaying dates:
39 |
40 | > iso = Date.Format 'yyyy-mm-dd'
41 | > d = iso:parse '2010-04-10'
42 | > amer = Date.Format 'mm/dd/yyyy'
43 | > = amer:tostring(d)
44 | 04/10/2010
45 |
46 | With the 0.9.7 release, the `Date` constructor has become more flexible. You may
47 | omit any of the 'year', 'month' or 'day' fields:
48 |
49 | > = Date { year = 2008 }
50 | 2008-01-01 12:00:00
51 | > = Date { month = 3 }
52 | 2011-03-01 12:00:00
53 | > = Date { day = 20 }
54 | 2011-10-20 12:00:00
55 | > = Date { hour = 14, min = 30 }
56 | 2011-10-13 14:30:00
57 |
58 | If 'year' is omitted, then the current year is assumed, and likewise for 'month'.
59 |
60 | To set the time on such a partial date, you can use the fact that the 'setter'
61 | methods return the date object and so you can 'chain' these methods.
62 |
63 | > d = Date { day = 03 }
64 | > = d:hour(18):min(30)
65 | 2011-10-03 18:30:00
66 |
67 | Finally, `Date` also now accepts positional arguments:
68 |
69 | > = Date(2011,10,3)
70 | 2011-10-03 12:00:00
71 | > = Date(2011,10,3,18,30,23)
72 | 2011-10-03 18:30:23
73 |
74 | `Date.format` has been extended. If you construct an instance without a pattern,
75 | then it will try to match against a set of known formats. This is useful for
76 | human-input dates since keeping to a strict format is not one of the strong
77 | points of users. It assumes that there will be a date, and then a date.
78 |
79 | > df = Date.Format()
80 | > = df:parse '5.30pm'
81 | 2011-10-13 17:30:00
82 | > = df:parse '1730'
83 | nil day out of range: 1730 is not between 1 and 31
84 | > = df:parse '17.30'
85 | 2011-10-13 17:30:00
86 | > = df:parse 'mar'
87 | 2011-03-01 12:00:00
88 | > = df:parse '3 March'
89 | 2011-03-03 12:00:00
90 | > = df:parse '15 March'
91 | 2011-03-15 12:00:00
92 | > = df:parse '15 March 2008'
93 | 2008-03-15 12:00:00
94 | > = df:parse '15 March 2008 1.30pm'
95 | 2008-03-15 13:30:00
96 | > = df:parse '2008-10-03 15:30:23'
97 | 2008-10-03 15:30:23
98 |
99 | ISO date format is of course a good idea if you need to deal with users from
100 | different countries. Here is the default behaviour for 'short' dates:
101 |
102 | > = df:parse '24/02/12'
103 | 2012-02-24 12:00:00
104 |
105 | That's not what Americans expect! It's tricky to work out in a cross-platform way
106 | exactly what the expected format is, so there is an explicit flag:
107 |
108 | > df:US_order(true)
109 | > = df:parse '9/11/01'
110 | 2001-11-09 12:00:00
111 |
112 |
--------------------------------------------------------------------------------
/docs_topics/09-discussion.md:
--------------------------------------------------------------------------------
1 | ## Technical Choices
2 |
3 | ### Modularity and Granularity
4 |
5 | In an ideal world, a program should only load the libraries it needs. Penlight is
6 | intended to work in situations where an extra 100Kb of bytecode could be a
7 | problem. It is straightforward but tedious to load exactly what you need:
8 |
9 | local data = require 'pl.data'
10 | local List = require 'pl.List'
11 | local array2d = require 'pl.array2d'
12 | local seq = require 'pl.seq'
13 | local utils = require 'pl.utils'
14 |
15 | This is the style that I follow in Penlight itself, so that modules don't mess
16 | with the global environment; also, `stringx.import()` is not used because it will
17 | update the global `string` table.
18 |
19 | But `require 'pl'` is more convenient in scripts; the question is how to ensure
20 | that one doesn't load the whole kitchen sink as the price of convenience. The
21 | strategy is to only load modules when they are referenced. In 'init.lua' (which
22 | is loaded by `require 'pl'`) a metatable is attached to the global table with an
23 | `__index` metamethod. Any unknown name is looked up in the list of modules, and
24 | if found, we require it and make that module globally available. So when
25 | `tablex.deepcompare` is encountered, looking up `tablex` causes 'pl.tablex' to be
26 | required. .
27 |
28 | Modifying the behaviour of the global table has consequences. For instance, there
29 | is the famous module `strict` which comes with Lua itself (perhaps the only
30 | standard Lua module written in Lua itself) which also does this modification so
31 | that global variiables must be defined before use. So the implementation in
32 | 'init.lua' allows for a 'not found' hook, which 'pl.strict.lua' uses. Other
33 | libraries may install their own metatables for `_G`, but Penlight will now
34 | forward any unknown name to the `__index` defined by the original metatable.
35 |
36 | But the strategy is worth the effort: the old 'kitchen sink' 'init.lua' would
37 | pull in about 260K of bytecode, whereas now typical programs use about 100K less,
38 | and short scripts even better - for instance, if they were only needing
39 | functionality in `utils`.
40 |
41 | There are some functions which mark their output table with a special metatable,
42 | when it seems particularly appropriate. For instance, `tablex.makeset` creates a
43 | `Set`, and `seq.copy` creates a `List`. But this does not automatically result in
44 | the loading of `pl.Set` and `pl.List`; only if you try to access any of these
45 | methods. In 'utils.lua', there is an exported table called `stdmt`:
46 |
47 | stdmt = { List = {}, Map = {}, Set = {}, MultiMap = {} }
48 |
49 | If you go through 'init.lua', then these plain little 'identity' tables get an
50 | `__index` metamethod which forces the loading of the full functionality. Here is
51 | the code from 'list.lua' which starts the ball rolling for lists:
52 |
53 | List = utils.stdmt.List
54 | List.__index = List
55 | List._name = "List"
56 | List._class = List
57 |
58 | The 'load-on-demand' strategy helps to modularize the library. Especially for
59 | more casual use, `require 'pl'` is a good compromise between convenience and
60 | modularity.
61 |
62 | In this current version, I have generally reduced the amount of trickery
63 | involved. Previously, `Map` was defined in `pl.class`; now it is sensibly defined
64 | in `pl.Map`; `pl.class` only contains the basic class mechanism (and returns that
65 | function.) For consistency, `List` is returned directly by `require 'pl.List'`
66 | (note the uppercase 'L'), Also, the amount of module dependencies in the
67 | non-core libraries like `pl.config` have been reduced.
68 |
69 | ### Defining what is Callable
70 |
71 | 'utils.lua' exports `function_arg` which is used extensively throughout Penlight.
72 | It defines what is meant by 'callable'. Obviously true functions are immediately
73 | passed back. But what about strings? The first option is that it represents an
74 | operator in 'operator.lua', so that '<' is just an alias for `operator.lt`.
75 |
76 | We then check whether there is a _function factory_ defined for the metatable of
77 | the value.
78 |
79 | (It is true that strings can be made callable, but in practice this turns out to
80 | be a cute but dubious idea, since _all_ strings share the same metatable. A
81 | common programming error is to pass the wrong kind of object to a function, and
82 | it's better to get a nice clean 'attempting to call a string' message rather than
83 | some obscure trace from the bowels of your library.)
84 |
85 | The other module that registers a function factory is `pl.func`. Placeholder
86 | expressions cannot be directly calleable, and so need to be instantiated and
87 | cached in as efficient way as possible.
88 |
89 | (An inconsistency is that `utils.is_callable` does not do this thorough check.)
90 |
91 |
92 |
--------------------------------------------------------------------------------
/examples/seesubst.lua:
--------------------------------------------------------------------------------
1 | -- shows how replacing '@see module' in the Markdown documentation
2 | -- can be done more elegantly using PL.
3 | -- We either have something like 'pl.config' (a module reference)
4 | -- or 'pl.seq.map' (a function reference); these cases must be distinguished
5 | -- and a Markdown link generated pointing to the LuaDoc file.
6 |
7 | local sip = require 'pl.sip'
8 | local stringx = require 'pl.stringx'
9 |
10 | local res = {}
11 | local s = [[
12 | (@see pl.bonzo.dog)
13 | remember about @see pl.bonzo
14 |
15 | ]]
16 |
17 | local _gsub_patterns = {}
18 |
19 | local function gsub (s,pat,subst,start)
20 | local fpat = _gsub_patterns[pat]
21 | if not fpat then
22 | -- use SIP to generate a proper string pattern.
23 | -- the _whole thing_ is a capture, to get the whole match
24 | -- and the unnamed capture.
25 | fpat = '('..sip.create_pattern(pat)..')'
26 | _gsub_patterns[pat] = fpat
27 | end
28 | return s:gsub(fpat,subst,start)
29 | end
30 |
31 |
32 | local mod = sip.compile '$v.$v'
33 | local fun = sip.compile '$v.$v.$v'
34 |
35 | for line in stringx.lines(s) do
36 | line = gsub(line,'@see $p',function(see,path)
37 | if fun(path,res) or mod(path,res) then
38 | local ret = ('[see %s](%s.%s.html'):format(path,res[1],res[2])
39 | if res[3] then
40 | return ret..'#'..res[3]..')'
41 | else
42 | return ret..')'
43 | end
44 | end
45 | end)
46 | print(line)
47 | end
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
--------------------------------------------------------------------------------
/examples/sipscan.lua:
--------------------------------------------------------------------------------
1 | -- another SIP example, shows how an awkward log file format
2 | -- can be parsed. It also prints out the actual Lua string
3 | -- pattern generated:
4 | -- SYNC%s*%[([+%-%d]%d*)%]%s*([+%-%d]%d*)%s*([+%-%d]%d*)
5 |
6 | local sip = require 'pl.sip'
7 | local stringx = require 'pl.stringx'
8 |
9 | local s = [[
10 | SYNC [1] 0 547 (14679 sec)
11 | SYNC [2] 0 555 (14679 sec)
12 | SYNC [3] 0 563 (14679 sec)
13 | SYNC [4] 0 571 (14679 sec)
14 | SYNC [5] -1 580 (14679 sec)
15 | SYNC [6] 0 587 (14679 sec)
16 | ]]
17 |
18 |
19 | local first = true
20 | local expected
21 | local res = {}
22 | local pat = 'SYNC [$i{seq}] $i{diff} $i{val}'
23 | print(sip.create_pattern(pat))
24 | local match = sip.compile(pat)
25 | for line in stringx.lines(s) do
26 | if match(line,res) then
27 | if first then
28 | expected = res.val
29 | first = false
30 | end
31 | print(res.val,expected - res.val)
32 | expected = expected + 8
33 | end
34 | end
35 |
--------------------------------------------------------------------------------
/examples/test-cmp.lua:
--------------------------------------------------------------------------------
1 | local A = require 'pl.tablex'
2 | print(A.compare_no_order({1,2,3},{2,1,3}))
3 | print(A.compare_no_order({1,2,3},{2,1,3},'=='))
4 |
--------------------------------------------------------------------------------
/examples/test-listcallbacks.lua:
--------------------------------------------------------------------------------
1 | -- demonstrates how to use a list of callbacks
2 | local List = require 'pl.List'
3 | local utils = require 'pl.utils'
4 | local actions = List()
5 | local L = utils.string_lambda
6 |
7 | actions:append(function() print 'hello' end)
8 | actions:append(L '|| print "yay"')
9 |
10 | -- '()' is a shortcut for operator.call or function(x) return x() end
11 | actions:foreach '()'
12 |
--------------------------------------------------------------------------------
/examples/test-pretty.lua:
--------------------------------------------------------------------------------
1 | local pretty = require 'pl.pretty'
2 |
3 | local tb = {
4 | 'one','two','three',{1,2,3},
5 | alpha=1,beta=2,gamma=3,['&']=true,[0]=false,
6 | _fred = {true,true},
7 | s = [[
8 | hello dolly
9 | you're so fine
10 | ]]
11 | }
12 |
13 | print(pretty.write(tb))
14 |
--------------------------------------------------------------------------------
/examples/test-symbols.lua:
--------------------------------------------------------------------------------
1 | require 'pl'
2 | -- force us to look in the script's directory when requiring...
3 | app.require_here()
4 | require 'symbols'
5 |
6 | local MT = getmetatable(_1)
7 |
8 | add = MT.__add
9 | mul = MT.__mul
10 | pow = MT.__pow
11 |
12 |
13 | function testeq (e1,e2)
14 | if not equals(e1,e2) then
15 | print ('Not equal',repr(e1),repr(e2))
16 | end
17 | end
18 |
19 | sin = register(math.sin,'sin')
20 |
21 | f = register(function(x,y,z) end)
22 |
23 | --[[
24 | testeq (_1,_1)
25 | testeq (_1+_2,_1+_2)
26 | testeq (_1 + 3*_2,_1 + 3*_2)
27 | testeq (_2+_1,_1+_2)
28 | testeq (sin(_1),sin(_1))
29 | testeq (1+f(10,20,'ok'),f(10,20,'ok')+1)
30 | --]]
31 |
32 |
33 | function testexpand (e)
34 | print(repr(fold(expand(e)))) --fold
35 | end
36 |
37 | --[[
38 | testexpand (a*(a+1))
39 |
40 | testexpand ((x+2)*(b+1))
41 | ]]--
42 |
43 | function testfold (e)
44 | print(repr(fold(e)))
45 | end
46 |
47 | a,b,c,x,y = Var 'a,b,c,x,y'
48 |
49 | --~ testfold(_1 + _2)
50 | --~ testfold(add(10,20))
51 | --~ testfold(add(mul(2,_1),mul(3,_2)))
52 | --[[
53 | testfold(sin(a))
54 | e = a^(b+2)
55 | testfold(e)
56 | bindval(b,1)
57 | testfold(e)
58 | bindval(a,2)
59 | testfold(e)
60 |
61 | bindval(a)
62 | bindval(b)
63 | ]]
64 |
65 |
66 |
67 | function testdiff (e)
68 | balance(e)
69 | e = diff(e,x)
70 | balance(e)
71 | print('+ ',e)
72 | e = fold(e)
73 | print('- ',e)
74 | end
75 |
76 |
77 | testdiff(x^2+1)
78 | testdiff(3*x^2)
79 | testdiff(x^2 + 2*x^3)
80 | testdiff(x^2 + 2*a*x^3 + x^4)
81 | testdiff(2*a*x^3)
82 | testdiff(x*x*x)
83 |
84 |
85 |
86 |
--------------------------------------------------------------------------------
/examples/testclone.lua:
--------------------------------------------------------------------------------
1 | --cloning a directory tree.
2 | local lfs = require 'lfs'
3 | local path = require 'pl.path'
4 | local dir = require 'pl.dir'
5 |
6 | local p1 = [[examples]]
7 | local p2 = [[copy/of/examples]]
8 |
9 | if not path.isfile 'examples/testclone.lua' then
10 | return print 'please run this in the penlight folder (below examples)'
11 | end
12 |
13 | -- make a copy of the examples folder
14 | dir.clonetree(p1,p2,dir.copyfile)
15 |
16 | assert(path.isdir 'copy')
17 |
18 | print '---'
19 | local t = os.time()
20 | print(lfs.touch('examples/testclone.lua',t,t+10))
21 |
22 | -- this should only update this file
23 | dir.clonetree(p1,p2,
24 | function(f1,f2)
25 | local t1 = path.getmtime(f1)
26 | local t2 = path.getmtime(f2)
27 | --print(f1,t1,f2,t2)
28 | if t1 > t2 then
29 | dir.copyfile(f1,f2)
30 | print(f1,f2,t1,t2)
31 | end
32 | return true
33 | end)
34 |
35 | -- and get rid of the whole copy directory, with subdirs
36 | dir.rmtree 'copy'
37 |
38 | assert(not path.exists 'copy')
39 |
40 |
41 |
--------------------------------------------------------------------------------
/examples/testconfig.lua:
--------------------------------------------------------------------------------
1 | local stringio = require 'pl.stringio'
2 | local config = require 'pl.config'
3 |
4 | local function dump(t,indent)
5 | if type(t) == 'table' then
6 | io.write(indent,'{\n')
7 | local newindent = indent..' '
8 | for k,v in pairs(t) do
9 | io.write(newindent,k,'=')
10 | dump(v,indent)
11 | io.write('\n')
12 | end
13 | io.write(newindent,'},\n')
14 | else
15 | io.write(indent,t,'(',type(t),')')
16 | end
17 | end
18 |
19 |
20 | local function testconfig(test)
21 | local f = stringio.open(test)
22 | local c = config.read(f)
23 | f:close()
24 | dump(c,' ')
25 | print '-----'
26 | end
27 |
28 | testconfig [[
29 | ; comment 2 (an ini file)
30 | [section!]
31 | bonzo.dog=20,30
32 | config_parm=here we go again
33 | depth = 2
34 | [another]
35 | felix="cat"
36 | ]]
37 |
38 | testconfig [[
39 | # this is a more Unix-y config file
40 | fred = 1
41 | alice = 2
42 | home = /bonzo/dog/etc
43 | ]]
44 |
45 | testconfig [[
46 | # this is just a set of comma-separated values
47 | 1000,444,222
48 | 44,555,224
49 | ]]
50 |
51 |
52 |
--------------------------------------------------------------------------------
/examples/testglobal.lua:
--------------------------------------------------------------------------------
1 | -- very simple lexer program which looks at all identifiers in a Lua
2 | -- file and checks whether they're in the global namespace.
3 | -- At the end, we dump out the result of count_map, which will give us
4 | -- unique identifiers with their usage count.
5 | -- (an example of a program which itself needs to be careful about what
6 | -- goes into the global namespace)
7 |
8 | local utils = require 'pl.utils'
9 | local file = require 'pl.file'
10 | local lexer = require 'pl.lexer'
11 | local List = require 'pl.List'
12 | local pretty = require 'pl.pretty'
13 | local seq = require 'pl.seq'
14 | local path = require 'pl.path'
15 |
16 | utils.on_error 'quit'
17 |
18 | local txt = file.read(arg[1] or path.normpath('examples/testglobal.lua'))
19 | local globals = List()
20 | for t,v in lexer.lua(txt) do
21 | if t == 'iden' and rawget(_G,v) then
22 | globals:append(v)
23 | end
24 | end
25 |
26 | pretty.dump(seq.count_map(globals))
27 |
28 |
29 |
--------------------------------------------------------------------------------
/examples/testinputfields.lua:
--------------------------------------------------------------------------------
1 | local input = require 'pl.input'
2 | local sum = 0.0
3 | local count = 0
4 | local text = [[
5 | 981124001 2.0 18988.4 10047.1 4149.7
6 | 981125001 0.8 19104.0 9970.4 5088.7
7 | 981127003 0.5 19012.5 9946.9 3831.2
8 | ]]
9 | for id,magn,x in input.fields(3,' ',text) do
10 | sum = sum + x
11 | count = count + 1
12 | end
13 | print('average x coord is ',sum/count)
14 |
--------------------------------------------------------------------------------
/examples/testinputfields2.lua:
--------------------------------------------------------------------------------
1 | local input = require 'pl.input'
2 | local seq = require 'pl.seq'
3 | local text = [[
4 | 981124001 2.0 18988.4 10047.1 4149.7
5 | 981125001 0.8 19104.0 9970.4 5088.7
6 | 981127003 0.5 19012.5 9946.9 3831.2
7 | ]]
8 | local sum,count = seq.sum(input.fields ({3},' ',text))
9 | print(sum/count)
10 |
--------------------------------------------------------------------------------
/examples/testxml.lua:
--------------------------------------------------------------------------------
1 | -- an example showing 'pl.lexer' doing some serious work.
2 | -- The resulting Lua table is in the same LOM format used by luaexpat.
3 | -- This is (clearly) not a professional XML parser, so don't use it
4 | -- on your homework!
5 |
6 | local lexer = require 'pl.lexer'
7 | local pretty = require 'pl.pretty'
8 |
9 | local append = table.insert
10 | local skipws,expecting = lexer.skipws,lexer.expecting
11 |
12 | local function parse_element (tok,tag)
13 | local tbl,t,v,attrib
14 | tbl = {}
15 | tbl.tag = tag -- LOM 'tag' is the element tag
16 | t,v = skipws(tok)
17 | while v ~= '/' and v ~= '>' do
18 | if t ~= 'iden' then error('expecting attribute identifier') end
19 | attrib = v
20 | expecting(tok,'=')
21 | v = expecting(tok,'string')
22 | -- LOM: 'attr' subtable contains attrib/value pairs and an ordered list of attribs
23 | if not tbl.attr then tbl.attr = {} end
24 | tbl.attr[attrib] = v
25 | append(tbl.attr,attrib)
26 | t,v = skipws(tok)
27 | end
28 | if v == '/' then
29 | expecting(tok,'>')
30 | return tbl
31 | end
32 | -- pick up element data
33 | t,v = tok()
34 | while true do
35 | if t == '<' then
36 | t,v = skipws(tok)
37 | if t == '/' then -- element end tag
38 | t,v = tok()
39 | if t == '>' then return tbl end
40 | if t == 'iden' and v == tag then
41 | if tok() == '>' then return tbl end
42 | end
43 | error('expecting end tag '..tag)
44 | else
45 | append(tbl,parse_element(tok,v)) -- LOM: child elements added to table
46 | t,v = skipws(tok)
47 | end
48 | else
49 | append(tbl,v) -- LOM: text added to table
50 | t,v = skipws(tok)
51 | end
52 | end
53 | end
54 |
55 | local function parse_xml (tok)
56 | local t = skipws(tok)
57 | local v
58 | while t == '<' do
59 | t,v = tok()
60 | if t == '?' or t == '!' then
61 | -- skip meta stuff and commentary
62 | repeat t = tok() until t == '>'
63 | t = expecting(tok,'<')
64 | else
65 | return parse_element(tok,v)
66 | end
67 | end
68 | end
69 |
70 | local s = [[
71 |
72 |
2 | --
3 | -- f = stringio.open(text)
4 | -- l1 = f:read() -- read first line
5 | -- n,m = f:read ('*n','*n') -- read two numbers
6 | -- for line in f:lines() do print(line) end -- iterate over all lines
7 | -- f = stringio.create()
8 | -- f:write('hello')
9 | -- f:write('dolly')
10 | -- assert(f:value(),'hellodolly')
11 | --
12 | -- See @{03-strings.md.File_style_I_O_on_Strings|the Guide}.
13 | -- @module pl.stringio
14 |
15 | local unpack = rawget(_G,'unpack') or rawget(table,'unpack')
16 | local tonumber = tonumber
17 | local concat,append = table.concat,table.insert
18 |
19 | local stringio = {}
20 |
21 | -- Writer class
22 | local SW = {}
23 | SW.__index = SW
24 |
25 | local function xwrite(self,...)
26 | local args = {...} --arguments may not be nil!
27 | for i = 1, #args do
28 | append(self.tbl,args[i])
29 | end
30 | end
31 |
32 | function SW:write(arg1,arg2,...)
33 | if arg2 then
34 | xwrite(self,arg1,arg2,...)
35 | else
36 | append(self.tbl,arg1)
37 | end
38 | end
39 |
40 | function SW:writef(fmt,...)
41 | self:write(fmt:format(...))
42 | end
43 |
44 | function SW:value()
45 | return concat(self.tbl)
46 | end
47 |
48 | function SW:__tostring()
49 | return self:value()
50 | end
51 |
52 | function SW:close() -- for compatibility only
53 | end
54 |
55 | function SW:seek()
56 | end
57 |
58 | -- Reader class
59 | local SR = {}
60 | SR.__index = SR
61 |
62 | function SR:_read(fmt)
63 | local i,str = self.i,self.str
64 | local sz = #str
65 | if i > sz then return nil end
66 | local res
67 | if fmt == '*l' or fmt == '*L' then
68 | local idx = str:find('\n',i) or (sz+1)
69 | res = str:sub(i,fmt == '*l' and idx-1 or idx)
70 | self.i = idx+1
71 | elseif fmt == '*a' then
72 | res = str:sub(i)
73 | self.i = sz
74 | elseif fmt == '*n' then
75 | local _,i2,idx
76 | _,idx = str:find ('%s*%d+',i)
77 | _,i2 = str:find ('^%.%d+',idx+1)
78 | if i2 then idx = i2 end
79 | _,i2 = str:find ('^[eE][%+%-]*%d+',idx+1)
80 | if i2 then idx = i2 end
81 | local val = str:sub(i,idx)
82 | res = tonumber(val)
83 | self.i = idx+1
84 | elseif type(fmt) == 'number' then
85 | res = str:sub(i,i+fmt-1)
86 | self.i = i + fmt
87 | else
88 | error("bad read format",2)
89 | end
90 | return res
91 | end
92 |
93 | function SR:read(...)
94 | if select('#',...) == 0 then
95 | return self:_read('*l')
96 | else
97 | local res, fmts = {},{...}
98 | for i = 1, #fmts do
99 | res[i] = self:_read(fmts[i])
100 | end
101 | return unpack(res)
102 | end
103 | end
104 |
105 | function SR:seek(whence,offset)
106 | local base
107 | whence = whence or 'cur'
108 | offset = offset or 0
109 | if whence == 'set' then
110 | base = 1
111 | elseif whence == 'cur' then
112 | base = self.i
113 | elseif whence == 'end' then
114 | base = #self.str
115 | end
116 | self.i = base + offset
117 | return self.i
118 | end
119 |
120 | function SR:lines(...)
121 | local n, args = select('#',...)
122 | if n > 0 then
123 | args = {...}
124 | end
125 | return function()
126 | if n == 0 then
127 | return self:_read '*l'
128 | else
129 | return self:read(unpack(args))
130 | end
131 | end
132 | end
133 |
134 | function SR:close() -- for compatibility only
135 | end
136 |
137 | --- create a file-like object which can be used to construct a string.
138 | -- The resulting object has an extra `value()` method for
139 | -- retrieving the string value. Implements `file:write`, `file:seek`, `file:lines`,
140 | -- plus an extra `writef` method which works like `utils.printf`.
141 | -- @usage f = create(); f:write('hello, dolly\n'); print(f:value())
142 | function stringio.create()
143 | return setmetatable({tbl={}},SW)
144 | end
145 |
146 | --- create a file-like object for reading from a given string.
147 | -- Implements `file:read`.
148 | -- @string s The input string.
149 | -- @usage fs = open '20 10'; x,y = f:read ('*n','*n'); assert(x == 20 and y == 10)
150 | function stringio.open(s)
151 | return setmetatable({str=s,i=1},SR)
152 | end
153 |
154 | function stringio.lines(s,...)
155 | return stringio.open(s):lines(...)
156 | end
157 |
158 | return stringio
159 |
--------------------------------------------------------------------------------
/lua/pl/text.lua:
--------------------------------------------------------------------------------
1 | --- Text processing utilities.
2 | --
3 | -- This provides a Template class (modeled after the same from the Python
4 | -- libraries, see string.Template). It also provides similar functions to those
5 | -- found in the textwrap module.
6 | --
7 | -- IMPORTANT: this module has been deprecated and will be removed in a future
8 | -- version (2.0). The contents of this module have moved to the `pl.stringx`
9 | -- module.
10 | --
11 | -- See @{03-strings.md.String_Templates|the Guide}.
12 | --
13 | -- Dependencies: `pl.stringx`, `pl.utils`
14 | -- @module pl.text
15 |
16 | local utils = require("pl.utils")
17 |
18 | utils.raise_deprecation {
19 | source = "Penlight " .. utils._VERSION,
20 | message = "the contents of module 'pl.text' has moved into 'pl.stringx'",
21 | version_removed = "2.0.0",
22 | deprecated_after = "1.11.0",
23 | no_trace = true,
24 | }
25 |
26 | return require "pl.stringx"
27 |
--------------------------------------------------------------------------------
/lua/pl/url.lua:
--------------------------------------------------------------------------------
1 | --- Python-style URL quoting library.
2 | --
3 | -- @module pl.url
4 |
5 | local url = {}
6 |
7 | local function quote_char(c)
8 | return string.format("%%%02X", string.byte(c))
9 | end
10 |
11 | --- Quote the url, replacing special characters using the '%xx' escape.
12 | -- @string s the string
13 | -- @bool quote_plus Also escape slashes and replace spaces by plus signs.
14 | -- @return The quoted string, or if `s` wasn't a string, just plain unaltered `s`.
15 | function url.quote(s, quote_plus)
16 | if type(s) ~= "string" then
17 | return s
18 | end
19 |
20 | s = s:gsub("\n", "\r\n")
21 | s = s:gsub("([^A-Za-z0-9 %-_%./])", quote_char)
22 | if quote_plus then
23 | s = s:gsub(" ", "+")
24 | s = s:gsub("/", quote_char)
25 | else
26 | s = s:gsub(" ", "%%20")
27 | end
28 |
29 | return s
30 | end
31 |
32 | local function unquote_char(h)
33 | return string.char(tonumber(h, 16))
34 | end
35 |
36 | --- Unquote the url, replacing '%xx' escapes and plus signs.
37 | -- @string s the string
38 | -- @return The unquoted string, or if `s` wasn't a string, just plain unaltered `s`.
39 | function url.unquote(s)
40 | if type(s) ~= "string" then
41 | return s
42 | end
43 |
44 | s = s:gsub("+", " ")
45 | s = s:gsub("%%(%x%x)", unquote_char)
46 | s = s:gsub("\r\n", "\n")
47 |
48 | return s
49 | end
50 |
51 | return url
52 |
--------------------------------------------------------------------------------
/penlight-dev-1.rockspec:
--------------------------------------------------------------------------------
1 | local package_name = "penlight"
2 | local package_version = "dev"
3 | local rockspec_revision = "1"
4 | local github_account_name = "lunarmodules"
5 | local github_repo_name = package_name
6 | local git_checkout = package_version == "dev" and "master" or package_version
7 |
8 |
9 | rockspec_format = "3.0"
10 | package = package_name
11 | version = package_version .. "-" .. rockspec_revision
12 |
13 | source = {
14 | url = "git+https://github.com/"..github_account_name.."/"..github_repo_name..".git",
15 | branch = git_checkout
16 | }
17 |
18 | description = {
19 | summary = "Lua utility libraries loosely based on the Python standard libraries",
20 | detailed = [[
21 | Penlight is a set of pure Lua libraries focusing on input data handling
22 | (such as reading configuration files), functional programming
23 | (such as map, reduce, placeholder expressions,etc), and OS path management.
24 | Much of the functionality is inspired by the Python standard libraries.
25 | ]],
26 | license = "MIT/X11",
27 | homepage = "https://"..github_account_name..".github.io/"..github_repo_name,
28 | issues_url = "https://github.com/"..github_account_name.."/"..github_repo_name.."/issues",
29 | maintainer = "thijs@thijsschreijer.nl",
30 | }
31 |
32 | dependencies = {
33 | "lua >= 5.1",
34 | "luafilesystem"
35 | }
36 |
37 | test_dependencies = {
38 | "busted",
39 | }
40 |
41 | test = {
42 | type = "busted",
43 | }
44 |
45 | build = {
46 | type = "builtin",
47 | modules = {
48 | ["pl"] = "lua/pl/init.lua",
49 | ["pl.app"] = "lua/pl/app.lua",
50 | ["pl.array2d"] = "lua/pl/array2d.lua",
51 | ["pl.class"] = "lua/pl/class.lua",
52 | ["pl.compat"] = "lua/pl/compat.lua",
53 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
54 | ["pl.config"] = "lua/pl/config.lua",
55 | ["pl.data"] = "lua/pl/data.lua",
56 | ["pl.Date"] = "lua/pl/Date.lua",
57 | ["pl.dir"] = "lua/pl/dir.lua",
58 | ["pl.file"] = "lua/pl/file.lua",
59 | ["pl.func"] = "lua/pl/func.lua",
60 | ["pl.import_into"] = "lua/pl/import_into.lua",
61 | ["pl.input"] = "lua/pl/input.lua",
62 | ["pl.lapp"] = "lua/pl/lapp.lua",
63 | ["pl.lexer"] = "lua/pl/lexer.lua",
64 | ["pl.List"] = "lua/pl/List.lua",
65 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
66 | ["pl.Map"] = "lua/pl/Map.lua",
67 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
68 | ["pl.operator"] = "lua/pl/operator.lua",
69 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
70 | ["pl.path"] = "lua/pl/path.lua",
71 | ["pl.permute"] = "lua/pl/permute.lua",
72 | ["pl.pretty"] = "lua/pl/pretty.lua",
73 | ["pl.Set"] = "lua/pl/Set.lua",
74 | ["pl.seq"] = "lua/pl/seq.lua",
75 | ["pl.sip"] = "lua/pl/sip.lua",
76 | ["pl.strict"] = "lua/pl/strict.lua",
77 | ["pl.stringio"] = "lua/pl/stringio.lua",
78 | ["pl.stringx"] = "lua/pl/stringx.lua",
79 | ["pl.tablex"] = "lua/pl/tablex.lua",
80 | ["pl.template"] = "lua/pl/template.lua",
81 | ["pl.test"] = "lua/pl/test.lua",
82 | ["pl.text"] = "lua/pl/text.lua",
83 | ["pl.types"] = "lua/pl/types.lua",
84 | ["pl.url"] = "lua/pl/url.lua",
85 | ["pl.utils"] = "lua/pl/utils.lua",
86 | ["pl.xml"] = "lua/pl/xml.lua",
87 | },
88 | copy_directories = {"docs", "tests"}
89 | }
90 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.10.0-1.rockspec:
--------------------------------------------------------------------------------
1 | local package_name = "penlight"
2 | local package_version = "1.10.0"
3 | local rockspec_revision = "1"
4 | local github_account_name = "lunarmodules"
5 | local github_repo_name = package_name
6 | local git_checkout = package_version == "dev" and "master" or package_version
7 |
8 |
9 | package = package_name
10 | version = package_version .. "-" .. rockspec_revision
11 |
12 | source = {
13 | url = "git://github.com/"..github_account_name.."/"..github_repo_name..".git",
14 | branch = git_checkout
15 | }
16 |
17 | description = {
18 | summary = "Lua utility libraries loosely based on the Python standard libraries",
19 | homepage = "https://"..github_account_name..".github.io/"..github_repo_name,
20 | license = "MIT/X11",
21 | maintainer = "thijs@thijsschreijer.nl",
22 | detailed = [[
23 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
24 | iterating over directories, reading configuration files and the like. Provides functional operations
25 | on tables and sequences.
26 | ]]
27 | }
28 |
29 | dependencies = {
30 | "luafilesystem",
31 | }
32 |
33 | build = {
34 | type = "builtin",
35 | modules = {
36 | ["pl.strict"] = "lua/pl/strict.lua",
37 | ["pl.dir"] = "lua/pl/dir.lua",
38 | ["pl.operator"] = "lua/pl/operator.lua",
39 | ["pl.input"] = "lua/pl/input.lua",
40 | ["pl.config"] = "lua/pl/config.lua",
41 | ["pl.compat"] = "lua/pl/config.lua",
42 | ["pl.seq"] = "lua/pl/seq.lua",
43 | ["pl.stringio"] = "lua/pl/stringio.lua",
44 | ["pl.text"] = "lua/pl/text.lua",
45 | ["pl.test"] = "lua/pl/test.lua",
46 | ["pl.tablex"] = "lua/pl/tablex.lua",
47 | ["pl.app"] = "lua/pl/app.lua",
48 | ["pl.stringx"] = "lua/pl/stringx.lua",
49 | ["pl.lexer"] = "lua/pl/lexer.lua",
50 | ["pl.utils"] = "lua/pl/utils.lua",
51 | ["pl.sip"] = "lua/pl/sip.lua",
52 | ["pl.permute"] = "lua/pl/permute.lua",
53 | ["pl.pretty"] = "lua/pl/pretty.lua",
54 | ["pl.class"] = "lua/pl/class.lua",
55 | ["pl.List"] = "lua/pl/List.lua",
56 | ["pl.data"] = "lua/pl/data.lua",
57 | ["pl.Date"] = "lua/pl/Date.lua",
58 | ["pl.init"] = "lua/pl/init.lua",
59 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
60 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
61 | ["pl.path"] = "lua/pl/path.lua",
62 | ["pl.array2d"] = "lua/pl/array2d.lua",
63 | ["pl.func"] = "lua/pl/func.lua",
64 | ["pl.lapp"] = "lua/pl/lapp.lua",
65 | ["pl.file"] = "lua/pl/file.lua",
66 | ['pl.template'] = "lua/pl/template.lua",
67 | ["pl.Map"] = "lua/pl/Map.lua",
68 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
69 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
70 | ["pl.Set"] = "lua/pl/Set.lua",
71 | ["pl.xml"] = "lua/pl/xml.lua",
72 | ["pl.url"] = "lua/pl/url.lua",
73 | ["pl.import_into"] = "lua/pl/import_into.lua",
74 | ["pl.types"] = "lua/pl/types.lua",
75 | },
76 | copy_directories = {"docs", "tests"}
77 | }
78 |
79 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.10.0-2.rockspec:
--------------------------------------------------------------------------------
1 | local package_name = "penlight"
2 | local package_version = "1.10.0"
3 | local rockspec_revision = "2"
4 | local github_account_name = "lunarmodules"
5 | local github_repo_name = package_name
6 | local git_checkout = package_version == "dev" and "master" or package_version
7 |
8 |
9 | package = package_name
10 | version = package_version .. "-" .. rockspec_revision
11 |
12 | source = {
13 | url = "git+https://github.com/"..github_account_name.."/"..github_repo_name..".git",
14 | branch = git_checkout
15 | }
16 |
17 | description = {
18 | summary = "Lua utility libraries loosely based on the Python standard libraries",
19 | homepage = "https://"..github_account_name..".github.io/"..github_repo_name,
20 | license = "MIT/X11",
21 | maintainer = "thijs@thijsschreijer.nl",
22 | detailed = [[
23 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
24 | iterating over directories, reading configuration files and the like. Provides functional operations
25 | on tables and sequences.
26 | ]]
27 | }
28 |
29 | dependencies = {
30 | "luafilesystem",
31 | }
32 |
33 | build = {
34 | type = "builtin",
35 | modules = {
36 | ["pl.strict"] = "lua/pl/strict.lua",
37 | ["pl.dir"] = "lua/pl/dir.lua",
38 | ["pl.operator"] = "lua/pl/operator.lua",
39 | ["pl.input"] = "lua/pl/input.lua",
40 | ["pl.config"] = "lua/pl/config.lua",
41 | ["pl.compat"] = "lua/pl/config.lua",
42 | ["pl.seq"] = "lua/pl/seq.lua",
43 | ["pl.stringio"] = "lua/pl/stringio.lua",
44 | ["pl.text"] = "lua/pl/text.lua",
45 | ["pl.test"] = "lua/pl/test.lua",
46 | ["pl.tablex"] = "lua/pl/tablex.lua",
47 | ["pl.app"] = "lua/pl/app.lua",
48 | ["pl.stringx"] = "lua/pl/stringx.lua",
49 | ["pl.lexer"] = "lua/pl/lexer.lua",
50 | ["pl.utils"] = "lua/pl/utils.lua",
51 | ["pl.sip"] = "lua/pl/sip.lua",
52 | ["pl.permute"] = "lua/pl/permute.lua",
53 | ["pl.pretty"] = "lua/pl/pretty.lua",
54 | ["pl.class"] = "lua/pl/class.lua",
55 | ["pl.List"] = "lua/pl/List.lua",
56 | ["pl.data"] = "lua/pl/data.lua",
57 | ["pl.Date"] = "lua/pl/Date.lua",
58 | ["pl.init"] = "lua/pl/init.lua",
59 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
60 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
61 | ["pl.path"] = "lua/pl/path.lua",
62 | ["pl.array2d"] = "lua/pl/array2d.lua",
63 | ["pl.func"] = "lua/pl/func.lua",
64 | ["pl.lapp"] = "lua/pl/lapp.lua",
65 | ["pl.file"] = "lua/pl/file.lua",
66 | ['pl.template'] = "lua/pl/template.lua",
67 | ["pl.Map"] = "lua/pl/Map.lua",
68 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
69 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
70 | ["pl.Set"] = "lua/pl/Set.lua",
71 | ["pl.xml"] = "lua/pl/xml.lua",
72 | ["pl.url"] = "lua/pl/url.lua",
73 | ["pl.import_into"] = "lua/pl/import_into.lua",
74 | ["pl.types"] = "lua/pl/types.lua",
75 | },
76 | copy_directories = {"docs", "tests"}
77 | }
78 |
79 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.11.0-1.rockspec:
--------------------------------------------------------------------------------
1 | local package_name = "penlight"
2 | local package_version = "1.11.0"
3 | local rockspec_revision = "1"
4 | local github_account_name = "lunarmodules"
5 | local github_repo_name = package_name
6 | local git_checkout = package_version == "dev" and "master" or package_version
7 |
8 |
9 | package = package_name
10 | version = package_version .. "-" .. rockspec_revision
11 |
12 | source = {
13 | url = "git://github.com/"..github_account_name.."/"..github_repo_name..".git",
14 | branch = git_checkout
15 | }
16 |
17 | description = {
18 | summary = "Lua utility libraries loosely based on the Python standard libraries",
19 | homepage = "https://"..github_account_name..".github.io/"..github_repo_name,
20 | license = "MIT/X11",
21 | maintainer = "thijs@thijsschreijer.nl",
22 | detailed = [[
23 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
24 | iterating over directories, reading configuration files and the like. Provides functional operations
25 | on tables and sequences.
26 | ]]
27 | }
28 |
29 | dependencies = {
30 | "luafilesystem",
31 | }
32 |
33 | build = {
34 | type = "builtin",
35 | modules = {
36 | ["pl.strict"] = "lua/pl/strict.lua",
37 | ["pl.dir"] = "lua/pl/dir.lua",
38 | ["pl.operator"] = "lua/pl/operator.lua",
39 | ["pl.input"] = "lua/pl/input.lua",
40 | ["pl.config"] = "lua/pl/config.lua",
41 | ["pl.compat"] = "lua/pl/config.lua",
42 | ["pl.seq"] = "lua/pl/seq.lua",
43 | ["pl.stringio"] = "lua/pl/stringio.lua",
44 | ["pl.text"] = "lua/pl/text.lua",
45 | ["pl.test"] = "lua/pl/test.lua",
46 | ["pl.tablex"] = "lua/pl/tablex.lua",
47 | ["pl.app"] = "lua/pl/app.lua",
48 | ["pl.stringx"] = "lua/pl/stringx.lua",
49 | ["pl.lexer"] = "lua/pl/lexer.lua",
50 | ["pl.utils"] = "lua/pl/utils.lua",
51 | ["pl.sip"] = "lua/pl/sip.lua",
52 | ["pl.permute"] = "lua/pl/permute.lua",
53 | ["pl.pretty"] = "lua/pl/pretty.lua",
54 | ["pl.class"] = "lua/pl/class.lua",
55 | ["pl.List"] = "lua/pl/List.lua",
56 | ["pl.data"] = "lua/pl/data.lua",
57 | ["pl.Date"] = "lua/pl/Date.lua",
58 | ["pl.init"] = "lua/pl/init.lua",
59 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
60 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
61 | ["pl.path"] = "lua/pl/path.lua",
62 | ["pl.array2d"] = "lua/pl/array2d.lua",
63 | ["pl.func"] = "lua/pl/func.lua",
64 | ["pl.lapp"] = "lua/pl/lapp.lua",
65 | ["pl.file"] = "lua/pl/file.lua",
66 | ['pl.template'] = "lua/pl/template.lua",
67 | ["pl.Map"] = "lua/pl/Map.lua",
68 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
69 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
70 | ["pl.Set"] = "lua/pl/Set.lua",
71 | ["pl.xml"] = "lua/pl/xml.lua",
72 | ["pl.url"] = "lua/pl/url.lua",
73 | ["pl.import_into"] = "lua/pl/import_into.lua",
74 | ["pl.types"] = "lua/pl/types.lua",
75 | },
76 | copy_directories = {"docs", "tests"}
77 | }
78 |
79 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.11.0-2.rockspec:
--------------------------------------------------------------------------------
1 | local package_name = "penlight"
2 | local package_version = "1.11.0"
3 | local rockspec_revision = "2"
4 | local github_account_name = "lunarmodules"
5 | local github_repo_name = package_name
6 | local git_checkout = package_version == "dev" and "master" or package_version
7 |
8 |
9 | package = package_name
10 | version = package_version .. "-" .. rockspec_revision
11 |
12 | source = {
13 | url = "git+https://github.com/"..github_account_name.."/"..github_repo_name..".git",
14 | branch = git_checkout
15 | }
16 |
17 | description = {
18 | summary = "Lua utility libraries loosely based on the Python standard libraries",
19 | homepage = "https://"..github_account_name..".github.io/"..github_repo_name,
20 | license = "MIT/X11",
21 | maintainer = "thijs@thijsschreijer.nl",
22 | detailed = [[
23 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
24 | iterating over directories, reading configuration files and the like. Provides functional operations
25 | on tables and sequences.
26 | ]]
27 | }
28 |
29 | dependencies = {
30 | "luafilesystem",
31 | }
32 |
33 | build = {
34 | type = "builtin",
35 | modules = {
36 | ["pl.strict"] = "lua/pl/strict.lua",
37 | ["pl.dir"] = "lua/pl/dir.lua",
38 | ["pl.operator"] = "lua/pl/operator.lua",
39 | ["pl.input"] = "lua/pl/input.lua",
40 | ["pl.config"] = "lua/pl/config.lua",
41 | ["pl.compat"] = "lua/pl/config.lua",
42 | ["pl.seq"] = "lua/pl/seq.lua",
43 | ["pl.stringio"] = "lua/pl/stringio.lua",
44 | ["pl.text"] = "lua/pl/text.lua",
45 | ["pl.test"] = "lua/pl/test.lua",
46 | ["pl.tablex"] = "lua/pl/tablex.lua",
47 | ["pl.app"] = "lua/pl/app.lua",
48 | ["pl.stringx"] = "lua/pl/stringx.lua",
49 | ["pl.lexer"] = "lua/pl/lexer.lua",
50 | ["pl.utils"] = "lua/pl/utils.lua",
51 | ["pl.sip"] = "lua/pl/sip.lua",
52 | ["pl.permute"] = "lua/pl/permute.lua",
53 | ["pl.pretty"] = "lua/pl/pretty.lua",
54 | ["pl.class"] = "lua/pl/class.lua",
55 | ["pl.List"] = "lua/pl/List.lua",
56 | ["pl.data"] = "lua/pl/data.lua",
57 | ["pl.Date"] = "lua/pl/Date.lua",
58 | ["pl.init"] = "lua/pl/init.lua",
59 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
60 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
61 | ["pl.path"] = "lua/pl/path.lua",
62 | ["pl.array2d"] = "lua/pl/array2d.lua",
63 | ["pl.func"] = "lua/pl/func.lua",
64 | ["pl.lapp"] = "lua/pl/lapp.lua",
65 | ["pl.file"] = "lua/pl/file.lua",
66 | ['pl.template'] = "lua/pl/template.lua",
67 | ["pl.Map"] = "lua/pl/Map.lua",
68 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
69 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
70 | ["pl.Set"] = "lua/pl/Set.lua",
71 | ["pl.xml"] = "lua/pl/xml.lua",
72 | ["pl.url"] = "lua/pl/url.lua",
73 | ["pl.import_into"] = "lua/pl/import_into.lua",
74 | ["pl.types"] = "lua/pl/types.lua",
75 | },
76 | copy_directories = {"docs", "tests"}
77 | }
78 |
79 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.12.0-1.rockspec:
--------------------------------------------------------------------------------
1 | local package_name = "penlight"
2 | local package_version = "1.12.0"
3 | local rockspec_revision = "1"
4 | local github_account_name = "lunarmodules"
5 | local github_repo_name = package_name
6 | local git_checkout = package_version == "dev" and "master" or package_version
7 |
8 |
9 | package = package_name
10 | version = package_version .. "-" .. rockspec_revision
11 |
12 | source = {
13 | url = "git://github.com/"..github_account_name.."/"..github_repo_name..".git",
14 | branch = git_checkout
15 | }
16 |
17 | description = {
18 | summary = "Lua utility libraries loosely based on the Python standard libraries",
19 | homepage = "https://"..github_account_name..".github.io/"..github_repo_name,
20 | license = "MIT/X11",
21 | maintainer = "thijs@thijsschreijer.nl",
22 | detailed = [[
23 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
24 | iterating over directories, reading configuration files and the like. Provides functional operations
25 | on tables and sequences.
26 | ]]
27 | }
28 |
29 | dependencies = {
30 | "luafilesystem",
31 | }
32 |
33 | build = {
34 | type = "builtin",
35 | modules = {
36 | ["pl.strict"] = "lua/pl/strict.lua",
37 | ["pl.dir"] = "lua/pl/dir.lua",
38 | ["pl.operator"] = "lua/pl/operator.lua",
39 | ["pl.input"] = "lua/pl/input.lua",
40 | ["pl.config"] = "lua/pl/config.lua",
41 | ["pl.compat"] = "lua/pl/config.lua",
42 | ["pl.seq"] = "lua/pl/seq.lua",
43 | ["pl.stringio"] = "lua/pl/stringio.lua",
44 | ["pl.text"] = "lua/pl/text.lua",
45 | ["pl.test"] = "lua/pl/test.lua",
46 | ["pl.tablex"] = "lua/pl/tablex.lua",
47 | ["pl.app"] = "lua/pl/app.lua",
48 | ["pl.stringx"] = "lua/pl/stringx.lua",
49 | ["pl.lexer"] = "lua/pl/lexer.lua",
50 | ["pl.utils"] = "lua/pl/utils.lua",
51 | ["pl.sip"] = "lua/pl/sip.lua",
52 | ["pl.permute"] = "lua/pl/permute.lua",
53 | ["pl.pretty"] = "lua/pl/pretty.lua",
54 | ["pl.class"] = "lua/pl/class.lua",
55 | ["pl.List"] = "lua/pl/List.lua",
56 | ["pl.data"] = "lua/pl/data.lua",
57 | ["pl.Date"] = "lua/pl/Date.lua",
58 | ["pl.init"] = "lua/pl/init.lua",
59 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
60 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
61 | ["pl.path"] = "lua/pl/path.lua",
62 | ["pl.array2d"] = "lua/pl/array2d.lua",
63 | ["pl.func"] = "lua/pl/func.lua",
64 | ["pl.lapp"] = "lua/pl/lapp.lua",
65 | ["pl.file"] = "lua/pl/file.lua",
66 | ['pl.template'] = "lua/pl/template.lua",
67 | ["pl.Map"] = "lua/pl/Map.lua",
68 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
69 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
70 | ["pl.Set"] = "lua/pl/Set.lua",
71 | ["pl.xml"] = "lua/pl/xml.lua",
72 | ["pl.url"] = "lua/pl/url.lua",
73 | ["pl.import_into"] = "lua/pl/import_into.lua",
74 | ["pl.types"] = "lua/pl/types.lua",
75 | },
76 | copy_directories = {"docs", "tests"}
77 | }
78 |
79 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.12.0-2.rockspec:
--------------------------------------------------------------------------------
1 | local package_name = "penlight"
2 | local package_version = "1.12.0"
3 | local rockspec_revision = "2"
4 | local github_account_name = "lunarmodules"
5 | local github_repo_name = package_name
6 | local git_checkout = package_version == "dev" and "master" or package_version
7 |
8 |
9 | package = package_name
10 | version = package_version .. "-" .. rockspec_revision
11 |
12 | source = {
13 | url = "git+https://github.com/"..github_account_name.."/"..github_repo_name..".git",
14 | branch = git_checkout
15 | }
16 |
17 | description = {
18 | summary = "Lua utility libraries loosely based on the Python standard libraries",
19 | homepage = "https://"..github_account_name..".github.io/"..github_repo_name,
20 | license = "MIT/X11",
21 | maintainer = "thijs@thijsschreijer.nl",
22 | detailed = [[
23 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
24 | iterating over directories, reading configuration files and the like. Provides functional operations
25 | on tables and sequences.
26 | ]]
27 | }
28 |
29 | dependencies = {
30 | "luafilesystem",
31 | }
32 |
33 | build = {
34 | type = "builtin",
35 | modules = {
36 | ["pl.strict"] = "lua/pl/strict.lua",
37 | ["pl.dir"] = "lua/pl/dir.lua",
38 | ["pl.operator"] = "lua/pl/operator.lua",
39 | ["pl.input"] = "lua/pl/input.lua",
40 | ["pl.config"] = "lua/pl/config.lua",
41 | ["pl.compat"] = "lua/pl/config.lua",
42 | ["pl.seq"] = "lua/pl/seq.lua",
43 | ["pl.stringio"] = "lua/pl/stringio.lua",
44 | ["pl.text"] = "lua/pl/text.lua",
45 | ["pl.test"] = "lua/pl/test.lua",
46 | ["pl.tablex"] = "lua/pl/tablex.lua",
47 | ["pl.app"] = "lua/pl/app.lua",
48 | ["pl.stringx"] = "lua/pl/stringx.lua",
49 | ["pl.lexer"] = "lua/pl/lexer.lua",
50 | ["pl.utils"] = "lua/pl/utils.lua",
51 | ["pl.sip"] = "lua/pl/sip.lua",
52 | ["pl.permute"] = "lua/pl/permute.lua",
53 | ["pl.pretty"] = "lua/pl/pretty.lua",
54 | ["pl.class"] = "lua/pl/class.lua",
55 | ["pl.List"] = "lua/pl/List.lua",
56 | ["pl.data"] = "lua/pl/data.lua",
57 | ["pl.Date"] = "lua/pl/Date.lua",
58 | ["pl.init"] = "lua/pl/init.lua",
59 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
60 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
61 | ["pl.path"] = "lua/pl/path.lua",
62 | ["pl.array2d"] = "lua/pl/array2d.lua",
63 | ["pl.func"] = "lua/pl/func.lua",
64 | ["pl.lapp"] = "lua/pl/lapp.lua",
65 | ["pl.file"] = "lua/pl/file.lua",
66 | ['pl.template'] = "lua/pl/template.lua",
67 | ["pl.Map"] = "lua/pl/Map.lua",
68 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
69 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
70 | ["pl.Set"] = "lua/pl/Set.lua",
71 | ["pl.xml"] = "lua/pl/xml.lua",
72 | ["pl.url"] = "lua/pl/url.lua",
73 | ["pl.import_into"] = "lua/pl/import_into.lua",
74 | ["pl.types"] = "lua/pl/types.lua",
75 | },
76 | copy_directories = {"docs", "tests"}
77 | }
78 |
79 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.13.0-1.rockspec:
--------------------------------------------------------------------------------
1 | local package_name = "penlight"
2 | local package_version = "1.13.0"
3 | local rockspec_revision = "1"
4 | local github_account_name = "lunarmodules"
5 | local github_repo_name = package_name
6 | local git_checkout = package_version == "dev" and "master" or package_version
7 |
8 |
9 | package = package_name
10 | version = package_version .. "-" .. rockspec_revision
11 |
12 | source = {
13 | url = "git+https://github.com/"..github_account_name.."/"..github_repo_name..".git",
14 | branch = git_checkout
15 | }
16 |
17 | description = {
18 | summary = "Lua utility libraries loosely based on the Python standard libraries",
19 | homepage = "https://"..github_account_name..".github.io/"..github_repo_name,
20 | license = "MIT/X11",
21 | maintainer = "thijs@thijsschreijer.nl",
22 | detailed = [[
23 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
24 | iterating over directories, reading configuration files and the like. Provides functional operations
25 | on tables and sequences.
26 | ]]
27 | }
28 |
29 | dependencies = {
30 | "luafilesystem",
31 | }
32 |
33 | build = {
34 | type = "builtin",
35 | modules = {
36 | ["pl.strict"] = "lua/pl/strict.lua",
37 | ["pl.dir"] = "lua/pl/dir.lua",
38 | ["pl.operator"] = "lua/pl/operator.lua",
39 | ["pl.input"] = "lua/pl/input.lua",
40 | ["pl.config"] = "lua/pl/config.lua",
41 | ["pl.compat"] = "lua/pl/config.lua",
42 | ["pl.seq"] = "lua/pl/seq.lua",
43 | ["pl.stringio"] = "lua/pl/stringio.lua",
44 | ["pl.text"] = "lua/pl/text.lua",
45 | ["pl.test"] = "lua/pl/test.lua",
46 | ["pl.tablex"] = "lua/pl/tablex.lua",
47 | ["pl.app"] = "lua/pl/app.lua",
48 | ["pl.stringx"] = "lua/pl/stringx.lua",
49 | ["pl.lexer"] = "lua/pl/lexer.lua",
50 | ["pl.utils"] = "lua/pl/utils.lua",
51 | ["pl.sip"] = "lua/pl/sip.lua",
52 | ["pl.permute"] = "lua/pl/permute.lua",
53 | ["pl.pretty"] = "lua/pl/pretty.lua",
54 | ["pl.class"] = "lua/pl/class.lua",
55 | ["pl.List"] = "lua/pl/List.lua",
56 | ["pl.data"] = "lua/pl/data.lua",
57 | ["pl.Date"] = "lua/pl/Date.lua",
58 | ["pl.init"] = "lua/pl/init.lua",
59 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
60 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
61 | ["pl.path"] = "lua/pl/path.lua",
62 | ["pl.array2d"] = "lua/pl/array2d.lua",
63 | ["pl.func"] = "lua/pl/func.lua",
64 | ["pl.lapp"] = "lua/pl/lapp.lua",
65 | ["pl.file"] = "lua/pl/file.lua",
66 | ['pl.template'] = "lua/pl/template.lua",
67 | ["pl.Map"] = "lua/pl/Map.lua",
68 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
69 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
70 | ["pl.Set"] = "lua/pl/Set.lua",
71 | ["pl.xml"] = "lua/pl/xml.lua",
72 | ["pl.url"] = "lua/pl/url.lua",
73 | ["pl.import_into"] = "lua/pl/import_into.lua",
74 | ["pl.types"] = "lua/pl/types.lua",
75 | },
76 | copy_directories = {"docs", "tests"}
77 | }
78 |
79 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.13.1-1.rockspec:
--------------------------------------------------------------------------------
1 | local package_name = "penlight"
2 | local package_version = "1.13.1"
3 | local rockspec_revision = "1"
4 | local github_account_name = "lunarmodules"
5 | local github_repo_name = package_name
6 | local git_checkout = package_version == "dev" and "master" or package_version
7 |
8 |
9 | package = package_name
10 | version = package_version .. "-" .. rockspec_revision
11 |
12 | source = {
13 | url = "git+https://github.com/"..github_account_name.."/"..github_repo_name..".git",
14 | branch = git_checkout
15 | }
16 |
17 | description = {
18 | summary = "Lua utility libraries loosely based on the Python standard libraries",
19 | homepage = "https://"..github_account_name..".github.io/"..github_repo_name,
20 | license = "MIT/X11",
21 | maintainer = "thijs@thijsschreijer.nl",
22 | detailed = [[
23 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
24 | iterating over directories, reading configuration files and the like. Provides functional operations
25 | on tables and sequences.
26 | ]]
27 | }
28 |
29 | dependencies = {
30 | "luafilesystem",
31 | }
32 |
33 | build = {
34 | type = "builtin",
35 | modules = {
36 | ["pl.strict"] = "lua/pl/strict.lua",
37 | ["pl.dir"] = "lua/pl/dir.lua",
38 | ["pl.operator"] = "lua/pl/operator.lua",
39 | ["pl.input"] = "lua/pl/input.lua",
40 | ["pl.config"] = "lua/pl/config.lua",
41 | ["pl.compat"] = "lua/pl/config.lua",
42 | ["pl.seq"] = "lua/pl/seq.lua",
43 | ["pl.stringio"] = "lua/pl/stringio.lua",
44 | ["pl.text"] = "lua/pl/text.lua",
45 | ["pl.test"] = "lua/pl/test.lua",
46 | ["pl.tablex"] = "lua/pl/tablex.lua",
47 | ["pl.app"] = "lua/pl/app.lua",
48 | ["pl.stringx"] = "lua/pl/stringx.lua",
49 | ["pl.lexer"] = "lua/pl/lexer.lua",
50 | ["pl.utils"] = "lua/pl/utils.lua",
51 | ["pl.sip"] = "lua/pl/sip.lua",
52 | ["pl.permute"] = "lua/pl/permute.lua",
53 | ["pl.pretty"] = "lua/pl/pretty.lua",
54 | ["pl.class"] = "lua/pl/class.lua",
55 | ["pl.List"] = "lua/pl/List.lua",
56 | ["pl.data"] = "lua/pl/data.lua",
57 | ["pl.Date"] = "lua/pl/Date.lua",
58 | ["pl.init"] = "lua/pl/init.lua",
59 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
60 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
61 | ["pl.path"] = "lua/pl/path.lua",
62 | ["pl.array2d"] = "lua/pl/array2d.lua",
63 | ["pl.func"] = "lua/pl/func.lua",
64 | ["pl.lapp"] = "lua/pl/lapp.lua",
65 | ["pl.file"] = "lua/pl/file.lua",
66 | ['pl.template'] = "lua/pl/template.lua",
67 | ["pl.Map"] = "lua/pl/Map.lua",
68 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
69 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
70 | ["pl.Set"] = "lua/pl/Set.lua",
71 | ["pl.xml"] = "lua/pl/xml.lua",
72 | ["pl.url"] = "lua/pl/url.lua",
73 | ["pl.import_into"] = "lua/pl/import_into.lua",
74 | ["pl.types"] = "lua/pl/types.lua",
75 | },
76 | copy_directories = {"docs", "tests"}
77 | }
78 |
79 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.14.0-1.rockspec:
--------------------------------------------------------------------------------
1 | local package_name = "penlight"
2 | local package_version = "1.14.0"
3 | local rockspec_revision = "1"
4 | local github_account_name = "lunarmodules"
5 | local github_repo_name = package_name
6 | local git_checkout = package_version == "dev" and "master" or package_version
7 |
8 |
9 | rockspec_format = "3.0"
10 | package = package_name
11 | version = package_version .. "-" .. rockspec_revision
12 |
13 | source = {
14 | url = "git+https://github.com/"..github_account_name.."/"..github_repo_name..".git",
15 | branch = git_checkout
16 | }
17 |
18 | description = {
19 | summary = "Lua utility libraries loosely based on the Python standard libraries",
20 | detailed = [[
21 | Penlight is a set of pure Lua libraries focusing on input data handling
22 | (such as reading configuration files), functional programming
23 | (such as map, reduce, placeholder expressions,etc), and OS path management.
24 | Much of the functionality is inspired by the Python standard libraries.
25 | ]],
26 | license = "MIT/X11",
27 | homepage = "https://"..github_account_name..".github.io/"..github_repo_name,
28 | issues_url = "https://github.com/"..github_account_name.."/"..github_repo_name.."/issues",
29 | maintainer = "thijs@thijsschreijer.nl",
30 | }
31 |
32 | dependencies = {
33 | "lua >= 5.1",
34 | "luafilesystem"
35 | }
36 |
37 | test_dependencies = {
38 | "busted",
39 | }
40 |
41 | test = {
42 | type = "busted",
43 | }
44 |
45 | build = {
46 | type = "builtin",
47 | modules = {
48 | ["pl"] = "lua/pl/init.lua",
49 | ["pl.strict"] = "lua/pl/strict.lua",
50 | ["pl.dir"] = "lua/pl/dir.lua",
51 | ["pl.operator"] = "lua/pl/operator.lua",
52 | ["pl.input"] = "lua/pl/input.lua",
53 | ["pl.config"] = "lua/pl/config.lua",
54 | ["pl.seq"] = "lua/pl/seq.lua",
55 | ["pl.stringio"] = "lua/pl/stringio.lua",
56 | ["pl.text"] = "lua/pl/text.lua",
57 | ["pl.test"] = "lua/pl/test.lua",
58 | ["pl.tablex"] = "lua/pl/tablex.lua",
59 | ["pl.app"] = "lua/pl/app.lua",
60 | ["pl.stringx"] = "lua/pl/stringx.lua",
61 | ["pl.lexer"] = "lua/pl/lexer.lua",
62 | ["pl.utils"] = "lua/pl/utils.lua",
63 | ["pl.compat"] = "lua/pl/compat.lua",
64 | ["pl.sip"] = "lua/pl/sip.lua",
65 | ["pl.permute"] = "lua/pl/permute.lua",
66 | ["pl.pretty"] = "lua/pl/pretty.lua",
67 | ["pl.class"] = "lua/pl/class.lua",
68 | ["pl.List"] = "lua/pl/List.lua",
69 | ["pl.data"] = "lua/pl/data.lua",
70 | ["pl.Date"] = "lua/pl/Date.lua",
71 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
72 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
73 | ["pl.path"] = "lua/pl/path.lua",
74 | ["pl.array2d"] = "lua/pl/array2d.lua",
75 | ["pl.func"] = "lua/pl/func.lua",
76 | ["pl.lapp"] = "lua/pl/lapp.lua",
77 | ["pl.file"] = "lua/pl/file.lua",
78 | ['pl.template'] = "lua/pl/template.lua",
79 | ["pl.Map"] = "lua/pl/Map.lua",
80 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
81 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
82 | ["pl.Set"] = "lua/pl/Set.lua",
83 | ["pl.xml"] = "lua/pl/xml.lua",
84 | ["pl.url"] = "lua/pl/url.lua",
85 | ["pl.types"] = "lua/pl/types.lua",
86 | ["pl.import_into"] = "lua/pl/import_into.lua"
87 | },
88 | copy_directories = {"docs", "tests"}
89 | }
90 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.14.0-2.rockspec:
--------------------------------------------------------------------------------
1 | local package_name = "penlight"
2 | local package_version = "1.14.0"
3 | local rockspec_revision = "2"
4 | local github_account_name = "lunarmodules"
5 | local github_repo_name = package_name
6 | local git_checkout = package_version == "dev" and "master" or package_version
7 |
8 |
9 | package = package_name
10 | version = package_version .. "-" .. rockspec_revision
11 |
12 | source = {
13 | url = "git+https://github.com/"..github_account_name.."/"..github_repo_name..".git",
14 | branch = git_checkout
15 | }
16 |
17 | description = {
18 | summary = "Lua utility libraries loosely based on the Python standard libraries",
19 | homepage = "https://"..github_account_name..".github.io/"..github_repo_name,
20 | license = "MIT/X11",
21 | maintainer = "thijs@thijsschreijer.nl",
22 | detailed = [[
23 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
24 | iterating over directories, reading configuration files and the like. Provides functional operations
25 | on tables and sequences.
26 | ]]
27 | }
28 |
29 | dependencies = {
30 | "luafilesystem",
31 | }
32 |
33 | build = {
34 | type = "builtin",
35 | modules = {
36 | ["pl.strict"] = "lua/pl/strict.lua",
37 | ["pl.dir"] = "lua/pl/dir.lua",
38 | ["pl.operator"] = "lua/pl/operator.lua",
39 | ["pl.input"] = "lua/pl/input.lua",
40 | ["pl.config"] = "lua/pl/config.lua",
41 | ["pl.compat"] = "lua/pl/config.lua",
42 | ["pl.seq"] = "lua/pl/seq.lua",
43 | ["pl.stringio"] = "lua/pl/stringio.lua",
44 | ["pl.text"] = "lua/pl/text.lua",
45 | ["pl.test"] = "lua/pl/test.lua",
46 | ["pl.tablex"] = "lua/pl/tablex.lua",
47 | ["pl.app"] = "lua/pl/app.lua",
48 | ["pl.stringx"] = "lua/pl/stringx.lua",
49 | ["pl.lexer"] = "lua/pl/lexer.lua",
50 | ["pl.utils"] = "lua/pl/utils.lua",
51 | ["pl.sip"] = "lua/pl/sip.lua",
52 | ["pl.permute"] = "lua/pl/permute.lua",
53 | ["pl.pretty"] = "lua/pl/pretty.lua",
54 | ["pl.class"] = "lua/pl/class.lua",
55 | ["pl.List"] = "lua/pl/List.lua",
56 | ["pl.data"] = "lua/pl/data.lua",
57 | ["pl.Date"] = "lua/pl/Date.lua",
58 | ["pl.init"] = "lua/pl/init.lua",
59 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
60 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
61 | ["pl.path"] = "lua/pl/path.lua",
62 | ["pl.array2d"] = "lua/pl/array2d.lua",
63 | ["pl.func"] = "lua/pl/func.lua",
64 | ["pl.lapp"] = "lua/pl/lapp.lua",
65 | ["pl.file"] = "lua/pl/file.lua",
66 | ['pl.template'] = "lua/pl/template.lua",
67 | ["pl.Map"] = "lua/pl/Map.lua",
68 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
69 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
70 | ["pl.Set"] = "lua/pl/Set.lua",
71 | ["pl.xml"] = "lua/pl/xml.lua",
72 | ["pl.url"] = "lua/pl/url.lua",
73 | ["pl.import_into"] = "lua/pl/import_into.lua",
74 | ["pl.types"] = "lua/pl/types.lua",
75 | },
76 | copy_directories = {"docs", "tests"}
77 | }
78 |
79 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.14.0-3.rockspec:
--------------------------------------------------------------------------------
1 | local package_name = "penlight"
2 | local package_version = "1.14.0"
3 | local rockspec_revision = "3"
4 | local github_account_name = "lunarmodules"
5 | local github_repo_name = package_name
6 | local git_checkout = package_version == "dev" and "master" or package_version
7 |
8 |
9 | package = package_name
10 | version = package_version .. "-" .. rockspec_revision
11 |
12 | source = {
13 | url = "git+https://github.com/"..github_account_name.."/"..github_repo_name..".git",
14 | branch = git_checkout
15 | }
16 |
17 | description = {
18 | summary = "Lua utility libraries loosely based on the Python standard libraries",
19 | homepage = "https://"..github_account_name..".github.io/"..github_repo_name,
20 | license = "MIT/X11",
21 | maintainer = "thijs@thijsschreijer.nl",
22 | detailed = [[
23 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
24 | iterating over directories, reading configuration files and the like. Provides functional operations
25 | on tables and sequences.
26 | ]]
27 | }
28 |
29 | dependencies = {
30 | "luafilesystem",
31 | }
32 |
33 | build = {
34 | type = "builtin",
35 | modules = {
36 | ["pl.app"] = "lua/pl/app.lua",
37 | ["pl.array2d"] = "lua/pl/array2d.lua",
38 | ["pl.class"] = "lua/pl/class.lua",
39 | ["pl.compat"] = "lua/pl/compat.lua",
40 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
41 | ["pl.config"] = "lua/pl/config.lua",
42 | ["pl.data"] = "lua/pl/data.lua",
43 | ["pl.Date"] = "lua/pl/Date.lua",
44 | ["pl.dir"] = "lua/pl/dir.lua",
45 | ["pl.file"] = "lua/pl/file.lua",
46 | ["pl.func"] = "lua/pl/func.lua",
47 | ["pl.import_into"] = "lua/pl/import_into.lua",
48 | ["pl.init"] = "lua/pl/init.lua",
49 | ["pl.input"] = "lua/pl/input.lua",
50 | ["pl.lapp"] = "lua/pl/lapp.lua",
51 | ["pl.lexer"] = "lua/pl/lexer.lua",
52 | ["pl.List"] = "lua/pl/List.lua",
53 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
54 | ["pl.Map"] = "lua/pl/Map.lua",
55 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
56 | ["pl.operator"] = "lua/pl/operator.lua",
57 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
58 | ["pl.path"] = "lua/pl/path.lua",
59 | ["pl.permute"] = "lua/pl/permute.lua",
60 | ["pl.pretty"] = "lua/pl/pretty.lua",
61 | ["pl.seq"] = "lua/pl/seq.lua",
62 | ["pl.Set"] = "lua/pl/Set.lua",
63 | ["pl.sip"] = "lua/pl/sip.lua",
64 | ["pl.strict"] = "lua/pl/strict.lua",
65 | ["pl.stringio"] = "lua/pl/stringio.lua",
66 | ["pl.stringx"] = "lua/pl/stringx.lua",
67 | ["pl.tablex"] = "lua/pl/tablex.lua",
68 | ["pl.test"] = "lua/pl/test.lua",
69 | ["pl.text"] = "lua/pl/text.lua",
70 | ["pl.types"] = "lua/pl/types.lua",
71 | ["pl.url"] = "lua/pl/url.lua",
72 | ["pl.utils"] = "lua/pl/utils.lua",
73 | ["pl.xml"] = "lua/pl/xml.lua",
74 | ['pl.template'] = "lua/pl/template.lua",
75 | },
76 | copy_directories = {"docs", "tests"}
77 | }
78 |
79 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.6.0-1.rockspec:
--------------------------------------------------------------------------------
1 | package = "penlight"
2 | version = "1.6.0-1"
3 |
4 | source = {
5 | url = "git://github.com/Tieske/Penlight.git",
6 | branch = "1.6.0"
7 | }
8 |
9 | description = {
10 | summary = "Lua utility libraries loosely based on the Python standard libraries",
11 | homepage = "http://tieske.github.io/Penlight",
12 | license = "MIT/X11",
13 | maintainer = "thijs@thijsschreijer.nl",
14 | detailed = [[
15 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
16 | iterating over directories, reading configuration files and the like. Provides functional operations
17 | on tables and sequences.
18 | ]]
19 | }
20 |
21 | dependencies = {
22 | "luafilesystem",
23 | }
24 |
25 | build = {
26 | type = "builtin",
27 | modules = {
28 | ["pl.strict"] = "lua/pl/strict.lua",
29 | ["pl.dir"] = "lua/pl/dir.lua",
30 | ["pl.operator"] = "lua/pl/operator.lua",
31 | ["pl.input"] = "lua/pl/input.lua",
32 | ["pl.config"] = "lua/pl/config.lua",
33 | ["pl.compat"] = "lua/pl/config.lua",
34 | ["pl.seq"] = "lua/pl/seq.lua",
35 | ["pl.stringio"] = "lua/pl/stringio.lua",
36 | ["pl.text"] = "lua/pl/text.lua",
37 | ["pl.test"] = "lua/pl/test.lua",
38 | ["pl.tablex"] = "lua/pl/tablex.lua",
39 | ["pl.app"] = "lua/pl/app.lua",
40 | ["pl.stringx"] = "lua/pl/stringx.lua",
41 | ["pl.lexer"] = "lua/pl/lexer.lua",
42 | ["pl.utils"] = "lua/pl/utils.lua",
43 | ["pl.sip"] = "lua/pl/sip.lua",
44 | ["pl.permute"] = "lua/pl/permute.lua",
45 | ["pl.pretty"] = "lua/pl/pretty.lua",
46 | ["pl.class"] = "lua/pl/class.lua",
47 | ["pl.List"] = "lua/pl/List.lua",
48 | ["pl.data"] = "lua/pl/data.lua",
49 | ["pl.Date"] = "lua/pl/Date.lua",
50 | ["pl.init"] = "lua/pl/init.lua",
51 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
52 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
53 | ["pl.path"] = "lua/pl/path.lua",
54 | ["pl.array2d"] = "lua/pl/array2d.lua",
55 | ["pl.func"] = "lua/pl/func.lua",
56 | ["pl.lapp"] = "lua/pl/lapp.lua",
57 | ["pl.file"] = "lua/pl/file.lua",
58 | ['pl.template'] = "lua/pl/template.lua",
59 | ["pl.Map"] = "lua/pl/Map.lua",
60 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
61 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
62 | ["pl.Set"] = "lua/pl/Set.lua",
63 | ["pl.xml"] = "lua/pl/xml.lua",
64 | ["pl.url"] = "lua/pl/url.lua",
65 | ["pl.import_into"] = "lua/pl/import_into.lua",
66 | ["pl.types"] = "lua/pl/types.lua",
67 | },
68 | copy_directories = {"docs", "tests"}
69 | }
70 |
71 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.6.0-2.rockspec:
--------------------------------------------------------------------------------
1 | package = "penlight"
2 | version = "1.6.0-2"
3 |
4 | source = {
5 | url = "git+https://github.com/Tieske/Penlight.git",
6 | branch = "1.6.0"
7 | }
8 |
9 | description = {
10 | summary = "Lua utility libraries loosely based on the Python standard libraries",
11 | homepage = "http://tieske.github.io/Penlight",
12 | license = "MIT/X11",
13 | maintainer = "thijs@thijsschreijer.nl",
14 | detailed = [[
15 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
16 | iterating over directories, reading configuration files and the like. Provides functional operations
17 | on tables and sequences.
18 | ]]
19 | }
20 |
21 | dependencies = {
22 | "luafilesystem",
23 | }
24 |
25 | build = {
26 | type = "builtin",
27 | modules = {
28 | ["pl.strict"] = "lua/pl/strict.lua",
29 | ["pl.dir"] = "lua/pl/dir.lua",
30 | ["pl.operator"] = "lua/pl/operator.lua",
31 | ["pl.input"] = "lua/pl/input.lua",
32 | ["pl.config"] = "lua/pl/config.lua",
33 | ["pl.compat"] = "lua/pl/config.lua",
34 | ["pl.seq"] = "lua/pl/seq.lua",
35 | ["pl.stringio"] = "lua/pl/stringio.lua",
36 | ["pl.text"] = "lua/pl/text.lua",
37 | ["pl.test"] = "lua/pl/test.lua",
38 | ["pl.tablex"] = "lua/pl/tablex.lua",
39 | ["pl.app"] = "lua/pl/app.lua",
40 | ["pl.stringx"] = "lua/pl/stringx.lua",
41 | ["pl.lexer"] = "lua/pl/lexer.lua",
42 | ["pl.utils"] = "lua/pl/utils.lua",
43 | ["pl.sip"] = "lua/pl/sip.lua",
44 | ["pl.permute"] = "lua/pl/permute.lua",
45 | ["pl.pretty"] = "lua/pl/pretty.lua",
46 | ["pl.class"] = "lua/pl/class.lua",
47 | ["pl.List"] = "lua/pl/List.lua",
48 | ["pl.data"] = "lua/pl/data.lua",
49 | ["pl.Date"] = "lua/pl/Date.lua",
50 | ["pl.init"] = "lua/pl/init.lua",
51 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
52 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
53 | ["pl.path"] = "lua/pl/path.lua",
54 | ["pl.array2d"] = "lua/pl/array2d.lua",
55 | ["pl.func"] = "lua/pl/func.lua",
56 | ["pl.lapp"] = "lua/pl/lapp.lua",
57 | ["pl.file"] = "lua/pl/file.lua",
58 | ['pl.template'] = "lua/pl/template.lua",
59 | ["pl.Map"] = "lua/pl/Map.lua",
60 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
61 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
62 | ["pl.Set"] = "lua/pl/Set.lua",
63 | ["pl.xml"] = "lua/pl/xml.lua",
64 | ["pl.url"] = "lua/pl/url.lua",
65 | ["pl.import_into"] = "lua/pl/import_into.lua",
66 | ["pl.types"] = "lua/pl/types.lua",
67 | },
68 | copy_directories = {"docs", "tests"}
69 | }
70 |
71 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.7.0-1.rockspec:
--------------------------------------------------------------------------------
1 | package = "penlight"
2 | version = "1.7.0-1"
3 |
4 | source = {
5 | url = "git://github.com/Tieske/Penlight.git",
6 | branch = "1.7.0"
7 | }
8 |
9 | description = {
10 | summary = "Lua utility libraries loosely based on the Python standard libraries",
11 | homepage = "http://tieske.github.io/Penlight",
12 | license = "MIT/X11",
13 | maintainer = "thijs@thijsschreijer.nl",
14 | detailed = [[
15 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
16 | iterating over directories, reading configuration files and the like. Provides functional operations
17 | on tables and sequences.
18 | ]]
19 | }
20 |
21 | dependencies = {
22 | "luafilesystem",
23 | }
24 |
25 | build = {
26 | type = "builtin",
27 | modules = {
28 | ["pl.strict"] = "lua/pl/strict.lua",
29 | ["pl.dir"] = "lua/pl/dir.lua",
30 | ["pl.operator"] = "lua/pl/operator.lua",
31 | ["pl.input"] = "lua/pl/input.lua",
32 | ["pl.config"] = "lua/pl/config.lua",
33 | ["pl.compat"] = "lua/pl/config.lua",
34 | ["pl.seq"] = "lua/pl/seq.lua",
35 | ["pl.stringio"] = "lua/pl/stringio.lua",
36 | ["pl.text"] = "lua/pl/text.lua",
37 | ["pl.test"] = "lua/pl/test.lua",
38 | ["pl.tablex"] = "lua/pl/tablex.lua",
39 | ["pl.app"] = "lua/pl/app.lua",
40 | ["pl.stringx"] = "lua/pl/stringx.lua",
41 | ["pl.lexer"] = "lua/pl/lexer.lua",
42 | ["pl.utils"] = "lua/pl/utils.lua",
43 | ["pl.sip"] = "lua/pl/sip.lua",
44 | ["pl.permute"] = "lua/pl/permute.lua",
45 | ["pl.pretty"] = "lua/pl/pretty.lua",
46 | ["pl.class"] = "lua/pl/class.lua",
47 | ["pl.List"] = "lua/pl/List.lua",
48 | ["pl.data"] = "lua/pl/data.lua",
49 | ["pl.Date"] = "lua/pl/Date.lua",
50 | ["pl.init"] = "lua/pl/init.lua",
51 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
52 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
53 | ["pl.path"] = "lua/pl/path.lua",
54 | ["pl.array2d"] = "lua/pl/array2d.lua",
55 | ["pl.func"] = "lua/pl/func.lua",
56 | ["pl.lapp"] = "lua/pl/lapp.lua",
57 | ["pl.file"] = "lua/pl/file.lua",
58 | ['pl.template'] = "lua/pl/template.lua",
59 | ["pl.Map"] = "lua/pl/Map.lua",
60 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
61 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
62 | ["pl.Set"] = "lua/pl/Set.lua",
63 | ["pl.xml"] = "lua/pl/xml.lua",
64 | ["pl.url"] = "lua/pl/url.lua",
65 | ["pl.import_into"] = "lua/pl/import_into.lua",
66 | ["pl.types"] = "lua/pl/types.lua",
67 | },
68 | copy_directories = {"docs", "tests"}
69 | }
70 |
71 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.7.0-2.rockspec:
--------------------------------------------------------------------------------
1 | package = "penlight"
2 | version = "1.7.0-2"
3 |
4 | source = {
5 | url = "git+https://github.com/Tieske/Penlight.git",
6 | branch = "1.7.0"
7 | }
8 |
9 | description = {
10 | summary = "Lua utility libraries loosely based on the Python standard libraries",
11 | homepage = "http://tieske.github.io/Penlight",
12 | license = "MIT/X11",
13 | maintainer = "thijs@thijsschreijer.nl",
14 | detailed = [[
15 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
16 | iterating over directories, reading configuration files and the like. Provides functional operations
17 | on tables and sequences.
18 | ]]
19 | }
20 |
21 | dependencies = {
22 | "luafilesystem",
23 | }
24 |
25 | build = {
26 | type = "builtin",
27 | modules = {
28 | ["pl.strict"] = "lua/pl/strict.lua",
29 | ["pl.dir"] = "lua/pl/dir.lua",
30 | ["pl.operator"] = "lua/pl/operator.lua",
31 | ["pl.input"] = "lua/pl/input.lua",
32 | ["pl.config"] = "lua/pl/config.lua",
33 | ["pl.compat"] = "lua/pl/config.lua",
34 | ["pl.seq"] = "lua/pl/seq.lua",
35 | ["pl.stringio"] = "lua/pl/stringio.lua",
36 | ["pl.text"] = "lua/pl/text.lua",
37 | ["pl.test"] = "lua/pl/test.lua",
38 | ["pl.tablex"] = "lua/pl/tablex.lua",
39 | ["pl.app"] = "lua/pl/app.lua",
40 | ["pl.stringx"] = "lua/pl/stringx.lua",
41 | ["pl.lexer"] = "lua/pl/lexer.lua",
42 | ["pl.utils"] = "lua/pl/utils.lua",
43 | ["pl.sip"] = "lua/pl/sip.lua",
44 | ["pl.permute"] = "lua/pl/permute.lua",
45 | ["pl.pretty"] = "lua/pl/pretty.lua",
46 | ["pl.class"] = "lua/pl/class.lua",
47 | ["pl.List"] = "lua/pl/List.lua",
48 | ["pl.data"] = "lua/pl/data.lua",
49 | ["pl.Date"] = "lua/pl/Date.lua",
50 | ["pl.init"] = "lua/pl/init.lua",
51 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
52 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
53 | ["pl.path"] = "lua/pl/path.lua",
54 | ["pl.array2d"] = "lua/pl/array2d.lua",
55 | ["pl.func"] = "lua/pl/func.lua",
56 | ["pl.lapp"] = "lua/pl/lapp.lua",
57 | ["pl.file"] = "lua/pl/file.lua",
58 | ['pl.template'] = "lua/pl/template.lua",
59 | ["pl.Map"] = "lua/pl/Map.lua",
60 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
61 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
62 | ["pl.Set"] = "lua/pl/Set.lua",
63 | ["pl.xml"] = "lua/pl/xml.lua",
64 | ["pl.url"] = "lua/pl/url.lua",
65 | ["pl.import_into"] = "lua/pl/import_into.lua",
66 | ["pl.types"] = "lua/pl/types.lua",
67 | },
68 | copy_directories = {"docs", "tests"}
69 | }
70 |
71 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.8.0-1.rockspec:
--------------------------------------------------------------------------------
1 | package = "penlight"
2 | version = "1.8.0-1"
3 |
4 | source = {
5 | url = "git://github.com/Tieske/Penlight.git",
6 | branch = "1.8.0"
7 | }
8 |
9 | description = {
10 | summary = "Lua utility libraries loosely based on the Python standard libraries",
11 | homepage = "http://tieske.github.io/Penlight",
12 | license = "MIT/X11",
13 | maintainer = "thijs@thijsschreijer.nl",
14 | detailed = [[
15 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
16 | iterating over directories, reading configuration files and the like. Provides functional operations
17 | on tables and sequences.
18 | ]]
19 | }
20 |
21 | dependencies = {
22 | "luafilesystem",
23 | }
24 |
25 | build = {
26 | type = "builtin",
27 | modules = {
28 | ["pl.strict"] = "lua/pl/strict.lua",
29 | ["pl.dir"] = "lua/pl/dir.lua",
30 | ["pl.operator"] = "lua/pl/operator.lua",
31 | ["pl.input"] = "lua/pl/input.lua",
32 | ["pl.config"] = "lua/pl/config.lua",
33 | ["pl.compat"] = "lua/pl/config.lua",
34 | ["pl.seq"] = "lua/pl/seq.lua",
35 | ["pl.stringio"] = "lua/pl/stringio.lua",
36 | ["pl.text"] = "lua/pl/text.lua",
37 | ["pl.test"] = "lua/pl/test.lua",
38 | ["pl.tablex"] = "lua/pl/tablex.lua",
39 | ["pl.app"] = "lua/pl/app.lua",
40 | ["pl.stringx"] = "lua/pl/stringx.lua",
41 | ["pl.lexer"] = "lua/pl/lexer.lua",
42 | ["pl.utils"] = "lua/pl/utils.lua",
43 | ["pl.sip"] = "lua/pl/sip.lua",
44 | ["pl.permute"] = "lua/pl/permute.lua",
45 | ["pl.pretty"] = "lua/pl/pretty.lua",
46 | ["pl.class"] = "lua/pl/class.lua",
47 | ["pl.List"] = "lua/pl/List.lua",
48 | ["pl.data"] = "lua/pl/data.lua",
49 | ["pl.Date"] = "lua/pl/Date.lua",
50 | ["pl.init"] = "lua/pl/init.lua",
51 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
52 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
53 | ["pl.path"] = "lua/pl/path.lua",
54 | ["pl.array2d"] = "lua/pl/array2d.lua",
55 | ["pl.func"] = "lua/pl/func.lua",
56 | ["pl.lapp"] = "lua/pl/lapp.lua",
57 | ["pl.file"] = "lua/pl/file.lua",
58 | ['pl.template'] = "lua/pl/template.lua",
59 | ["pl.Map"] = "lua/pl/Map.lua",
60 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
61 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
62 | ["pl.Set"] = "lua/pl/Set.lua",
63 | ["pl.xml"] = "lua/pl/xml.lua",
64 | ["pl.url"] = "lua/pl/url.lua",
65 | ["pl.import_into"] = "lua/pl/import_into.lua",
66 | ["pl.types"] = "lua/pl/types.lua",
67 | },
68 | copy_directories = {"docs", "tests"}
69 | }
70 |
71 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.8.0-2.rockspec:
--------------------------------------------------------------------------------
1 | package = "penlight"
2 | version = "1.8.0-2"
3 |
4 | source = {
5 | url = "git+https://github.com/Tieske/Penlight.git",
6 | branch = "1.8.0"
7 | }
8 |
9 | description = {
10 | summary = "Lua utility libraries loosely based on the Python standard libraries",
11 | homepage = "http://tieske.github.io/Penlight",
12 | license = "MIT/X11",
13 | maintainer = "thijs@thijsschreijer.nl",
14 | detailed = [[
15 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
16 | iterating over directories, reading configuration files and the like. Provides functional operations
17 | on tables and sequences.
18 | ]]
19 | }
20 |
21 | dependencies = {
22 | "luafilesystem",
23 | }
24 |
25 | build = {
26 | type = "builtin",
27 | modules = {
28 | ["pl.strict"] = "lua/pl/strict.lua",
29 | ["pl.dir"] = "lua/pl/dir.lua",
30 | ["pl.operator"] = "lua/pl/operator.lua",
31 | ["pl.input"] = "lua/pl/input.lua",
32 | ["pl.config"] = "lua/pl/config.lua",
33 | ["pl.compat"] = "lua/pl/config.lua",
34 | ["pl.seq"] = "lua/pl/seq.lua",
35 | ["pl.stringio"] = "lua/pl/stringio.lua",
36 | ["pl.text"] = "lua/pl/text.lua",
37 | ["pl.test"] = "lua/pl/test.lua",
38 | ["pl.tablex"] = "lua/pl/tablex.lua",
39 | ["pl.app"] = "lua/pl/app.lua",
40 | ["pl.stringx"] = "lua/pl/stringx.lua",
41 | ["pl.lexer"] = "lua/pl/lexer.lua",
42 | ["pl.utils"] = "lua/pl/utils.lua",
43 | ["pl.sip"] = "lua/pl/sip.lua",
44 | ["pl.permute"] = "lua/pl/permute.lua",
45 | ["pl.pretty"] = "lua/pl/pretty.lua",
46 | ["pl.class"] = "lua/pl/class.lua",
47 | ["pl.List"] = "lua/pl/List.lua",
48 | ["pl.data"] = "lua/pl/data.lua",
49 | ["pl.Date"] = "lua/pl/Date.lua",
50 | ["pl.init"] = "lua/pl/init.lua",
51 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
52 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
53 | ["pl.path"] = "lua/pl/path.lua",
54 | ["pl.array2d"] = "lua/pl/array2d.lua",
55 | ["pl.func"] = "lua/pl/func.lua",
56 | ["pl.lapp"] = "lua/pl/lapp.lua",
57 | ["pl.file"] = "lua/pl/file.lua",
58 | ['pl.template'] = "lua/pl/template.lua",
59 | ["pl.Map"] = "lua/pl/Map.lua",
60 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
61 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
62 | ["pl.Set"] = "lua/pl/Set.lua",
63 | ["pl.xml"] = "lua/pl/xml.lua",
64 | ["pl.url"] = "lua/pl/url.lua",
65 | ["pl.import_into"] = "lua/pl/import_into.lua",
66 | ["pl.types"] = "lua/pl/types.lua",
67 | },
68 | copy_directories = {"docs", "tests"}
69 | }
70 |
71 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.8.1-1.rockspec:
--------------------------------------------------------------------------------
1 | package = "penlight"
2 | version = "1.8.1-1"
3 |
4 | source = {
5 | url = "git://github.com/lunarmodules/Penlight.git",
6 | tag = "1.8.1"
7 | }
8 |
9 | description = {
10 | summary = "Lua utility libraries loosely based on the Python standard libraries",
11 | homepage = "https://lunarmodules.github.io/Penlight",
12 | license = "MIT/X11",
13 | maintainer = "thijs@thijsschreijer.nl",
14 | detailed = [[
15 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
16 | iterating over directories, reading configuration files and the like. Provides functional operations
17 | on tables and sequences.
18 | ]]
19 | }
20 |
21 | dependencies = {
22 | "luafilesystem",
23 | }
24 |
25 | build = {
26 | type = "builtin",
27 | modules = {
28 | ["pl.strict"] = "lua/pl/strict.lua",
29 | ["pl.dir"] = "lua/pl/dir.lua",
30 | ["pl.operator"] = "lua/pl/operator.lua",
31 | ["pl.input"] = "lua/pl/input.lua",
32 | ["pl.config"] = "lua/pl/config.lua",
33 | ["pl.compat"] = "lua/pl/config.lua",
34 | ["pl.seq"] = "lua/pl/seq.lua",
35 | ["pl.stringio"] = "lua/pl/stringio.lua",
36 | ["pl.text"] = "lua/pl/text.lua",
37 | ["pl.test"] = "lua/pl/test.lua",
38 | ["pl.tablex"] = "lua/pl/tablex.lua",
39 | ["pl.app"] = "lua/pl/app.lua",
40 | ["pl.stringx"] = "lua/pl/stringx.lua",
41 | ["pl.lexer"] = "lua/pl/lexer.lua",
42 | ["pl.utils"] = "lua/pl/utils.lua",
43 | ["pl.sip"] = "lua/pl/sip.lua",
44 | ["pl.permute"] = "lua/pl/permute.lua",
45 | ["pl.pretty"] = "lua/pl/pretty.lua",
46 | ["pl.class"] = "lua/pl/class.lua",
47 | ["pl.List"] = "lua/pl/List.lua",
48 | ["pl.data"] = "lua/pl/data.lua",
49 | ["pl.Date"] = "lua/pl/Date.lua",
50 | ["pl.init"] = "lua/pl/init.lua",
51 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
52 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
53 | ["pl.path"] = "lua/pl/path.lua",
54 | ["pl.array2d"] = "lua/pl/array2d.lua",
55 | ["pl.func"] = "lua/pl/func.lua",
56 | ["pl.lapp"] = "lua/pl/lapp.lua",
57 | ["pl.file"] = "lua/pl/file.lua",
58 | ['pl.template'] = "lua/pl/template.lua",
59 | ["pl.Map"] = "lua/pl/Map.lua",
60 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
61 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
62 | ["pl.Set"] = "lua/pl/Set.lua",
63 | ["pl.xml"] = "lua/pl/xml.lua",
64 | ["pl.url"] = "lua/pl/url.lua",
65 | ["pl.import_into"] = "lua/pl/import_into.lua",
66 | ["pl.types"] = "lua/pl/types.lua",
67 | },
68 | copy_directories = {"docs", "tests"}
69 | }
70 |
71 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.8.1-2.rockspec:
--------------------------------------------------------------------------------
1 | package = "penlight"
2 | version = "1.8.1-2"
3 |
4 | source = {
5 | url = "git+https://github.com/lunarmodules/Penlight.git",
6 | tag = "1.8.1"
7 | }
8 |
9 | description = {
10 | summary = "Lua utility libraries loosely based on the Python standard libraries",
11 | homepage = "https://lunarmodules.github.io/Penlight",
12 | license = "MIT/X11",
13 | maintainer = "thijs@thijsschreijer.nl",
14 | detailed = [[
15 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
16 | iterating over directories, reading configuration files and the like. Provides functional operations
17 | on tables and sequences.
18 | ]]
19 | }
20 |
21 | dependencies = {
22 | "luafilesystem",
23 | }
24 |
25 | build = {
26 | type = "builtin",
27 | modules = {
28 | ["pl.strict"] = "lua/pl/strict.lua",
29 | ["pl.dir"] = "lua/pl/dir.lua",
30 | ["pl.operator"] = "lua/pl/operator.lua",
31 | ["pl.input"] = "lua/pl/input.lua",
32 | ["pl.config"] = "lua/pl/config.lua",
33 | ["pl.compat"] = "lua/pl/config.lua",
34 | ["pl.seq"] = "lua/pl/seq.lua",
35 | ["pl.stringio"] = "lua/pl/stringio.lua",
36 | ["pl.text"] = "lua/pl/text.lua",
37 | ["pl.test"] = "lua/pl/test.lua",
38 | ["pl.tablex"] = "lua/pl/tablex.lua",
39 | ["pl.app"] = "lua/pl/app.lua",
40 | ["pl.stringx"] = "lua/pl/stringx.lua",
41 | ["pl.lexer"] = "lua/pl/lexer.lua",
42 | ["pl.utils"] = "lua/pl/utils.lua",
43 | ["pl.sip"] = "lua/pl/sip.lua",
44 | ["pl.permute"] = "lua/pl/permute.lua",
45 | ["pl.pretty"] = "lua/pl/pretty.lua",
46 | ["pl.class"] = "lua/pl/class.lua",
47 | ["pl.List"] = "lua/pl/List.lua",
48 | ["pl.data"] = "lua/pl/data.lua",
49 | ["pl.Date"] = "lua/pl/Date.lua",
50 | ["pl.init"] = "lua/pl/init.lua",
51 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
52 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
53 | ["pl.path"] = "lua/pl/path.lua",
54 | ["pl.array2d"] = "lua/pl/array2d.lua",
55 | ["pl.func"] = "lua/pl/func.lua",
56 | ["pl.lapp"] = "lua/pl/lapp.lua",
57 | ["pl.file"] = "lua/pl/file.lua",
58 | ['pl.template'] = "lua/pl/template.lua",
59 | ["pl.Map"] = "lua/pl/Map.lua",
60 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
61 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
62 | ["pl.Set"] = "lua/pl/Set.lua",
63 | ["pl.xml"] = "lua/pl/xml.lua",
64 | ["pl.url"] = "lua/pl/url.lua",
65 | ["pl.import_into"] = "lua/pl/import_into.lua",
66 | ["pl.types"] = "lua/pl/types.lua",
67 | },
68 | copy_directories = {"docs", "tests"}
69 | }
70 |
71 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.9.1-1.rockspec:
--------------------------------------------------------------------------------
1 | package = "penlight"
2 | version = "1.9.1-1"
3 |
4 | source = {
5 | url = "git://github.com/lunarmodules/Penlight.git",
6 | tag = "1.9.1"
7 | }
8 |
9 | description = {
10 | summary = "Lua utility libraries loosely based on the Python standard libraries",
11 | homepage = "https://lunarmodules.github.io/Penlight",
12 | license = "MIT/X11",
13 | maintainer = "thijs@thijsschreijer.nl",
14 | detailed = [[
15 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
16 | iterating over directories, reading configuration files and the like. Provides functional operations
17 | on tables and sequences.
18 | ]]
19 | }
20 |
21 | dependencies = {
22 | "luafilesystem",
23 | }
24 |
25 | build = {
26 | type = "builtin",
27 | modules = {
28 | ["pl.strict"] = "lua/pl/strict.lua",
29 | ["pl.dir"] = "lua/pl/dir.lua",
30 | ["pl.operator"] = "lua/pl/operator.lua",
31 | ["pl.input"] = "lua/pl/input.lua",
32 | ["pl.config"] = "lua/pl/config.lua",
33 | ["pl.compat"] = "lua/pl/config.lua",
34 | ["pl.seq"] = "lua/pl/seq.lua",
35 | ["pl.stringio"] = "lua/pl/stringio.lua",
36 | ["pl.text"] = "lua/pl/text.lua",
37 | ["pl.test"] = "lua/pl/test.lua",
38 | ["pl.tablex"] = "lua/pl/tablex.lua",
39 | ["pl.app"] = "lua/pl/app.lua",
40 | ["pl.stringx"] = "lua/pl/stringx.lua",
41 | ["pl.lexer"] = "lua/pl/lexer.lua",
42 | ["pl.utils"] = "lua/pl/utils.lua",
43 | ["pl.sip"] = "lua/pl/sip.lua",
44 | ["pl.permute"] = "lua/pl/permute.lua",
45 | ["pl.pretty"] = "lua/pl/pretty.lua",
46 | ["pl.class"] = "lua/pl/class.lua",
47 | ["pl.List"] = "lua/pl/List.lua",
48 | ["pl.data"] = "lua/pl/data.lua",
49 | ["pl.Date"] = "lua/pl/Date.lua",
50 | ["pl.init"] = "lua/pl/init.lua",
51 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
52 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
53 | ["pl.path"] = "lua/pl/path.lua",
54 | ["pl.array2d"] = "lua/pl/array2d.lua",
55 | ["pl.func"] = "lua/pl/func.lua",
56 | ["pl.lapp"] = "lua/pl/lapp.lua",
57 | ["pl.file"] = "lua/pl/file.lua",
58 | ['pl.template'] = "lua/pl/template.lua",
59 | ["pl.Map"] = "lua/pl/Map.lua",
60 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
61 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
62 | ["pl.Set"] = "lua/pl/Set.lua",
63 | ["pl.xml"] = "lua/pl/xml.lua",
64 | ["pl.url"] = "lua/pl/url.lua",
65 | ["pl.import_into"] = "lua/pl/import_into.lua",
66 | ["pl.types"] = "lua/pl/types.lua",
67 | },
68 | copy_directories = {"docs", "tests"}
69 | }
70 |
71 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.9.1-2.rockspec:
--------------------------------------------------------------------------------
1 | package = "penlight"
2 | version = "1.9.1-2"
3 |
4 | source = {
5 | url = "git+https://github.com/lunarmodules/Penlight.git",
6 | tag = "1.9.1"
7 | }
8 |
9 | description = {
10 | summary = "Lua utility libraries loosely based on the Python standard libraries",
11 | homepage = "https://lunarmodules.github.io/Penlight",
12 | license = "MIT/X11",
13 | maintainer = "thijs@thijsschreijer.nl",
14 | detailed = [[
15 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
16 | iterating over directories, reading configuration files and the like. Provides functional operations
17 | on tables and sequences.
18 | ]]
19 | }
20 |
21 | dependencies = {
22 | "luafilesystem",
23 | }
24 |
25 | build = {
26 | type = "builtin",
27 | modules = {
28 | ["pl.strict"] = "lua/pl/strict.lua",
29 | ["pl.dir"] = "lua/pl/dir.lua",
30 | ["pl.operator"] = "lua/pl/operator.lua",
31 | ["pl.input"] = "lua/pl/input.lua",
32 | ["pl.config"] = "lua/pl/config.lua",
33 | ["pl.compat"] = "lua/pl/config.lua",
34 | ["pl.seq"] = "lua/pl/seq.lua",
35 | ["pl.stringio"] = "lua/pl/stringio.lua",
36 | ["pl.text"] = "lua/pl/text.lua",
37 | ["pl.test"] = "lua/pl/test.lua",
38 | ["pl.tablex"] = "lua/pl/tablex.lua",
39 | ["pl.app"] = "lua/pl/app.lua",
40 | ["pl.stringx"] = "lua/pl/stringx.lua",
41 | ["pl.lexer"] = "lua/pl/lexer.lua",
42 | ["pl.utils"] = "lua/pl/utils.lua",
43 | ["pl.sip"] = "lua/pl/sip.lua",
44 | ["pl.permute"] = "lua/pl/permute.lua",
45 | ["pl.pretty"] = "lua/pl/pretty.lua",
46 | ["pl.class"] = "lua/pl/class.lua",
47 | ["pl.List"] = "lua/pl/List.lua",
48 | ["pl.data"] = "lua/pl/data.lua",
49 | ["pl.Date"] = "lua/pl/Date.lua",
50 | ["pl.init"] = "lua/pl/init.lua",
51 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
52 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
53 | ["pl.path"] = "lua/pl/path.lua",
54 | ["pl.array2d"] = "lua/pl/array2d.lua",
55 | ["pl.func"] = "lua/pl/func.lua",
56 | ["pl.lapp"] = "lua/pl/lapp.lua",
57 | ["pl.file"] = "lua/pl/file.lua",
58 | ['pl.template'] = "lua/pl/template.lua",
59 | ["pl.Map"] = "lua/pl/Map.lua",
60 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
61 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
62 | ["pl.Set"] = "lua/pl/Set.lua",
63 | ["pl.xml"] = "lua/pl/xml.lua",
64 | ["pl.url"] = "lua/pl/url.lua",
65 | ["pl.import_into"] = "lua/pl/import_into.lua",
66 | ["pl.types"] = "lua/pl/types.lua",
67 | },
68 | copy_directories = {"docs", "tests"}
69 | }
70 |
71 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.9.2-1.rockspec:
--------------------------------------------------------------------------------
1 | package = "penlight"
2 | version = "1.9.2-1"
3 |
4 | source = {
5 | url = "git://github.com/lunarmodules/Penlight.git",
6 | tag = "1.9.2"
7 | }
8 |
9 | description = {
10 | summary = "Lua utility libraries loosely based on the Python standard libraries",
11 | homepage = "https://lunarmodules.github.io/Penlight",
12 | license = "MIT/X11",
13 | maintainer = "thijs@thijsschreijer.nl",
14 | detailed = [[
15 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
16 | iterating over directories, reading configuration files and the like. Provides functional operations
17 | on tables and sequences.
18 | ]]
19 | }
20 |
21 | dependencies = {
22 | "luafilesystem",
23 | }
24 |
25 | build = {
26 | type = "builtin",
27 | modules = {
28 | ["pl.strict"] = "lua/pl/strict.lua",
29 | ["pl.dir"] = "lua/pl/dir.lua",
30 | ["pl.operator"] = "lua/pl/operator.lua",
31 | ["pl.input"] = "lua/pl/input.lua",
32 | ["pl.config"] = "lua/pl/config.lua",
33 | ["pl.compat"] = "lua/pl/config.lua",
34 | ["pl.seq"] = "lua/pl/seq.lua",
35 | ["pl.stringio"] = "lua/pl/stringio.lua",
36 | ["pl.text"] = "lua/pl/text.lua",
37 | ["pl.test"] = "lua/pl/test.lua",
38 | ["pl.tablex"] = "lua/pl/tablex.lua",
39 | ["pl.app"] = "lua/pl/app.lua",
40 | ["pl.stringx"] = "lua/pl/stringx.lua",
41 | ["pl.lexer"] = "lua/pl/lexer.lua",
42 | ["pl.utils"] = "lua/pl/utils.lua",
43 | ["pl.sip"] = "lua/pl/sip.lua",
44 | ["pl.permute"] = "lua/pl/permute.lua",
45 | ["pl.pretty"] = "lua/pl/pretty.lua",
46 | ["pl.class"] = "lua/pl/class.lua",
47 | ["pl.List"] = "lua/pl/List.lua",
48 | ["pl.data"] = "lua/pl/data.lua",
49 | ["pl.Date"] = "lua/pl/Date.lua",
50 | ["pl.init"] = "lua/pl/init.lua",
51 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
52 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
53 | ["pl.path"] = "lua/pl/path.lua",
54 | ["pl.array2d"] = "lua/pl/array2d.lua",
55 | ["pl.func"] = "lua/pl/func.lua",
56 | ["pl.lapp"] = "lua/pl/lapp.lua",
57 | ["pl.file"] = "lua/pl/file.lua",
58 | ['pl.template'] = "lua/pl/template.lua",
59 | ["pl.Map"] = "lua/pl/Map.lua",
60 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
61 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
62 | ["pl.Set"] = "lua/pl/Set.lua",
63 | ["pl.xml"] = "lua/pl/xml.lua",
64 | ["pl.url"] = "lua/pl/url.lua",
65 | ["pl.import_into"] = "lua/pl/import_into.lua",
66 | ["pl.types"] = "lua/pl/types.lua",
67 | },
68 | copy_directories = {"docs", "tests"}
69 | }
70 |
71 |
--------------------------------------------------------------------------------
/rockspecs/penlight-1.9.2-2.rockspec:
--------------------------------------------------------------------------------
1 | package = "penlight"
2 | version = "1.9.2-2"
3 |
4 | source = {
5 | url = "git+https://github.com/lunarmodules/Penlight.git",
6 | tag = "1.9.2"
7 | }
8 |
9 | description = {
10 | summary = "Lua utility libraries loosely based on the Python standard libraries",
11 | homepage = "https://lunarmodules.github.io/Penlight",
12 | license = "MIT/X11",
13 | maintainer = "thijs@thijsschreijer.nl",
14 | detailed = [[
15 | Penlight is a set of pure Lua libraries for making it easier to work with common tasks like
16 | iterating over directories, reading configuration files and the like. Provides functional operations
17 | on tables and sequences.
18 | ]]
19 | }
20 |
21 | dependencies = {
22 | "luafilesystem",
23 | }
24 |
25 | build = {
26 | type = "builtin",
27 | modules = {
28 | ["pl.strict"] = "lua/pl/strict.lua",
29 | ["pl.dir"] = "lua/pl/dir.lua",
30 | ["pl.operator"] = "lua/pl/operator.lua",
31 | ["pl.input"] = "lua/pl/input.lua",
32 | ["pl.config"] = "lua/pl/config.lua",
33 | ["pl.compat"] = "lua/pl/config.lua",
34 | ["pl.seq"] = "lua/pl/seq.lua",
35 | ["pl.stringio"] = "lua/pl/stringio.lua",
36 | ["pl.text"] = "lua/pl/text.lua",
37 | ["pl.test"] = "lua/pl/test.lua",
38 | ["pl.tablex"] = "lua/pl/tablex.lua",
39 | ["pl.app"] = "lua/pl/app.lua",
40 | ["pl.stringx"] = "lua/pl/stringx.lua",
41 | ["pl.lexer"] = "lua/pl/lexer.lua",
42 | ["pl.utils"] = "lua/pl/utils.lua",
43 | ["pl.sip"] = "lua/pl/sip.lua",
44 | ["pl.permute"] = "lua/pl/permute.lua",
45 | ["pl.pretty"] = "lua/pl/pretty.lua",
46 | ["pl.class"] = "lua/pl/class.lua",
47 | ["pl.List"] = "lua/pl/List.lua",
48 | ["pl.data"] = "lua/pl/data.lua",
49 | ["pl.Date"] = "lua/pl/Date.lua",
50 | ["pl.init"] = "lua/pl/init.lua",
51 | ["pl.luabalanced"] = "lua/pl/luabalanced.lua",
52 | ["pl.comprehension"] = "lua/pl/comprehension.lua",
53 | ["pl.path"] = "lua/pl/path.lua",
54 | ["pl.array2d"] = "lua/pl/array2d.lua",
55 | ["pl.func"] = "lua/pl/func.lua",
56 | ["pl.lapp"] = "lua/pl/lapp.lua",
57 | ["pl.file"] = "lua/pl/file.lua",
58 | ['pl.template'] = "lua/pl/template.lua",
59 | ["pl.Map"] = "lua/pl/Map.lua",
60 | ["pl.MultiMap"] = "lua/pl/MultiMap.lua",
61 | ["pl.OrderedMap"] = "lua/pl/OrderedMap.lua",
62 | ["pl.Set"] = "lua/pl/Set.lua",
63 | ["pl.xml"] = "lua/pl/xml.lua",
64 | ["pl.url"] = "lua/pl/url.lua",
65 | ["pl.import_into"] = "lua/pl/import_into.lua",
66 | ["pl.types"] = "lua/pl/types.lua",
67 | },
68 | copy_directories = {"docs", "tests"}
69 | }
70 |
71 |
--------------------------------------------------------------------------------
/run.lua:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env lua
2 |
3 | -- Running tests and/or examples.
4 | local lfs = require "lfs"
5 |
6 | local directories = {}
7 | local luacov = false
8 |
9 | for _, argument in ipairs(arg) do
10 | if argument == "--help" then
11 | print("Usage: lua run.lua [--luacov] [