Skip to content

Commit 4f9b74a

Browse files
committed
PICO-8 0.1.10, auto-lowercase and more
1 parent 1840c32 commit 4f9b74a

28 files changed

+130
-34
lines changed

PICO-8.tmLanguage

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -203,7 +203,7 @@
203203
</dict>
204204
<dict>
205205
<key>match</key>
206-
<string>(?&lt;![^.]\.|:)\b(_draw|_init|_update|_update60|abs|add|all|assert|atan2|band|bnot|bor|btn|btnp|bxor|camera|cartdata|cd|circ|circfill|clip|cls|cocreate|color|coresume|cos|costatus|count|cstore|cursor|del|dget|dir|dset|exit|export|fget|flip|flr|folder|foreach|fset|help|holdframe|import|info|install_demos|install_games|keyconfig|line|load|ls|map|mapdraw|max|memcpy|memset|menuitem|mget|mid|min|mkdir|mset|music|pairs|pal|palt|peek|pget|poke|print|printh|pset|reboot|rect|rectfill|reload|resume|rnd|run|save|setmetatable|sfx|sget|sgn|shl|shr|shutdown|sin|splore|spr|sqrt|srand|sset|sspr|stat|sub|time|type|yield)\b</string>
206+
<string>(?&lt;![^.]\.|:)\b(_draw|_init|_update|_update60|abs|add|all|assert|atan2|band|bnot|bor|btn|btnp|bxor|camera|cartdata|cd|circ|circfill|clip|cls|cocreate|color|coresume|cos|costatus|count|cstore|cursor|del|dget|dir|dset|exit|export|extcmd|fget|flip|flr|folder|foreach|fset|help|holdframe|import|info|install_demos|install_games|keyconfig|line|load|ls|map|mapdraw|max|memcpy|memset|menuitem|mget|mid|min|mkdir|mset|music|pairs|pal|palt|peek|pget|poke|print|printh|pset|reboot|rect|rectfill|reload|resume|rnd|run|save|setmetatable|sfx|sget|sgn|shl|shr|shutdown|sin|splore|spr|sqrt|srand|sset|sspr|stat|sub|time|type|yield)\b</string>
207207
<key>name</key>
208208
<string>support.function.lua</string>
209209
</dict>

README.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,19 @@ __IMPORTANT__: Remember using the escape character for the backslash (`\\`) inst
9393

9494
## Version History
9595

96+
- __v2017.3.14__:
97+
- `added`: automatically lowercase the file upon saving.
98+
- `added`: `extcmd` function (syntax and autocomplete).
99+
- `added`: raspberry pi / pocketchip gpio snippet.
100+
- `added`: `forpairs` block snippet.
101+
- `added`: `repeat-until` block snippet.
102+
- `added`: `goto` block snippet.
103+
- `added`: semantic comments inside block snippets.
104+
- `changed`: updated api autocompletions to match PICO-8 0.1.10.
105+
- `changed`: `forin` block snippet renamed to `forall`.
106+
- `fixed`: hex number highlighting when not preceded by space.
107+
- `fixed`: comment start definition (`Toggle Comment` from the Command Palette).
108+
96109
- __v2016.7.1__:
97110
- `added`: `.no-sublime-package`.
98111
- `changed`: package is no longer compressed.

code/api.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# PICO-8 v0.1.8 API
1+
# PICO-8 v0.1.10 API
22

33
_draw
44
_init
@@ -36,6 +36,7 @@ dir
3636
dset
3737
exit
3838
export
39+
extcmd
3940
fget
4041
flip
4142
flr
@@ -99,4 +100,4 @@ stat
99100
sub
100101
time
101102
type
102-
yield
103+
yield

