Comments (14)
I don't want to give any promises, but it will hopefully be done in a month or so.
from closh.
JVM is faster, but has a lot slower startup time. Waiting 10 seconds for your shell to start up every time would be a no-go for me.
Otherwise I would also like to see a JVM version.
from closh.
I am hoping that in the future it could be compiled to native code with Graal which should make the startup time be less than a second.
Anyway, the JVM port is in progress in the master branch. It is mostly done, there are just a few issues that need to be ironed out before a release.
from closh.
I come from js and node background so it is easier for me to hack on. Plus lumo is awesome and it does a lot of heavy-lifting. Basically when I saw lumo I got the idea I could just hack the REPL a bit and got the prototype working.
I think with the new clj
tool and clj.main
Clojure proper gets more hackable too. It would be a cool exercise to abstract the code and implement platform specific code for JVM support. I would like to have that eventually down the road.
from closh.
from closh.
this is exciting. when will this be out?
from closh.
Just FYI here are remaining issues that need to be completed for the JVM integration so that it can be released for v0.3
:
- Fix remaining failing unit tests regarding file redirection
- Fix
cd
ing to non-existing directory which ends in infinite loop - Handle SIGINT properly
- For example when a process runs (like
sleep 10
) andctrl+c
is pressed then shell quits. - Make sure it also interrupts properly when running in process thread, e.g.
(Thread/sleep 10000)
and pressingcrtl+c
- For example when a process runs (like
- Bonus: Port the
autojump
integration - Fix glob expansion when switching directories
from closh.
would it also be possible to have nrepl support?
from closh.
@zcaudate What would be the use case for having nrepl?
from closh.
@dundalek: I'd be looking at it as a replacement for lein
from closh.
it'd be essentially like having both the shell and the repl in one.
from closh.
@zcaudate I see, it should be possible to include nrepl middleware to start an nrepl server. Could you create a separate issue so we can track it there?
from closh.
I think this can be closed as there is a JVM version now..? 🎉 #87
I'm already playing with it => #92
from closh.
I agree. Unfortunately more blocking issues were discovered. There are separate issues opened, I label them with bug and jvm tags.
from closh.
Related Issues (20)
- Adjacent symbols and strings considered as two tokens
- cd into directory just by typing the name
- Glob not properly expanding in JVM version HOT 1
- shell completion bugs HOT 2
- Redirects do not work correctly when reassigning std descriptors
- Support `cd - to` go to previous directory
- How to set PATH ? HOT 3
- Contributing HOT 2
- Tab-complete issues with bash integration HOT 1
- SCI/GraalVM port reports wrong line numbers on error
- rebel-readline does not work when compiled with Graal native-image
- Auto-complete woes on macOS 10.12 HOT 1
- Closh requires node version 9, but your version is v12.18.3 HOT 1
- init file use let set multiple value will hang
- Suggestion: structured commands with renderers HOT 3
- Fail fast
- How could I require closh in another environment? HOT 2
- Feature request: nix instructions + nix package integration HOT 1
- depstar is deprecated and archived; switch to tools.build
- Consider upgrading SCI HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from closh.