Can't believe this works
This commit is contained in:
parent
9bdbff68fb
commit
accf123cd1
4
Makefile
4
Makefile
@ -10,4 +10,8 @@ test: tests.so
|
||||
cgreen-runner $^
|
||||
debug:
|
||||
cgreen-debug tests.so
|
||||
%o: %c
|
||||
$(CC) -g -c -o $@ $^
|
||||
shortcodes.a: shortcodes.o
|
||||
ar rcs $@ $^
|
||||
.PHONY: test debug
|
||||
|
@ -5,7 +5,8 @@
|
||||
// and goes on for len characters.
|
||||
struct chunk
|
||||
{
|
||||
unsigned int start, len;
|
||||
unsigned int start;
|
||||
unsigned int len;
|
||||
};
|
||||
typedef struct chunk chunk;
|
||||
|
||||
|
@ -1,9 +1,11 @@
|
||||
require "./spec_helper"
|
||||
|
||||
describe Shortcodes do
|
||||
describe "Shortcodes" do
|
||||
# TODO: Write tests
|
||||
|
||||
it "works" do
|
||||
false.should eq(true)
|
||||
result = Shortcodes.parse("foo{{% bar %}}baz{{% /bar %}}qux");
|
||||
p! result.sccount;
|
||||
p! result.shortcodes[0].matching;
|
||||
end
|
||||
end
|
||||
|
@ -1,6 +1,32 @@
|
||||
# TODO: Write documentation for `Shortcodes`
|
||||
module Shortcodes
|
||||
VERSION = "0.1.0"
|
||||
@[Link(ldflags: "#{__DIR__}/../shortcodes.o")]
|
||||
lib Shortcodes
|
||||
|
||||
# TODO: Put your code here
|
||||
end
|
||||
struct Chunk
|
||||
start : UInt32
|
||||
len : UInt32
|
||||
end
|
||||
|
||||
struct ScError
|
||||
position: UInt32
|
||||
code : UInt32
|
||||
end
|
||||
|
||||
struct Shortcode
|
||||
whole : Chunk
|
||||
name : Chunk
|
||||
data : Chunk
|
||||
matching : LibC::Char
|
||||
argnames : Chunk[100]
|
||||
argvals : Chunk[100]
|
||||
argcount : UInt32
|
||||
end
|
||||
|
||||
struct ScResult
|
||||
shortcodes : Shortcode[100]
|
||||
sccount : UInt32
|
||||
errors : ScError[10]
|
||||
errcount : UInt32
|
||||
end
|
||||
|
||||
fun parse(input : Pointer(LibC::Char)) : ScResult;
|
||||
end
|
Loading…
Reference in New Issue
Block a user