View StringAccessor.lua
--[[ Example: | |
sa = StringAccessor 'hello' | |
for c in sa:iter() do | |
print(c) | |
end | |
print(sa[1],sa[3]) | |
print('end',sa[-1]) | |
--]] |
View safe_array.lua
local function out_of_range(i,n) | |
if type(i) == 'number' then | |
if i > 0 and i <= n then return true | |
else error('out of range',3) | |
end | |
else | |
error 'cannot index array by non-number type' | |
end | |
end |
View lua_prompt.lua
-- makes interactive prompt dodgy. | |
-- (In an ideal world, should be able to switch this off only for | |
-- the message buffer) | |
_m.textadept.editing.AUTOPAIR = false | |
-- useful function which can safely handle argument lists containing nil; | |
-- the resulting table has n set to the real length. | |
local function pack (...) | |
local args = {...} | |
args.n = select('#',...) |
View prettify.lua
-- translate Markdown with code blocks into HTML | |
-- with syntax highlighting. | |
-- If article.md was the source, Lua was the language and we | |
-- wanted a preview: | |
-- lua prettify.lua article lua preview | |
-- Without the last argument it will just write out the HTML body. | |
-- Languages supported are 'lua', 'cpp', 'java' and 'go | |
-- Indented code blocks may begin with an explicit @lang name line; | |
-- if you do this then mark every code block explicitly | |
-- e.g |
View css.lua
--[[ | |
A Lua module that defines a little DSL for generating CSS | |
-- csstest.lua | |
require 'css' | |
width = 500 | |
lmargin = 50 | |
leftm = 150 | |
gap = 10 |
View html.lua
--[[ | |
See http://steved-imaginaryreal.blogspot.com/2011/09/htmlification-with-lua.html | |
Example usage: | |
-- test2.lua | |
require 'html' | |
html { | |
body { title 'Test' }, | |
h2 'title', | |
p 'first para', |
View loader.lua
-- This allows a more restricted module() style; the key feature | |
-- is that each module is loaded in a custom environment, and the actual module | |
-- table is a copy of that environment after initial load. | |
-- clone _G so that globals from the program don't invade the module | |
local lua_libs = {} | |
for k,v in pairs(package.loaded._G) do | |
lua_libs[k] = v | |
end |
View csvdta.go
package csvdata | |
// csvdata complements the csv package by allowing you to map a custom structure to | |
// the columns of data in a CSV file. The struct needs to be annotated so that each | |
// field can match a column in the data | |
// | |
// type Person struct { | |
// FirstName string `field:"First Name"` | |
// Second_Name string | |
// Age int | |
// } |
View list.moon
import insert,concat,remove from table | |
class List | |
new: (t) => | |
@ls = t or {} | |
add: (item) => | |
insert @ls,item |
View ml.lua
----------------- | |
-- Microlight - a very compact Lua utilities module | |
-- | |
-- Steve Donovan, 2012; License MIT | |
-- @module ml | |
local ml = {} | |
--- String utilties. | |
-- @section string |
OlderNewer