hey, in the keybinding section you suggest 'ctrl-, y': 'chlorine:connect-clojure-socket-repl'
for non-vim users
but I don't seem to be able to activate ctrl-, y
is this supposed to be control plus y key straight up or some other thing
if you're on windows or linux, ctrl-, will probably show settings -- the recommendation in the README was recently modified to suggest ctrl-; as a prefix. does that work any better for you?
oh it's control + , then y
not it works fine now, I just found the format confusing
I wasn't sure what the actual sortcut was
fwiw, i believe that's the atom folks' doing π
A quick question, when I connect to repl I don't get a console
only a quick mention that it was successfully connected
is there some sort of plugin I might be missing?
i think one thing that chlorine uses is ink -- do you have that? https://github.com/JunoLab/atom-ink
yeah
which plugins are you using?
apparently, this is what is in my ~/.atom/packages:
asciidoc-preview atomic-management chlorine ink language-swift linter-ui-default parinfer set-syntax web-view
atom-browser atom-ide-terminal hasklig intentions linter lisp-paredit rainbow-delimiters structure-view
atom-file-icons busy-signal highlight-selected keymap-control linter-joker minimap restart-atom terminal-tab
I just tried out chlorine last night and had/have both of these issues as well
fwiw, iiuc, chlorine's console isn't something you can type into.
I mean there's no console window period
Okay, which OS are you using, and which Atom version?
(on Linux but chromeOs crostini vm which uses Debian I think)
latest Atom downloaded today, macOS
Okay, I'll update my Atom editor and start a "clean" version of the editor and see if I can reproduce
Latest here as well, away from computer now but can get exact version in a little bit
I installed atom, chlorine, ink and then I connected to socket repl, but no console/terminal appears
Is there any info if it was connected or not?
it said connected
It has the connected popup
Chlorine only needs Ink to work. Maybe some new version of Ink or Atom broke some API, I'll look at it as soon as possible
Afaik, I have the latest Atom, Ink and Chlorine. It works, after a bunch of boneheaded newbie missteps π
I was meaning to ask, though, what other plugins are common along with Chlorine. For editing, etc. Enough old blog posts around to confuse anyone. Whatβs hip?
I use lisp-paredit
and parinfer
. As I like VIM bindings, I also use vim-mode-plus
but it will not make any difference in editing Clojure
There are people that use rainbow-delimiters
too, but I'm colorblind so... Β―\(γ)/Β―
Okay, I just installed a fresh copy of Atom, now I'm installing Chlorine and Ink using the installer inside Atom.
Ink
's version is 0.11.0
, Chlorine
is 0.1.11
And, yes, there's a bug π
I'll track it here: https://github.com/mauricioszabo/atom-chlorine/issues/93
There were some integrations tests failing currently on some of my branches, but I was expecting then to fail, so I didn't look at then π’
Thanks, will check those out!
Okay, it seems that Ink removed the Console API I was using
is there a way to get an older version of Ink
Yes, you can install with apm install ink@0.10.12
.
I opened an issue on Ink page, there's zero documentation on how to use the new API. I think I'll publish a quick-fix right now (the console will be REALLY UGLY for a while) until I find a better way to solve this issue...
where do I put in this command?
Run on any linux/windows/mac terminal
ok thanks
works now π
Great! Some information on this issue, they removed a console API I was using, and the new one doesn't do what I need. It doesn't even use HTML for rendering the text...
unrelated, but I've heard people complain here and there about lag in atom, this is my first time playing with it. The lag is very noticeable and I'm pretty sure it's made worse by the fact that I'm in a weird linux VM thing. Do you find the lag in text input noticeable? Do you get used to it? I love the fact that Chlorine is a cljs app and can really see that being worth it to make the switch from emacs, but my first impressions of atom in general are pretty so-so
@jjttjj It shouldn't be noticeable. It may be some setting or plugin you have...
thanks good to know. It's definitely my weird chromeOS+crostini (google's very beta chromeos linux vm) then
(it has rendering issues with other things. strangely not emacs though)
I remember that I did notice the input lag at the beginning, but not anymore (only when I change editor for some reason then go back to Atom).
I wonder if it's because it's trying to provide code assist/insight and your REPL doesn't have compliment
as a dependency? I can't remember if that can contribute to lag...
oh interesting. Yeah I probably shouldn't judge anything yet since I only used the now broken version so far but I'll try using the older version of Ink a little later and get compliment going and report back
I don't think it contributes to lag, really. Once I was running Atom inside a VM and I do remember that I had to activate an experimental 3D rendering flag and add more video card memory to the VM, otherwise Atom was pretty unusable inside the VM
Fwiw, Iβm on a MacBook Pro with no lag in Atom.
yeah i was also gonna experiment with gpu rendering... I have it on now, but some programs work better with it off
Also, rainbow-delimiters
can cause terrible lag in larger files. Just FYI. I've tried it a couple of times (because I like matching colored parens) but I've uninstalled it each time after about a day of use.
I'd also make sure you have the three "refresh" options off in Chlorine's settings (although I believe "off" is the default now?).
Off is the default since the last version
@mauricio.szabo Did you see my comment on that commit in PR 96?
what should compliment
functionality look like?
I only get autocomplete for symbol names and that's it
compliment
should complete local vars, symbols on imported namespaces (and on the current namespace, also on clojure.core) and complete keywords too
But it only works for Clojure code (for now)
Ok, published Chlorine version 0.1.12, fixing the Ink console. The console lost some functionality (for now) until I have time to make it as it was previously.
Also, in this version if you enable "Experimental features" on the configs you'll get a preview of the new way of detecting blocks, with everything we discussed here already implemented. So far I didn't found any problems on the code I work with, but it's not extensibly tested (and that's why it's experimental :D)
Thanks @mauricio.szabo! I'll update and work with the experimental stuff this afternoon and report back on my experience!
Great, I'll also keep testing here. So far things seems to be working. I wanted to test a little bit better before the release, but this Ink removal of console caught me off-guard
Are you sure that eval block/top-block change got into the release? So far, every time I've tried to eval block, the entire top-level form is being eval'd...
(and I also realized that I don't use Chlorine's eval functions by default -- I use my inspect functions which I expect still have the old logic for selecting code to eval?)
That was without the experimental features enabled, FYI. With those enabled, eval block seems to work as expected (so far).
Ah, yes, I will publish a new version, that eval-block that you commented on my PR did not enter on this release, my bad
Ok, published 0.1.13
Also, I'll probably publish another version tomorrow or even today. I just found that my "quick and dirty fix" for Console is not sufficient for multiple workflows that I depend on...
It would be nice to have the inspect
functions updated to match the evaluate
functions, in terms of detecting blocks.
Also, is this way exposed so that it can be accessed from init.coffee
? In case other folks want to roll their own commands based on code blocks?
If it can be used from init.coffee
, I might be tempted to suggest pulling the inspect
functions out of the core -- and I'll just implement them in my init.coffee
file and point REBL users at that, since I have four REBL-related functions in there already.
hmmm ok just tried upgrading to the new release, i'm getting a new repl window now but it seems like I can't input in this window nor is there any output from eval-block
(I'm not positive what the expected behavior is)
on the other hand, things are actually eval'ing in the file buffers themeselves now, and it's not as painfully slow anymore. This is pretty cool
Is there a command to make the in-file (instarepl?) code evaluations "go away"
When I evaluate a block the results just stay there
On this new release the evaluations don't stay on the console because of limitation on this other Ink
I'm seeing nothing on the console at all, and the instarepl evaluations are just staying there forever
ok escape
on the evaluations get them to go away, is this the intended workflow?
There's a command to make then go away, I think it "clear inline results"
cool
inline-results:clear-all
Is the command name
gotcha, thanks!
As for the console, the evaluations will be back on console. The thing is, the library I'm using to render the console and these inline evaluations removed some code on the new release, and I must now re-add these on Chlorine because it is also breaking my workflow
For example, if I refresh the namespace and get an error, I don't know where it happened
cool no worried, just wanted to report
so even when things were working, the repl didn't accept input and just showed the result of evaluations? Did I understand that correctly from something I read here?
Yes, when you evaluated on the editor, it rendered the results of evaluations below the source code and also on the Console
@mauricio.szabo I decided to go ahead and define inspect-block
and inspect-top-block
in my init.coffee
to match the other four commands I have in there. I think there are a few REBL/Atom/Chlorine users so removing them from core would break a few people's workflow but they could easily restore them based on my atom-chlorine-setup
repo...
I'm also changing ctrl-,
in my keymap.json
to ctrl-;
to match Chlorine's README non-`vim` bindings, so that folks using my setup don't have problems on Windows/Linux in the future (that'll take some getting used to for me!).
https://github.com/seancorfield/atom-chlorine-setup/blob/master/init.coffee#L50-L83
Currently relies on EditorUtils.getCursorInBlockRange(editor)
and the {topLevel:true}
variant.