code/api/api.sublime-completions

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
{ "trigger": "dset", "contents": "dset(${1:idx},${2:val})$0" },
3636
{ "trigger": "exit", "contents": "exit()$0" },
3737
{ "trigger": "export", "contents": "export(${1:file})$0" },
38+
{ "trigger": "extcmd", "contents": "extcmd(\"${1:cmd}\")$0" },
3839
{ "trigger": "fget", "contents": "fget(${1:n},${2:f})$0" },
3940
{ "trigger": "flip", "contents": "flip()$0" },
4041
{ "trigger": "flr", "contents": "flr(${1:x})$0" },
@@ -70,7 +71,7 @@
7071
{ "trigger": "pget", "contents": "pget(${1:x},${2:y})$0" },
7172
{ "trigger": "poke", "contents": "poke(${1:addr},${2:val})$0" },
7273
{ "trigger": "print", "contents": "print(${1:str},${2:x},${3:y},${4:col})$0" },
73-
{ "trigger": "printh", "contents": "printh(${1:str})$0" },
74+
{ "trigger": "printh", "contents": "printh(${1:str},${2:filename},${3:overwrite})$0" },
7475
{ "trigger": "pset", "contents": "pset(${1:x},${2:y},${3:col})$0" },
7576
{ "trigger": "reboot", "contents": "reboot()$0" },
7677
{ "trigger": "rect", "contents": "rect(${1:x0},${2:y0},${3:x1},${4:y1},${5:col})$0" },

code/blocks/draw.sublime-snippet

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<snippet>
22
<content><![CDATA[
33
function _draw()
4-
${1}
4+
${1:-- draw code}
55
end
66
]]></content>
77
<tabTrigger>draw</tabTrigger>

code/blocks/else.sublime-snippet

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<snippet>
22
<content><![CDATA[
33
else
4-
${1}
4+
${1:-- else code}
55
end
66
]]></content>
77
<tabTrigger>else</tabTrigger>

code/blocks/elseif.sublime-snippet

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<snippet>
22
<content><![CDATA[
33
elseif ${1:condition} then
4-
${2}
4+
${2:-- elseif code}
55
end
66
]]></content>
77
<tabTrigger>elseif</tabTrigger>

code/blocks/for.sublime-snippet

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<snippet>
22
<content><![CDATA[
33
for ${1:var}=${2:first},${3:last},${4:incr} do
4-
${5}
4+
${5:-- loop code}
55
end
66
]]></content>
77
<tabTrigger>for</tabTrigger>

code/blocks/forall.sublime-snippet

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<snippet>
2+
<content><![CDATA[
3+
for ${1:value} in all(${2:table}) do
4+
${3:-- loop code}
5+
end
6+
]]></content>
7+
<tabTrigger>forall</tabTrigger>
8+
<scope>source.p8</scope>
9+
<description>for-in-all</description>
10+
</snippet>

code/blocks/forin.sublime-snippet

Lines changed: 0 additions & 10 deletions
This file was deleted.

code/blocks/forpairs.sublime-snippet

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<snippet>
2+
<content><![CDATA[
3+
for ${1:key},${2:value} in pairs(${3:table}) do
4+
${4:-- loop code}
5+
end
6+
]]></content>
7+
<tabTrigger>forpairs</tabTrigger>
8+
<scope>source.p8</scope>
9+
<description>for-in-pairs</description>
10+
</snippet>

code/blocks/function.sublime-snippet

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<snippet>
22
<content><![CDATA[
33
function ${1:foo}(${2:var})
4-
${3}
4+
${3:-- do something}
55
end
66
]]></content>
77
<tabTrigger>func</tabTrigger>

code/blocks/goto.sublime-snippet

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<snippet>
2+
<content><![CDATA[
3+
::${1:label}::
4+
goto ${1:label}
5+
]]></content>
6+
<tabTrigger>goto</tabTrigger>
7+
<scope>source.p8</scope>
8+
<description>goto</description>
9+
</snippet>

code/blocks/if.sublime-snippet

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<snippet>
22
<content><![CDATA[
33
if ${1:condition} then
4-
${2}
4+
${2:-- if code}
55
end
66
]]></content>
77
<tabTrigger>if</tabTrigger>

code/blocks/ifelse.sublime-snippet

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<snippet>
22
<content><![CDATA[
33
if ${1:condition} then
4-
${2}
4+
${2:-- if code}
55
else
6-
${3}
6+
${3:-- else code}
77
end
88
]]></content>
99
<tabTrigger>ifelse</tabTrigger>

code/blocks/init.sublime-snippet

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<snippet>
22
<content><![CDATA[
33
function _init()
4-
${1}
4+
${1:-- init code}
55
end
66
]]></content>
77
<tabTrigger>init</tabTrigger>

