Add bin and edit workflow
Gitea Actions Demo / Explore-Gitea-Actions (push) Failing after 9s

This commit is contained in:
2026-09-16 13:11:16 -06:00
parent c8ac4fcae5
commit 4cee170d66
17576 changed files with 895740 additions and 2 deletions
@@ -0,0 +1,79 @@
# = OpEsc
#
# NOTE: As of v3.0 of Facets these have been renamed:
#
# op_plus_self -> op_plus
# op_minus_self -> op_minus
# op_plus -> op_add
# op_minus -> op_sub
# op_case_eq -> op_case
#
# TODO: In the future we might also rename:
#
# op_lshift -> op_push
# op_rshift -> op_pull
# op_store -> op_index
# op_fetch -> op_index (b/c [] and []= in same file)
module OpEsc
OPERATORS = %w{ +@ -@ + - ** * / % ~ <=> << >> < > === == =~ <= >= | & ^ []= [] }
OPERATORS_REGEXP = Regexp.new( '(' << OPERATORS.collect{ |k| Regexp.escape(k) }.join('|') << ')' )
OPERATORS_ESC_TABLE = {
"+@" => "op_plus",
"-@" => "op_minus",
"+" => "op_add",
"-" => "op_sub",
"**" => "op_pow",
"*" => "op_mul",
"/" => "op_div",
"%" => "op_mod",
"~" => "op_tilde",
"<=>" => "op_cmp",
"<<" => "op_lshift", #push?
">>" => "op_rshift", #pull?
"<" => "op_lt",
">" => "op_gt",
"===" => "op_case",
"==" => "op_equal",
"=~" => "op_apply",
"<=" => "op_lt_eq",
">=" => "op_gt_eq",
"|" => "op_or",
"&" => "op_and",
"^" => "op_xor",
"[]=" => "op_store",
"[]" => "op_fetch"
}
# Applies operator escape's according to OPERATORS_ESCAPE_TABLE.
#
# OpEsc.escape('-') #=> "op_sub"
#
# CREDIT: Trans
def self.escape(str)
str.to_s.gsub(OPERATORS_REGEXP){ OPERATORS_ESC_TABLE[$1] }
end
#
def self.method_to_filename(name)
fname = escape(name)
fname = fname[0...-1] if fname =~ /[\!\=\?]$/
fname
end
## Require a file with puncuation marks escaped.
##
## require_esc '[].rb'
##
## in actuality requires the file 'op_fetch.rb'.
##
## def require_esc( fpath )
## fdir, fname = File.split(fpath)
## fname = method_to_filename(fname)
## path = File.join(fdir, fname)
## require(path)
## end
end