Skip to content

Commit

Permalink
chore: stashing progress
Browse files Browse the repository at this point in the history
  • Loading branch information
prettyirrelevant committed Jan 7, 2024
1 parent 499caab commit 0c35eb0
Showing 1 changed file with 9 additions and 12 deletions.
21 changes: 9 additions & 12 deletions api/types/languages/languages.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,23 @@ type ProgrammingLanguage string
func (p *ProgrammingLanguage) CodeCommand(sourceCode string) []string {
switch *p {
case Python:
return []string{"/bin/sh", "-c", fmt.Sprintf("printf '%%s\n' \"%s\" > /tmp/code.py && python /tmp/code.py", sourceCode)}
return []string{"/bin/sh", "-c", fmt.Sprintf("python <(cat << 'EOF'\n%s\nEOF\n)", sourceCode)}
case Ruby:
return []string{"/bin/sh", "-c", fmt.Sprintf("printf '%%s\n' \"%s\" > /tmp/code.rb && ruby /tmp/code.rb", sourceCode)}
return []string{"/bin/sh", "-c", fmt.Sprintf("ruby <(cat << 'EOF'\n%s\nEOF\n)", sourceCode)}
case Javascript:
return []string{"/bin/sh", "-c", fmt.Sprintf("printf '%%s\n' \"%s\" > /tmp/code.js && node /tmp/code.js", sourceCode)}
return []string{"/bin/sh", "-c", fmt.Sprintf("node <(cat << 'EOF'\n%s\nEOF\n)", sourceCode)}
case Typescript:
return []string{"/bin/sh", "-c", fmt.Sprintf("printf '%%s\n' \"%s\" > /tmp/code.ts && bun /tmp/code.ts", sourceCode)}
return []string{"/bin/sh", "-c", fmt.Sprintf("bun <(cat << 'EOF'\n%s\nEOF\n)", sourceCode)}
case Lua:
return []string{"/bin/sh", "-c", fmt.Sprintf("printf '%%s\n' \"%s\" > /tmp/code.lua && lua /tmp/code.lua", sourceCode)}
return []string{"/bin/sh", "-c", fmt.Sprintf("lua <(cat << 'EOF'\n%s\nEOF\n)", sourceCode)}
case Kotlin:
return []string{"/bin/sh", "-c", fmt.Sprintf("printf '%%s\n' \"%s\" > /tmp/code.kt && kotlinc /tmp/code.kt -include-runtime -d /tmp/code.jar && kotlin /tmp/code.jar", sourceCode)}
return []string{"/bin/sh", "-c", fmt.Sprintf("kotlinc <(cat << 'EOF'\n%s\nEOF\n) -include-runtime -d /tmp/code.jar && kotlin /tmp/code.jar", sourceCode)}
case Julia:
return []string{"/bin/sh", "-c", fmt.Sprintf("printf '%%s\n' \"%s\" > /tmp/code.jl && julia /tmp/code.jl", sourceCode)}
// figure out a way run zig source code
// case Zig:
// return []string{"/bin/sh", "-c", fmt.Sprintf("printf '%%s\n' \"%s\" > /tmp/code.zig && zig build run /tmp/code.zig", sourceCode)}
return []string{"/bin/sh", "-c", fmt.Sprintf("julia <(cat << 'EOF'\n%s\nEOF\n)", sourceCode)}
case Rust:
return []string{"/bin/sh", "-c", fmt.Sprintf("printf '%%s\n' \"%s\" > /tmp/rust_code.rs && rustc --out-dir=/tmp /tmp/rust_code.rs && /tmp/rust_code", sourceCode)}
return []string{"/bin/sh", "-c", fmt.Sprintf("rustc -o /tmp/code <(cat << 'EOF'\n%s\nEOF\n) && /tmp/code", sourceCode)}
case Golang:
return []string{"/bin/sh", "-c", fmt.Sprintf("printf '%%s\n' \"%s\" > /tmp/code.go && go run /tmp/code.go", sourceCode)}
return []string{"/bin/sh", "-c", fmt.Sprintf("go run <(cat << 'EOF'\n%s\nEOF\n)", sourceCode)}
default:
return nil
}
Expand Down

0 comments on commit 0c35eb0

Please sign in to comment.