babashka / clojure-lanterna Goto Github PK
View Code? Open in Web Editor NEWThis project forked from multimud/clojure-lanterna
A Clojurey wrapper around the Lanterna terminal output library.
Home Page: http://multimud.github.io/clojure-lanterna
This project forked from multimud/clojure-lanterna
A Clojurey wrapper around the Lanterna terminal output library.
Home Page: http://multimud.github.io/clojure-lanterna
This project https://github.com/borkdude/console-tetris has a master branch which can be compiled with GraalVM (using script/compile
). The master branch is still based on the original clojure-lanterna.
It is ported to our version of clojure-lanterna based on Lanterna 3 in the pod-babashka-lanterna branch.
It works on the JVM:
lein run -m tetris.core
and also as a babashka pod (using https://github.com/babashka/pod-babashka-lanterna and bb master):
$ cp ~.../pod-babashka-lanterna/pod-babashka-lanterna .
$ bb -cp src -m tetris.core
however the GraalVM-compiled version doesn't work which is something to look into.
Currently lein check
gives:
Reflection warning, lanterna/terminal.clj:93:3 - call to method moveCursor on com.googlecode.lanterna.terminal.Terminal can't be resolved (no such method).
Reflection warning, lanterna/terminal.clj:113:19 - reference to field getPosition on com.googlecode.lanterna.terminal.Terminal can't be resolved.
Reflection warning, lanterna/terminal.clj:142:3 - call to method applyForegroundColor on com.googlecode.lanterna.terminal.Terminal can't be resolved (no such method).
Reflection warning, lanterna/terminal.clj:145:3 - call to method applyBackgroundColor on com.googlecode.lanterna.terminal.Terminal can't be resolved (no such method).
Reflection warning, lanterna/terminal.clj:150:3 - call to method applySGR on com.googlecode.lanterna.terminal.Terminal can't be resolved (no such method).
Reflection warning, lanterna/screen.clj:34:26 - reference to field getTerminal on com.googlecode.lanterna.screen.Screen can't be resolved.
Reflection warning, lanterna/screen.clj:40:29 - reference to field getTerminal on com.googlecode.lanterna.screen.Screen can't be resolved.
Reflection warning, lanterna/screen.clj:104:4 - call to method setCursorPosition on com.googlecode.lanterna.screen.Screen can't be resolved (no such method).
Reflection warning, lanterna/screen.clj:106:4 - call to method setCursorPosition on com.googlecode.lanterna.screen.Screen can't be resolved (no such method).
Compiling namespace lanterna.terminal
Reflection warning, lanterna/terminal.clj:93:3 - call to method moveCursor on com.googlecode.lanterna.terminal.Terminal can't be resolved (no such method).
Reflection warning, lanterna/terminal.clj:113:19 - reference to field getPosition on com.googlecode.lanterna.terminal.Terminal can't be resolved.
Reflection warning, lanterna/terminal.clj:142:3 - call to method applyForegroundColor on com.googlecode.lanterna.terminal.Terminal can't be resolved (no such method).
Reflection warning, lanterna/terminal.clj:145:3 - call to method applyBackgroundColor on com.googlecode.lanterna.terminal.Terminal can't be resolved (no such method).
Reflection warning, lanterna/terminal.clj:150:3 - call to method applySGR on com.googlecode.lanterna.terminal.Terminal can't be resolved (no such method).
I'm was having trouble getting the basics working, but I figured out that the documentation was no longer accurate. Do you anticipate updating it? For now I will fall back to the last 2.X version and hope for some illumination. I can handle an alpha product just fine, but I'm not sure (without docs) how you want to model the lanterna 3 API in Clojure.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.