Skip to content

Instantly share code, notes, and snippets.

View Crinfarr's full-sized avatar
👾
Pretending to work

Asher Hoeveler Crinfarr

👾
Pretending to work
View GitHub Profile
@Crinfarr
Crinfarr / Scalable.hx
Created August 30, 2023 20:54
Scalable HaxeUI macro impl
package haxe.ui.core;
//in file path haxe/ui/core
#if !macro
import haxe.ui.core.Component;
#end
@:autoBuild(haxe.ui.macros.ScalableType.applyScalable())
interface Scalable {
private var baseWidth:Null<Float>;
private var baseHeight:Null<Float>;
@Crinfarr
Crinfarr / BitIterators.hx
Last active April 28, 2023 20:48
Some tools for iterating over the bits of various types
package lnk.helpers;
import haxe.io.Bytes;
import haxe.Exception;
private enum Endianness {
BigEndian;
LittleEndian;
}
@Crinfarr
Crinfarr / Bits.hx
Created March 30, 2023 15:37
Infinite bit-perfect haxe abstract
import haxe.io.BytesBuffer;
import haxe.Exception;
import haxe.io.Bytes;
import haxe.ds.Vector;
abstract Bits(Array<Int>) {
/**
* How many bits long this is
*/
public var length(get, never):Int;
@Crinfarr
Crinfarr / DfParse.hx
Created September 29, 2022 12:36
DF command output parser
package ;
class DfParser {
static function parse(i:String):Array<{Filesystem:String, Size:String, Used:String, Avail:String, UsePct:String, MountedOn:String}> {
final result:String = i;
var resultArr:Array<String> = ~/(?=\n)/gm.split(result);
resultArr = resultArr.filter((s) -> {return if (s == "\n") false else true;});
resultArr.splice(0, 1);
var retarr:Array<{Filesystem:String, Size:String, Used:String, Avail:String, UsePct:String, MountedOn:String}> = [];