hokusai-zero 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Dockerfile +26 -0
- data/Gemfile +15 -0
- data/Gemfile.lock +91 -0
- data/LICENSE +21 -0
- data/README.md +28 -0
- data/ast/genheader +3 -0
- data/ast/include/hashmap.c +1151 -0
- data/ast/include/hashmap.c.license +20 -0
- data/ast/include/hashmap.h +54 -0
- data/ast/src/core/ast.c +448 -0
- data/ast/src/core/ast.h +259 -0
- data/ast/src/core/common.h +24 -0
- data/ast/src/core/component.c +85 -0
- data/ast/src/core/component.h +35 -0
- data/ast/src/core/hml.c +665 -0
- data/ast/src/core/hml.h +11 -0
- data/ast/src/core/input.c +458 -0
- data/ast/src/core/input.h +118 -0
- data/ast/src/core/style.c +101 -0
- data/ast/src/core/style.h +41 -0
- data/ast/src/core/text.c +784 -0
- data/ast/src/core/text.h +93 -0
- data/ast/src/core/util.c +140 -0
- data/ast/src/core/util.h +48 -0
- data/ast/src/hokusai.c +6 -0
- data/ast/src/hokusai.h +6 -0
- data/ast/test/fixtures/test.ui +13 -0
- data/ast/test/greatest.h +1266 -0
- data/ast/test/hokusai.c +14 -0
- data/ast/test/parser.c +234 -0
- data/ast/test/text.c +116 -0
- data/ext/extconf.rb +27 -0
- data/grammar/Cargo.lock +80 -0
- data/grammar/Cargo.toml +26 -0
- data/grammar/binding.gyp +20 -0
- data/grammar/bindings/node/binding.cc +28 -0
- data/grammar/bindings/node/index.js +19 -0
- data/grammar/bindings/rust/build.rs +40 -0
- data/grammar/bindings/rust/lib.rs +52 -0
- data/grammar/corpus/1_document.txt +131 -0
- data/grammar/corpus/2_selectors.txt +58 -0
- data/grammar/corpus/3_spaces.txt +69 -0
- data/grammar/corpus/4_errors.txt +10 -0
- data/grammar/corpus/5_macros.txt +175 -0
- data/grammar/corpus/6_styles.txt +81 -0
- data/grammar/grammar.js +275 -0
- data/grammar/package-lock.json +34 -0
- data/grammar/package.json +33 -0
- data/grammar/src/grammar.json +1269 -0
- data/grammar/src/node-types.json +474 -0
- data/grammar/src/parser.c +5772 -0
- data/grammar/src/scanner.c +258 -0
- data/grammar/src/tree_sitter/parser.h +230 -0
- data/grammar/src/tree_sitter/scanner.h +12 -0
- data/grammar/test.nml +10 -0
- data/hokusai.gemspec +19 -0
- data/ui/examples/assets/DigitalDisplay.ttf +0 -0
- data/ui/examples/assets/OpenSans-Regular.ttf +0 -0
- data/ui/examples/assets/addy.png +0 -0
- data/ui/examples/assets/baby_sean.png +0 -0
- data/ui/examples/assets/football-troll.png +0 -0
- data/ui/examples/assets/gear.png +0 -0
- data/ui/examples/assets/icecold.ttf +0 -0
- data/ui/examples/assets/science-troll.png +0 -0
- data/ui/examples/buddy.rb +31 -0
- data/ui/examples/clock.rb +58 -0
- data/ui/examples/counter.rb +123 -0
- data/ui/examples/dynamic.rb +147 -0
- data/ui/examples/foobar.rb +236 -0
- data/ui/examples/stock.rb +115 -0
- data/ui/examples/stock_decider/option.rb +74 -0
- data/ui/examples/tic_tac_toe.rb +246 -0
- data/ui/lib/lib_hokusai.rb +425 -0
- data/ui/spec/hokusai/ast_spec.rb +88 -0
- data/ui/spec/hokusai/automation/keys_transcoder_spec.rb +50 -0
- data/ui/spec/hokusai/automation/selector_spec.rb +68 -0
- data/ui/spec/hokusai/block_spec.rb +126 -0
- data/ui/spec/hokusai/directives_spec.rb +327 -0
- data/ui/spec/hokusai/e2e/client_spec.rb +58 -0
- data/ui/spec/hokusai/e2e/meta_spec.rb +42 -0
- data/ui/spec/hokusai/publisher_spec.rb +38 -0
- data/ui/spec/hokusai/slots_spec.rb +150 -0
- data/ui/spec/hokusai/util/piece_table_spec.rb +90 -0
- data/ui/spec/hokusai_spec.rb +0 -0
- data/ui/spec/spec_helper.rb +30 -0
- data/ui/src/hokusai/ast.rb +446 -0
- data/ui/src/hokusai/automation/client.rb +167 -0
- data/ui/src/hokusai/automation/constants.rb +98 -0
- data/ui/src/hokusai/automation/converters/selector_converter.rb +61 -0
- data/ui/src/hokusai/automation/driver.rb +54 -0
- data/ui/src/hokusai/automation/driver_command_queue.rb +50 -0
- data/ui/src/hokusai/automation/driver_commands/base.rb +79 -0
- data/ui/src/hokusai/automation/driver_commands/get_attribute.rb +41 -0
- data/ui/src/hokusai/automation/driver_commands/invoke.rb +33 -0
- data/ui/src/hokusai/automation/driver_commands/locate.rb +48 -0
- data/ui/src/hokusai/automation/driver_commands/trigger_keyboard.rb +94 -0
- data/ui/src/hokusai/automation/driver_commands/trigger_mouse.rb +213 -0
- data/ui/src/hokusai/automation/keys_transcoder.rb +128 -0
- data/ui/src/hokusai/automation/selector.rb +39 -0
- data/ui/src/hokusai/automation/server.rb +114 -0
- data/ui/src/hokusai/automation.rb +3 -0
- data/ui/src/hokusai/backends/raylib/config.rb +47 -0
- data/ui/src/hokusai/backends/raylib/font.rb +113 -0
- data/ui/src/hokusai/backends/raylib/keys.rb +124 -0
- data/ui/src/hokusai/backends/raylib.rb +449 -0
- data/ui/src/hokusai/backends/sdl2/Monaco.ttf +0 -0
- data/ui/src/hokusai/backends/sdl2/color.rb +12 -0
- data/ui/src/hokusai/backends/sdl2/config.rb +31 -0
- data/ui/src/hokusai/backends/sdl2/font.rb +127 -0
- data/ui/src/hokusai/backends/sdl2/keys.rb +119 -0
- data/ui/src/hokusai/backends/sdl2.rb +529 -0
- data/ui/src/hokusai/block.rb +237 -0
- data/ui/src/hokusai/blocks/button.rb +100 -0
- data/ui/src/hokusai/blocks/checkbox.rb +51 -0
- data/ui/src/hokusai/blocks/circle.rb +28 -0
- data/ui/src/hokusai/blocks/clipped.rb +23 -0
- data/ui/src/hokusai/blocks/cursor.rb +49 -0
- data/ui/src/hokusai/blocks/dynamic.rb +37 -0
- data/ui/src/hokusai/blocks/empty.rb +10 -0
- data/ui/src/hokusai/blocks/hblock.rb +35 -0
- data/ui/src/hokusai/blocks/image.rb +18 -0
- data/ui/src/hokusai/blocks/input.rb +200 -0
- data/ui/src/hokusai/blocks/label.rb +39 -0
- data/ui/src/hokusai/blocks/panel.rb +126 -0
- data/ui/src/hokusai/blocks/rect.rb +24 -0
- data/ui/src/hokusai/blocks/scissor_begin.rb +18 -0
- data/ui/src/hokusai/blocks/scissor_end.rb +12 -0
- data/ui/src/hokusai/blocks/scrollbar.rb +103 -0
- data/ui/src/hokusai/blocks/selectable.rb +77 -0
- data/ui/src/hokusai/blocks/svg.rb +20 -0
- data/ui/src/hokusai/blocks/text.rb +214 -0
- data/ui/src/hokusai/blocks/titlebar/osx.rb +145 -0
- data/ui/src/hokusai/blocks/toggle.rb +55 -0
- data/ui/src/hokusai/blocks/vblock.rb +35 -0
- data/ui/src/hokusai/commands/base.rb +22 -0
- data/ui/src/hokusai/commands/circle.rb +47 -0
- data/ui/src/hokusai/commands/image.rb +45 -0
- data/ui/src/hokusai/commands/rect.rb +158 -0
- data/ui/src/hokusai/commands/scissor.rb +22 -0
- data/ui/src/hokusai/commands/text.rb +92 -0
- data/ui/src/hokusai/commands.rb +87 -0
- data/ui/src/hokusai/diff.rb +124 -0
- data/ui/src/hokusai/error.rb +3 -0
- data/ui/src/hokusai/event.rb +54 -0
- data/ui/src/hokusai/events/keyboard.rb +84 -0
- data/ui/src/hokusai/events/mouse.rb +172 -0
- data/ui/src/hokusai/font.rb +280 -0
- data/ui/src/hokusai/meta.rb +152 -0
- data/ui/src/hokusai/mounting/loop_entry.rb +230 -0
- data/ui/src/hokusai/mounting/mount_entry.rb +74 -0
- data/ui/src/hokusai/mounting/update_entry.rb +101 -0
- data/ui/src/hokusai/node.rb +98 -0
- data/ui/src/hokusai/node_mounter.rb +102 -0
- data/ui/src/hokusai/painter.rb +214 -0
- data/ui/src/hokusai/publisher.rb +32 -0
- data/ui/src/hokusai/style.rb +72 -0
- data/ui/src/hokusai/types.rb +266 -0
- data/ui/src/hokusai/util/clamping_iterator.rb +202 -0
- data/ui/src/hokusai/util/piece_table.rb +111 -0
- data/ui/src/hokusai/util/selection.rb +145 -0
- data/ui/src/hokusai.rb +120 -0
- data/ui/vendor/.gitkeep +0 -0
- data/vendor/.gitkeep +0 -0
- data/xmake.lua +192 -0
- metadata +222 -0
data/xmake.lua
ADDED
@@ -0,0 +1,192 @@
|
|
1
|
+
package("tree-sitter")
|
2
|
+
add_deps("make")
|
3
|
+
set_policy("package.install_always", true)
|
4
|
+
add_urls("https://github.com/tree-sitter/tree-sitter/archive/refs/tags/$(version).zip")
|
5
|
+
add_versions("v0.24.4", "b014d853193482c72e3eca12d98dddde57840ae73a8f6a6155605531e180be54")
|
6
|
+
on_install(function(package)
|
7
|
+
os.mkdir(string.format("%s/vendor/include", os:projectdir()))
|
8
|
+
os.mkdir(string.format("%s/vendor/lib", os:projectdir()))
|
9
|
+
os.execv("make install", {}, {envs={PREFIX=string.format("%s/vendor", os.projectdir())}})
|
10
|
+
end)
|
11
|
+
package_end()
|
12
|
+
|
13
|
+
package("raylib")
|
14
|
+
set_policy("package.install_always", true)
|
15
|
+
set_homepage("http://www.raylib.com")
|
16
|
+
set_description("A simple and easy-to-use library to enjoy videogames programming.")
|
17
|
+
|
18
|
+
add_urls("https://github.com/raysan5/raylib/archive/$(version).tar.gz",
|
19
|
+
"https://github.com/raysan5/raylib.git")
|
20
|
+
add_versions("5.5", "163378604f2293ea5ebf3238f50c8926addde72d1a6bc8998ac2e96074ba8af8")
|
21
|
+
add_deps("cmake >=3.11")
|
22
|
+
|
23
|
+
if is_plat("macosx") then
|
24
|
+
add_frameworks("CoreVideo", "CoreGraphics", "AppKit", "IOKit", "CoreFoundation", "Foundation")
|
25
|
+
elseif is_plat("windows", "mingw") then
|
26
|
+
add_syslinks("gdi32", "user32", "winmm", "shell32")
|
27
|
+
elseif is_plat("linux") then
|
28
|
+
add_syslinks("pthread", "dl", "m")
|
29
|
+
add_deps("libx11", "libxrandr", "libxrender", "libxinerama", "libxcursor", "libxi", "libxfixes", "libxext")
|
30
|
+
end
|
31
|
+
add_deps("opengl", {optional = true})
|
32
|
+
|
33
|
+
on_install("windows", "linux", "macosx|arm64", "macosx|x86_64", "mingw", function (package)
|
34
|
+
local configs = {"-DBUILD_EXAMPLES=OFF"}
|
35
|
+
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
|
36
|
+
table.insert(configs, "-DBUILD_SHARED_LIBS=ON")
|
37
|
+
import("package.tools.cmake").install(package, configs, {packagedeps = {"libx11", "libxrender", "libxrandr", "libxinerama", "libxcursor", "libxi", "libxfixes", "libxext"}})
|
38
|
+
os.cp("include/*.h", "vendor/include/.")
|
39
|
+
os.cp(string.format("%s/libraylib.*", package:installdir("lib")), string.format("%s/vendor/lib", os:projectdir()))
|
40
|
+
end)
|
41
|
+
package_end()
|
42
|
+
|
43
|
+
package("libsdl")
|
44
|
+
add_deps("make")
|
45
|
+
set_policy("package.install_always", true)
|
46
|
+
add_urls("https://github.com/libsdl-org/SDL/releases/download/release-$(version)/SDL2-$(version).zip")
|
47
|
+
add_versions("2.30.9", "ec855bcd815b4b63d0c958c42c2923311c656227d6e0c1ae1e721406d346444b")
|
48
|
+
on_install(function(package)
|
49
|
+
os.mkdir("build")
|
50
|
+
os.cd("build")
|
51
|
+
os.execv("../configure", {"--prefix=" .. string.format("%s/vendor", os.projectdir())}, {})
|
52
|
+
os.exec("make")
|
53
|
+
os.exec("make install")
|
54
|
+
end)
|
55
|
+
package_end()
|
56
|
+
|
57
|
+
package("libsdl_gfx")
|
58
|
+
add_deps("make")
|
59
|
+
set_policy("package.install_always", true)
|
60
|
+
add_urls("https://www.ferzkopp.net/Software/SDL2_gfx/SDL2_gfx-$(version).zip")
|
61
|
+
add_versions("1.0.4", "b6da07583b7fb8f4d8cee97cac9176b97a287f56a8112e22f38183ecf47b9dcb")
|
62
|
+
on_install(function(package)
|
63
|
+
os.exec("bash autogen.sh")
|
64
|
+
os.execv("./configure", {"--prefix=" .. string.format("%s/vendor", os.projectdir())}, {envs = {LIBRARY_PATH = string.format("%s/vendor/lib", os:projectdir())}})
|
65
|
+
os.exec("make")
|
66
|
+
os.exec("make install")
|
67
|
+
end)
|
68
|
+
package_end()
|
69
|
+
|
70
|
+
package("libsdl_ttf")
|
71
|
+
add_deps("make")
|
72
|
+
set_policy("package.install_always", true)
|
73
|
+
add_urls("https://github.com/libsdl-org/SDL_ttf/releases/download/release-$(version)/SDL2_ttf-$(version).zip")
|
74
|
+
add_versions("2.22.0", "5766070145111cb047807fa3f91c2c6b81bc1008d63817e100417959b42a2484")
|
75
|
+
on_install(function(package)
|
76
|
+
os.execv("./configure", {"--prefix=" .. string.format("%s/vendor", os.projectdir())}, {envs = {LIBRARY_PATH = string.format("%s/vendor/lib", os:projectdir())}})
|
77
|
+
os.exec("make")
|
78
|
+
os.exec("make install")
|
79
|
+
end)
|
80
|
+
package_end()
|
81
|
+
|
82
|
+
package("libsdl_image")
|
83
|
+
add_deps("make")
|
84
|
+
set_policy("package.install_always", true)
|
85
|
+
add_urls("https://www.libsdl.org/projects/SDL_image/release/SDL2_image-$(version).zip")
|
86
|
+
add_versions("2.8.2", "2196ad6665b68fc453a659e172d67fbf18d548277aa07344dfd2deed9d9b84bd")
|
87
|
+
on_install(function(package)
|
88
|
+
os.exec("bash autogen.sh")
|
89
|
+
os.execv("./configure", {"--prefix=" .. string.format("%s/vendor", os.projectdir())}, {envs = {LIBRARY_PATH = string.format("%s/vendor/lib", os:projectdir())}})
|
90
|
+
os.exec("make")
|
91
|
+
os.exec("make install")
|
92
|
+
end)
|
93
|
+
package_end()
|
94
|
+
|
95
|
+
package("md4c")
|
96
|
+
set_license("MIT")
|
97
|
+
add_urls("https://github.com/mity/md4c.git")
|
98
|
+
-- add_versions("2024.02.25", "481fbfbdf72daab2912380d62bb5f2187d438408")
|
99
|
+
add_deps("cmake")
|
100
|
+
|
101
|
+
on_install(function (package)
|
102
|
+
local configs = {}
|
103
|
+
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
|
104
|
+
table.insert(configs, "-DBUILD_SHARED_LIBS=OFF")
|
105
|
+
import("package.tools.cmake").install(package, configs)
|
106
|
+
os.mkdir(string.format("%s/vendor/include", os:projectdir()))
|
107
|
+
os.mkdir(string.format("%s/vendor/lib", os:projectdir()))
|
108
|
+
os.cp(string.format("%s/*", package:installdir("include")), string.format("%s/vendor/include", os:projectdir()))
|
109
|
+
os.cp(string.format("%s/*", package:installdir("lib")), string.format("%s/vendor/lib", os:projectdir()))
|
110
|
+
end)
|
111
|
+
package_end()
|
112
|
+
|
113
|
+
target("hokusai")
|
114
|
+
set_kind("shared")
|
115
|
+
add_rules("@myraylib/install_locally")
|
116
|
+
add_includedirs("ast/include", "ast/src", "grammar/src", "./vendor/include")
|
117
|
+
add_linkdirs("$(projectdir)/vendor/lib")
|
118
|
+
add_rpathdirs("$(buildir)/lib")
|
119
|
+
add_links("libtree-sitter.a")
|
120
|
+
add_links("libmd4c.a")
|
121
|
+
add_files(
|
122
|
+
"ast/src/core/hml.c",
|
123
|
+
"ast/src/core/ast.c",
|
124
|
+
"ast/src/core/style.c",
|
125
|
+
"ast/src/core/input.c",
|
126
|
+
"ast/src/core/component.c",
|
127
|
+
"ast/src/core/util.c",
|
128
|
+
"ast/src/core/text.c",
|
129
|
+
"grammar/src/parser.c",
|
130
|
+
"grammar/src/scanner.c",
|
131
|
+
"ast/include/hashmap.c"
|
132
|
+
)
|
133
|
+
after_build(function(target)
|
134
|
+
os.exec("cp -r %s $(projectdir)/vendor/lib/%s", target:targetfile(), target:filename())
|
135
|
+
end)
|
136
|
+
target_end()
|
137
|
+
|
138
|
+
target("test-grammar")
|
139
|
+
set_group("test")
|
140
|
+
on_build(function(target) end)
|
141
|
+
after_build(function(target)
|
142
|
+
os.cd("grammar")
|
143
|
+
os.exec("npm run test")
|
144
|
+
end)
|
145
|
+
target_end()
|
146
|
+
|
147
|
+
target("test-ast")
|
148
|
+
set_kind("binary")
|
149
|
+
set_group("test")
|
150
|
+
add_rpathdirs(string.format("%s/vendor/lib", os:projectdir()))
|
151
|
+
add_ldflags(string.format("-L%s/vendor/lib -ltree-sitter", os:projectdir()), {force = true})
|
152
|
+
add_includedirs("ast/include", "ast/src", "grammar/src", "./vendor/include")
|
153
|
+
add_links("vendor/lib/libmd4c.a")
|
154
|
+
add_files(
|
155
|
+
"ast/test/hokusai.c",
|
156
|
+
"grammar/src/parser.c",
|
157
|
+
"grammar/src/scanner.c",
|
158
|
+
"ast/include/hashmap.c"
|
159
|
+
)
|
160
|
+
-- add_cflags("-Wall -Werror")
|
161
|
+
after_build(function(target)
|
162
|
+
os.exec("./%s -t markdown", target:targetfile())
|
163
|
+
-- os.exec("leaks -atExit -- %s", target:targetfile())
|
164
|
+
end)
|
165
|
+
target_end()
|
166
|
+
|
167
|
+
target("rspec")
|
168
|
+
set_group("test")
|
169
|
+
add_deps("test-ast")
|
170
|
+
on_build(function(target) end)
|
171
|
+
after_build(function(target)
|
172
|
+
os.addenv("LD_LIBRARY_PATH", "vendor/lib")
|
173
|
+
os.execv("bundle", {"exec", "rspec"}, {shell = "true"})
|
174
|
+
end)
|
175
|
+
target_end()
|
176
|
+
|
177
|
+
task("demo")
|
178
|
+
on_run(function ()
|
179
|
+
import("core.base.option")
|
180
|
+
os.addenv("LD_LIBRARY_PATH", "vendor/lib")
|
181
|
+
os.execv("bundle", {"exec", "ruby", "--yjit", string.format("ui/examples/%s.rb", option.get("program"))}, {shell = "true"})
|
182
|
+
end)
|
183
|
+
|
184
|
+
set_menu {
|
185
|
+
usage = "xmake demo [options]"
|
186
|
+
, description = "run demo"
|
187
|
+
, options =
|
188
|
+
{
|
189
|
+
{nil, "program", "v", nil, "the type of demo [counter|image]" }
|
190
|
+
}
|
191
|
+
}
|
192
|
+
task_end()
|
metadata
ADDED
@@ -0,0 +1,222 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: hokusai-zero
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- skinnyjames
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2025-01-02 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: ffi
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.16'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.16'
|
27
|
+
description:
|
28
|
+
email: zero@skinnyjames.net
|
29
|
+
executables: []
|
30
|
+
extensions:
|
31
|
+
- ext/extconf.rb
|
32
|
+
extra_rdoc_files: []
|
33
|
+
files:
|
34
|
+
- Dockerfile
|
35
|
+
- Gemfile
|
36
|
+
- Gemfile.lock
|
37
|
+
- LICENSE
|
38
|
+
- README.md
|
39
|
+
- ast/genheader
|
40
|
+
- ast/include/hashmap.c
|
41
|
+
- ast/include/hashmap.c.license
|
42
|
+
- ast/include/hashmap.h
|
43
|
+
- ast/src/core/ast.c
|
44
|
+
- ast/src/core/ast.h
|
45
|
+
- ast/src/core/common.h
|
46
|
+
- ast/src/core/component.c
|
47
|
+
- ast/src/core/component.h
|
48
|
+
- ast/src/core/hml.c
|
49
|
+
- ast/src/core/hml.h
|
50
|
+
- ast/src/core/input.c
|
51
|
+
- ast/src/core/input.h
|
52
|
+
- ast/src/core/style.c
|
53
|
+
- ast/src/core/style.h
|
54
|
+
- ast/src/core/text.c
|
55
|
+
- ast/src/core/text.h
|
56
|
+
- ast/src/core/util.c
|
57
|
+
- ast/src/core/util.h
|
58
|
+
- ast/src/hokusai.c
|
59
|
+
- ast/src/hokusai.h
|
60
|
+
- ast/test/fixtures/test.ui
|
61
|
+
- ast/test/greatest.h
|
62
|
+
- ast/test/hokusai.c
|
63
|
+
- ast/test/parser.c
|
64
|
+
- ast/test/text.c
|
65
|
+
- ext/extconf.rb
|
66
|
+
- grammar/Cargo.lock
|
67
|
+
- grammar/Cargo.toml
|
68
|
+
- grammar/binding.gyp
|
69
|
+
- grammar/bindings/node/binding.cc
|
70
|
+
- grammar/bindings/node/index.js
|
71
|
+
- grammar/bindings/rust/build.rs
|
72
|
+
- grammar/bindings/rust/lib.rs
|
73
|
+
- grammar/corpus/1_document.txt
|
74
|
+
- grammar/corpus/2_selectors.txt
|
75
|
+
- grammar/corpus/3_spaces.txt
|
76
|
+
- grammar/corpus/4_errors.txt
|
77
|
+
- grammar/corpus/5_macros.txt
|
78
|
+
- grammar/corpus/6_styles.txt
|
79
|
+
- grammar/grammar.js
|
80
|
+
- grammar/package-lock.json
|
81
|
+
- grammar/package.json
|
82
|
+
- grammar/src/grammar.json
|
83
|
+
- grammar/src/node-types.json
|
84
|
+
- grammar/src/parser.c
|
85
|
+
- grammar/src/scanner.c
|
86
|
+
- grammar/src/tree_sitter/parser.h
|
87
|
+
- grammar/src/tree_sitter/scanner.h
|
88
|
+
- grammar/test.nml
|
89
|
+
- hokusai.gemspec
|
90
|
+
- ui/examples/assets/DigitalDisplay.ttf
|
91
|
+
- ui/examples/assets/OpenSans-Regular.ttf
|
92
|
+
- ui/examples/assets/addy.png
|
93
|
+
- ui/examples/assets/baby_sean.png
|
94
|
+
- ui/examples/assets/football-troll.png
|
95
|
+
- ui/examples/assets/gear.png
|
96
|
+
- ui/examples/assets/icecold.ttf
|
97
|
+
- ui/examples/assets/science-troll.png
|
98
|
+
- ui/examples/buddy.rb
|
99
|
+
- ui/examples/clock.rb
|
100
|
+
- ui/examples/counter.rb
|
101
|
+
- ui/examples/dynamic.rb
|
102
|
+
- ui/examples/foobar.rb
|
103
|
+
- ui/examples/stock.rb
|
104
|
+
- ui/examples/stock_decider/option.rb
|
105
|
+
- ui/examples/tic_tac_toe.rb
|
106
|
+
- ui/lib/lib_hokusai.rb
|
107
|
+
- ui/spec/hokusai/ast_spec.rb
|
108
|
+
- ui/spec/hokusai/automation/keys_transcoder_spec.rb
|
109
|
+
- ui/spec/hokusai/automation/selector_spec.rb
|
110
|
+
- ui/spec/hokusai/block_spec.rb
|
111
|
+
- ui/spec/hokusai/directives_spec.rb
|
112
|
+
- ui/spec/hokusai/e2e/client_spec.rb
|
113
|
+
- ui/spec/hokusai/e2e/meta_spec.rb
|
114
|
+
- ui/spec/hokusai/publisher_spec.rb
|
115
|
+
- ui/spec/hokusai/slots_spec.rb
|
116
|
+
- ui/spec/hokusai/util/piece_table_spec.rb
|
117
|
+
- ui/spec/hokusai_spec.rb
|
118
|
+
- ui/spec/spec_helper.rb
|
119
|
+
- ui/src/hokusai.rb
|
120
|
+
- ui/src/hokusai/ast.rb
|
121
|
+
- ui/src/hokusai/automation.rb
|
122
|
+
- ui/src/hokusai/automation/client.rb
|
123
|
+
- ui/src/hokusai/automation/constants.rb
|
124
|
+
- ui/src/hokusai/automation/converters/selector_converter.rb
|
125
|
+
- ui/src/hokusai/automation/driver.rb
|
126
|
+
- ui/src/hokusai/automation/driver_command_queue.rb
|
127
|
+
- ui/src/hokusai/automation/driver_commands/base.rb
|
128
|
+
- ui/src/hokusai/automation/driver_commands/get_attribute.rb
|
129
|
+
- ui/src/hokusai/automation/driver_commands/invoke.rb
|
130
|
+
- ui/src/hokusai/automation/driver_commands/locate.rb
|
131
|
+
- ui/src/hokusai/automation/driver_commands/trigger_keyboard.rb
|
132
|
+
- ui/src/hokusai/automation/driver_commands/trigger_mouse.rb
|
133
|
+
- ui/src/hokusai/automation/keys_transcoder.rb
|
134
|
+
- ui/src/hokusai/automation/selector.rb
|
135
|
+
- ui/src/hokusai/automation/server.rb
|
136
|
+
- ui/src/hokusai/backends/raylib.rb
|
137
|
+
- ui/src/hokusai/backends/raylib/config.rb
|
138
|
+
- ui/src/hokusai/backends/raylib/font.rb
|
139
|
+
- ui/src/hokusai/backends/raylib/keys.rb
|
140
|
+
- ui/src/hokusai/backends/sdl2.rb
|
141
|
+
- ui/src/hokusai/backends/sdl2/Monaco.ttf
|
142
|
+
- ui/src/hokusai/backends/sdl2/color.rb
|
143
|
+
- ui/src/hokusai/backends/sdl2/config.rb
|
144
|
+
- ui/src/hokusai/backends/sdl2/font.rb
|
145
|
+
- ui/src/hokusai/backends/sdl2/keys.rb
|
146
|
+
- ui/src/hokusai/block.rb
|
147
|
+
- ui/src/hokusai/blocks/button.rb
|
148
|
+
- ui/src/hokusai/blocks/checkbox.rb
|
149
|
+
- ui/src/hokusai/blocks/circle.rb
|
150
|
+
- ui/src/hokusai/blocks/clipped.rb
|
151
|
+
- ui/src/hokusai/blocks/cursor.rb
|
152
|
+
- ui/src/hokusai/blocks/dynamic.rb
|
153
|
+
- ui/src/hokusai/blocks/empty.rb
|
154
|
+
- ui/src/hokusai/blocks/hblock.rb
|
155
|
+
- ui/src/hokusai/blocks/image.rb
|
156
|
+
- ui/src/hokusai/blocks/input.rb
|
157
|
+
- ui/src/hokusai/blocks/label.rb
|
158
|
+
- ui/src/hokusai/blocks/panel.rb
|
159
|
+
- ui/src/hokusai/blocks/rect.rb
|
160
|
+
- ui/src/hokusai/blocks/scissor_begin.rb
|
161
|
+
- ui/src/hokusai/blocks/scissor_end.rb
|
162
|
+
- ui/src/hokusai/blocks/scrollbar.rb
|
163
|
+
- ui/src/hokusai/blocks/selectable.rb
|
164
|
+
- ui/src/hokusai/blocks/svg.rb
|
165
|
+
- ui/src/hokusai/blocks/text.rb
|
166
|
+
- ui/src/hokusai/blocks/titlebar/osx.rb
|
167
|
+
- ui/src/hokusai/blocks/toggle.rb
|
168
|
+
- ui/src/hokusai/blocks/vblock.rb
|
169
|
+
- ui/src/hokusai/commands.rb
|
170
|
+
- ui/src/hokusai/commands/base.rb
|
171
|
+
- ui/src/hokusai/commands/circle.rb
|
172
|
+
- ui/src/hokusai/commands/image.rb
|
173
|
+
- ui/src/hokusai/commands/rect.rb
|
174
|
+
- ui/src/hokusai/commands/scissor.rb
|
175
|
+
- ui/src/hokusai/commands/text.rb
|
176
|
+
- ui/src/hokusai/diff.rb
|
177
|
+
- ui/src/hokusai/error.rb
|
178
|
+
- ui/src/hokusai/event.rb
|
179
|
+
- ui/src/hokusai/events/keyboard.rb
|
180
|
+
- ui/src/hokusai/events/mouse.rb
|
181
|
+
- ui/src/hokusai/font.rb
|
182
|
+
- ui/src/hokusai/meta.rb
|
183
|
+
- ui/src/hokusai/mounting/loop_entry.rb
|
184
|
+
- ui/src/hokusai/mounting/mount_entry.rb
|
185
|
+
- ui/src/hokusai/mounting/update_entry.rb
|
186
|
+
- ui/src/hokusai/node.rb
|
187
|
+
- ui/src/hokusai/node_mounter.rb
|
188
|
+
- ui/src/hokusai/painter.rb
|
189
|
+
- ui/src/hokusai/publisher.rb
|
190
|
+
- ui/src/hokusai/style.rb
|
191
|
+
- ui/src/hokusai/types.rb
|
192
|
+
- ui/src/hokusai/util/clamping_iterator.rb
|
193
|
+
- ui/src/hokusai/util/piece_table.rb
|
194
|
+
- ui/src/hokusai/util/selection.rb
|
195
|
+
- ui/vendor/.gitkeep
|
196
|
+
- vendor/.gitkeep
|
197
|
+
- xmake.lua
|
198
|
+
homepage: https://codeberg.org/skinnyjames/hokusai
|
199
|
+
licenses:
|
200
|
+
- MIT
|
201
|
+
metadata:
|
202
|
+
source_code_uri: https://codeberg.org/skinnyjames/hokusai
|
203
|
+
post_install_message:
|
204
|
+
rdoc_options: []
|
205
|
+
require_paths:
|
206
|
+
- ui/src
|
207
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
208
|
+
requirements:
|
209
|
+
- - ">="
|
210
|
+
- !ruby/object:Gem::Version
|
211
|
+
version: '0'
|
212
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
213
|
+
requirements:
|
214
|
+
- - ">="
|
215
|
+
- !ruby/object:Gem::Version
|
216
|
+
version: '0'
|
217
|
+
requirements: []
|
218
|
+
rubygems_version: 3.5.22
|
219
|
+
signing_key:
|
220
|
+
specification_version: 4
|
221
|
+
summary: A Ruby library for writing GUI applications
|
222
|
+
test_files: []
|