In my work project, we use figwheel. Every time I start it, I get some spam in the REPL that seems unnecessary. (I’m using Cursive)
May 13, 2020 1:55:21 PM org.jline.utils.Log logr
WARNING: Unable to create a system terminal, creating a dumb terminal (enable debug logging for more information)
Unable to detect a system Terminal, you must not launch the Rebel readline
from an intermediate process.
If you are using `lein` you may need to use `lein trampoline`.
I can remove the first three lines by adding
(System/setProperty "org.jline.terminal.dumb" "true")
to cursive_repl.clj
. This has something to do with the jline3 library, which I guess IntelliJ uses for handling console output.
Then I’m left with:
Unable to detect a system Terminal, you must not launch the Rebel readline
from an intermediate process.
If you are using `lein` you may need to use `lein trampoline`.
This is something that figwheel produces because I’m using a “dumb” terminal, as far as I can read from the source code.
If I try to disallow using a “dumb” terminal by setting (System/setProperty "org.jline.terminal.dumb" "false")
, the REPL crashes:
Syntax error (IllegalStateException) compiling at (dev/cursive_repl.clj:12:1).
Unable to create a system terminal
Full report at:
/var/folders/_d/h17164js38j8rq2hg4bjfxbm0000gn/T/clojure-4872619934357427171.edn
So, I’m wondering if there is some way to get rid of the message, or if I’m stuck with it?I would prefer not to mess with our project.clj
, since other people depend on it. There’s a rebel-readline
dependency in :profiles {:dev {:dependencies
vector, and I guess the people who are running from the terminal depend on that. We’ve got quite a few people developing on our frontend.
I’m wondering if perhaps there’s some way to override exactly that part of the profile when calling start-figwheel!
, or something like that.
@reefersleep are you using lein-figwheel?