-
-
Notifications
You must be signed in to change notification settings - Fork 116
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conjure ignores ;
in Julia
#416
Comments
So as to add a little bit of info to this in the event I get hit by a bus or future people look back.. I spent a good bit of yesterday poking and prodding things to see what I could learn. The biggest take away I could gather is that interfacing with the Julia REPL via All is not lost as mentioned elsewhere on here I looked into the RemoteREPL and its legit! I think we can use this to give comparable support to Julia as is for Clojure. Somewhere I found this shell script and I made some modifications to it (below) and it can currently take in a string argument that will 100% be sent to the remote REPL and will be processed as expected. It will then My Lua skills are meh.. and my fennel skills are worse.. I'm going to give this a shot but don't let me stop anyone... at least not till I get an MR in... Any way that covers basic I/O that we have with the current I looked at the RemoteREPL and it has #!/bin/bash
#=
[[ $1 == +* ]] && juliaup_arg=$1 && shift # release channel for juliaup
exec julia ${juliaup_arg} -O0 --compile=min -q -i --startup-file=no -e 'include(popfirst!(ARGS))' "$0" "$@"
=#
let
# Use an anonymous module to avoid polluting the Main namespace
init_mod = Module()
@eval init_mod begin
using RemoteREPL, Sockets, ReplMaker
if length(ARGS) > 1
host = ARGS[1]
stdio = ARGS[2]
else
host = Sockets.localhost
stdio = ARGS[1]
end
atreplinit() do repl
prompt = connect_repl(host, startup_text=false, repl=repl)
println(RemoteREPL.remote_eval(stdio))
exit()
end
end
end This Example uses: ╰─± ./get_variable.sh "[rand() for i in 1:1000];"
RemoteREPL.remote_eval(args) = nothing
╰─± ./get_variable.sh "b = 45"
RemoteREPL.remote_eval(args) = 45
╰─± ./get_variable.sh "2b+45"
RemoteREPL.remote_eval(args) = 135 So the first thing I am going to do is begin hacking on the |
PR merged but we can still maybe improve the tree sitter support by including |
Got it! Required a whole new system for overriding tree sitter selections but it works and can be used by any other client. Hooray for reusable leverage! Let me know if it works okay for you, looks good to me but I'm not a Julia person so I don't know what to look for to break it. |
Just tried it out and it works! Maybe we can make you a Julia person.. go try |
When using Julia, Conjure seems to ignore
;
placed at the end of a line. In Julia it is used to suppress the returning of the lines output. This is a problem because when you open a 15,000 line CSV into a DataFrame, Conjure kind of craps the bed and becomes really slow as it tries to print every single line.Example code to return the problem.
if you run the above in Conjure it will return the dataframe into the log. If you run it in a REPL it will not return anything (the desired result).
This is a hack to not return something
I have tested this with
:ConjureEval
in normal and visual modes. I've done<localleader>eb
and get the same results. Pretty much I've tried it with every eval method I saw as being made public in Conjure.The text was updated successfully, but these errors were encountered: