To use this you will need to run
npm install meowclient canvas dotenv
Then create a .env file in this format
SCRATCH_USERNAME=user
SCRATCH_PASSWORD=pass
#!/usr/bin/env -S bash -c "docker run -p 8080:8080 -it --rm \$(docker build --progress plain -f \$0 . 2>&1 | tee /dev/stderr | grep -oP 'sha256:[0-9a-f]*')" | |
# syntax = docker/dockerfile:1.4.0 | |
FROM node:20 | |
WORKDIR /root | |
RUN npm install sqlite3 |
import writer | |
import string_writer | |
pub fn main() { | |
string_writer.create() | |
|> writer.write("Text1") | |
|> writer.write("Text2") | |
|> string_writer.print() | |
} |
class RecursiveDescentParser<T extends { type?: string }> { | |
private readonly tokens: T[]; | |
private current = 0; | |
constructor(tokens: T[]) { | |
this.tokens = tokens; | |
} | |
/** | |
* Check if the current token matches one of the given types |
If you are using this already, consider changes soon due the discussion around current ESX proposal.
Feel free to keep an eye on udomsay as that will be the implementation reference for consumers.
module Lang exposing (..) | |
import Dict exposing (Dict) | |
import Type exposing (..) | |
type Lit | |
= IntLit Int | |
| CharLit Char |
This bookmarklet expands the search bar when it is focused, similar to the wiki. | |
This is inspired by a suggestion I saw. | |
Versions | |
v1: Initial release | |
v2: Updated to use functions in the scratch-www events to prevent copy-pasting code | |
v2.1: Fixed a bug that prevented the search bar from unexpanding | |
v3: Tweaked to allow dynamic enabling and disabling (not in the bookmarklet though) | |
v4: Updated to catch up with the SA PR (obiviously with the addon APIs removed) |
#include <time.h> // Robert Nystrom | |
#include <stdio.h> // @munificentbob | |
#include <stdlib.h> // for Ginny | |
#define r return // 2008-2019 | |
#define l(a, b, c, d) for (i y=a;y\ | |
<b; y++) for (int x = c; x < d; x++) | |
typedef int i;const i H=40;const i W | |
=80;i m[40][80];i g(i x){r rand()%x; | |
}void cave(i s){i w=g(10)+5;i h=g(6) | |
+3;i t=g(W-w-2)+1;i u=g(H-h-2)+1;l(u |
javascript:(d=>{var css=`:root{background-color:#fefefe;filter:invert(100%)}*{background-color:inherit}img:not([src*=".svg"]),video{filter: invert(100%)}`,style,id="dark-theme-snippet",ee=d.getElementById(id);if(null!=ee)ee.parentNode.removeChild(ee);else {style = d.createElement('style');style.type="text/css";style.id=id;if(style.styleSheet)style.styleSheet.cssText=css;else style.appendChild(d.createTextNode(css));(d.head||d.querySelector('head')).appendChild(style)}})(document) |