code/blocks/main-loop.sublime-snippet

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,16 @@
11
<snippet>
22
<content><![CDATA[
3-
function _init() end
4-
function _update() end
5-
function _draw() end
3+
function _init()
4+
${1:-- init code}
5+
end
6+
7+
function _update60()
8+
${2:-- update code}
9+
end
10+
11+
function _draw()
12+
${3:-- draw code}
13+
end
614
]]></content>
715
<tabTrigger>main</tabTrigger>
816
<scope>source.p8</scope>

code/blocks/repeat.sublime-snippet

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<snippet>
2+
<content><![CDATA[
3+
repeat
4+
${2:-- loop code}
5+
until ${1:condition}
6+
]]></content>
7+
<tabTrigger>repeat</tabTrigger>
8+
<scope>source.p8</scope>
9+
<description>repeat</description>
10+
</snippet>

code/blocks/update.sublime-snippet

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<snippet>
22
<content><![CDATA[
33
function _update()
4-
${1}
4+
${1:-- update code}
55
end
66
]]></content>
77
<tabTrigger>update</tabTrigger>

code/blocks/update60.sublime-snippet

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
<snippet>
22
<content><![CDATA[
33
function _update60()
4-
${1}
4+
${1:-- update code}
55
end
66
]]></content>
7-
<tabTrigger>update60</tabTrigger>
7+
<tabTrigger>update</tabTrigger>
88
<scope>source.p8</scope>
99
<description>_update60()</description>
1010
</snippet>

code/blocks/while.sublime-snippet

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<snippet>
22
<content><![CDATA[
33
while ${1:condition} do
4-
${2}
4+
${2:-- loop code}
55
end
66
]]></content>
77
<tabTrigger>while</tabTrigger>

code/hacks/gpio.sublime-snippet

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<snippet>
2+
<content><![CDATA[
3+
-- 128 pin values in the range [0..255]
4+
poke(0x5f80, 255) -- send 255 to gpio0
5+
peek(0x5f81) -- get value from gpio1
6+
]]></content>
7+
<tabTrigger>gpio</tabTrigger>
8+
<scope>source.p8</scope>
9+
<description>raspi/pchip gpio</description>
10+
</snippet>

messages.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
{
22
"install": "messages/install.txt",
33
"2016.6.30": "messages/2016.6.30.txt",
4-
"2016.7.1": "messages/2016.7.1.txt"
4+
"2016.7.1": "messages/2016.7.1.txt",
5+
"2017.3.14": "messages/2017.3.14.txt"
56
}

messages/2017.3.14.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
Sublime PICO-8 v2017.3.14
2+
3+
Changelog
4+
=========
5+
6+
- added: automatically lowercase the file upon saving.
7+
- added: "extcmd" function (syntax and autocomplete).
8+
- added: raspberry pi / pocketchip gpio snippet.
9+
- added: "forpairs" block snippet.
10+
- added: "repeat-until" block snippet.
11+
- added: "goto" block snippet.
12+
- added: semantic comments inside block snippets.
13+
- changed: updated api autocompletions to match PICO-8 0.1.10.
14+
- changed: "forin" block snippet renamed to "forall".
15+
- fixed: hex number highlighting when not preceded by space.
16+
- fixed: comment start definition ("Toggle Comment" from the Command Palette).

pico_on_save.py

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import sublime
2+
import sublime_plugin
3+
4+
class PicoToLower(sublime_plugin.TextCommand):
5+
def run(self, edit):
6+
upper = self.view.find_all("[A-Z]+")
7+
for region in upper:
8+
self.view.replace(edit, region, self.view.substr(region).lower())
9+
10+
class PicoOnSave(sublime_plugin.EventListener):
11+
def on_pre_save(self, view):
12+
syntax = view.settings().get("syntax")
13+
if "PICO-8" in syntax:
14+
view.run_command("pico_to_lower")

pico_run_cart.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
import sublime, sublime_plugin
2-
import subprocess, threading
1+
import sublime
2+
import sublime_plugin
3+
import subprocess
4+
import threading
35

46
class PicoRunCartCommand(sublime_plugin.TextCommand):
57
def run(self, edit):

pico_setup_path.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import sublime, sublime_plugin
1+
import sublime
2+
import sublime_plugin
23

34
class PicoSetupPathCommand(sublime_plugin.TextCommand):
45
def run(self, edit):

0 commit comments

Comments
 (0)