
Tokamak: A Rust IDE for Atom - m0th87
https://vertexclique.github.io/tokamak/
======
stevebmark
Does plugging in a third party code completion engine really make this an IDE?
Do I get cross file variable/method/class name refactoring? Do I get runtime
code debugging including stack inspection and breakpoints? Do I get test suite
integration?

Atom itself is a text editor, not a code editor, which is why I'm asking if
this set of functionality crosses that distinction line. If Atom is capable of
being a true IDE (code editor) then that would be big news.

~~~
akerro
No, but it's written in JavaScript so.. ALL YAY!

Why are people wasting time on such "IDEs"?

~~~
sdesol
From what I've gathered so far, IDEs are suppose to be like crack. If you get
them addicted to your stuff, you'll be able to convert them to paying
customers for other things down the road. Considering the resources that
GitHub and Microsoft are throwing at atom and vscode, I do buy into this
premise a bit.

I'm as baffled as you are, but I'm definitely not their target audience, as
I'm content with vim and a terminal. If somebody can point me to some research
papers on this, I would love to learn more about this phenomenon.

~~~
akerro
> I would love to learn more about this phenomenon.

I think it's just what cool kids use these days. Development costs are low, so
you get what you pay for.

------
echelon
Can this (or any) Rust IDE jump to definitions, do project-wide code
refactoring, or highlight incorrect parameter types? These are the three big
things I really want in an IDE, and without them I'll probably stick to Vim
(as I'm more productive there); the features I mentioned are kind of a tipping
point between editor/IDE use for me.

(It doesn't look like any of these are supported based on the advertised
features, but maybe I didn't read closely enough.)

~~~
TheHydroImpulse
Racer (which this package uses) supports jumping to definitions (including
standard library ones).

~~~
groovy2shoes
_Allegedly_ , Racer supports jumping to definitions, but in my experience with
the Vim plugin, it's not particularly reliable, e.g. in the way ctags is. What
I found most frustrating was that it seemed to look for a definition in the
current buffer, failing that it looked in the standard library, and failing
that it just did a substring search in the current buffer. It was practically
worthless to me once my projects grew beyond a single module.

~~~
phildawes
How long ago did you try it? (racer maintainer here!)

~~~
Manishearth
My current racerd build (which I rebuilt today) still can't find certain
methods.

~~~
beefsack
Some examples of ones that don't work would probably be very valuable for the
OP.

~~~
Manishearth
I've already filed issues about this :)

------
levemi
Nice. Personally, I'm also excited about an IntelliJ plugin that's being
worked on:

[https://github.com/intellij-rust/intellij-rust](https://github.com/intellij-
rust/intellij-rust)

The rust tooling is really coming around.

------
beefsack
The plugin ecosystem seems to be really flourishing in Atom, the Go plugin was
great and quite excited to see this.

I try Atom every couple of months but never last long before heading back to
my terminal. I'm assuming it's only a matter of time though before it's
polished and fast enough that we'll see a lot of converts.

~~~
simcop2387
Main thing that's kept me from using it is lack of good support for remote
editing. Once it's got something that it'll fit the way I want to use it much
nicer.

~~~
Scarbutt
Switch to Vim or Emacs and you don't have to worry about remote editing
plugins anymore!

~~~
simcop2387
That's largely the way I do it, but I have to use windows at my current job,
so a good terminal isn't really present. putty does ok but it's cumbersome
compared to openssh, and cygwin makes it better to use but terminals aren't
very good. My current setup is ConEMU and cygwin.

Trying to get permission to setup some kind of VM on the machine, (likely VB)
so I can use what I'm used to.

------
Xorlev
Is this just bundling the existing Atom Rust tools with a convenient menu for
creating projects?

~~~
halestock
That's what I was wondering, by consuming this are we relying on this
project's author to keep Atom up to date?

~~~
seanp2k2
Another thing doing this for AVR etc development is PlatformIO:
[http://platformio.org](http://platformio.org)

It also does builds and code uploads to boards and other things like library
management.

------
dawidloubser
I do enjoy using Atom as an everyday editor for ECMAScript / React apps, where
the convention is to have many very small files. ES6 + Hasklig font +
Ligatures make for a particularly visually-pleasing coding experience.

Unfortunately, Atom has severe performance issues with files that are anything
above "tiny". For example, a 500-line XML file will lock Atom up for many
seconds, to several minutes, while it's inefficient little ECMAScript parsing
engine tries to chew through it. I build the latest version almost daily in
anticipation of improvements in this area!

This is what prevents my adopting this otherwise lovely, vibrant, flexible
editor for all my tasks.

A real IDE like IntelliJ has no problems with applying various tooling
(parsing, validation, de-bugging of XSLT, etc etc) to a 15,000-line XML file.

In the longer term, I do hope that somebody is addressing this - which I think
is literally the only thing that Atom has going _against_ it.

~~~
viperscape
I personally don't like the extension building aspect in atom. Extending
emacs, or sublime is much simpler to me.

------
oDot
A comparison: [https://areweideyet.com/](https://areweideyet.com/)

------
rubber_duck
Atom doesn't have debugging capabilities - if you really wanted an IDE for
rust on this kind of stack you should probably be using VSCode - they have
debugging UI and are even adding GDB integration.

------
bakhy
"Makes precompilation and show error while coding." \-- some parts of the web
page may be in need of a little proofreading ;) but that's less relevant. keep
up the good work!

------
baq
side note: lovely name.

~~~
gobusto
Confusingly, there's another project (a physics engine) with the same name:
[https://en.wikipedia.org/wiki/Tokamak_%28software%29](https://en.wikipedia.org/wiki/Tokamak_%28software%29)

~~~
whyever
IIRC it is also the name of a fusion reactor design.

------
linksbro
You used this website template
([http://html5up.net/hyperspace](http://html5up.net/hyperspace)) which has a
Creative Commons 3.0 license, and you scrubbed the author's name and
attribution from the template. Please respect the license!
[http://html5up.net/license](http://html5up.net/license)

~~~
coldtea
Not the author of this or the original, but attribution doesn't mean it should
be right on the page and in the same place as the original template.

The attribution text is right in the source code, first thing you'll see.

~~~
linksbro
Attribution is a fine line; removing the attribution from where it was in the
template and plastering "All Rights Reserved" copyright over it is a very
clear violation of the creative commons license.

In some situations, it's difficult to place attribution along with the media,
but in this case, it's not - it's a webpage - and having the attribution be in
the source code is not really acceptable, because it's not reasonably
accessible for someone looking for it.

If you look at that page and only that page, what leads you to believe that
this is built of off a CC-BY work? Nothing. Sure, you can add "for copyright
and license information, visit this link" in the footer, with a link to the
github readme page that has the attribution, but removing it all together and
only leaving scraps of it in the source code is just careless, reckless misuse
of the original author's work.

~~~
Mikeb85
He's not selling a website or a template though. The "All Rights Reserved"
refers to the product, ie. Tokamak, which he indeed owns.

He didn't obfuscate the source, and indeed the attribution is the very first
thing you see in the source (and when it comes to HTML, the source IS the
website). And while he didn't comply 100% with the 'default' CC license (which
reads that you should state the changes made), he did comply 100% with the
'rules' given by the author. He gave credit, and linked to the website, as
well as the specific licensing terms given by the author.

Tl;dr - since he's not selling a template, the copyright at the bottom
obviously refers to his own product and not the web template. The attribution
is in the correct spot, at the top of the source.

~~~
linksbro
What are the norms for attribution when it comes to software? You include a
LICENSE file if you're distributing the source, or you display it in your
software (like iPhones and Androids).

What are the norms for attribution when it comes to images, videos? The
footer. A bar over the bottom of the image. A CC logo. Anything visibly
displayed along side the image.

What are the norms of attribution when it comes to website design? The footer,
or an About page.

The point is that attribution is made as accessible as possible. It's what
keeps the Creative Commons community strong! Deleting the template author's
attribution section and relegating it to the SOURCE CODE of the website means
that anyone who doesn't know what the source code is (a lot of people) don't
know that "hey, this is a template that I can use too!" The attribution is
_missing_. It needs to be present with the work, i.e. the web page, and hey,
how do you do that? You put the link in the footer, where it was before you
deleted it.

~~~
Mikeb85
Legally speaking, the source code IS the website. There is no difference. If I
were to open up the website in a plain text editor, what would I see? It's the
same as for any other program - the license resides in the code, not the
'output'.

As for the website template and CC license, it's not an image or a video. It's
a collection of CSS, Js and HTML. It's code.

I'd argue that maybe the template should have a code license like the GPL, and
not a CC license. And while I'm aware that the CC license is common for
website templates, I'm also sure you could convince most courts that it's not
an 'image or video'.

Anyhow, I'm sure this could be solved if the creator of the template asked for
a little more recognition. Not dragging this guy through the mud for something
that's irrelevant to what he actually created. He's not trying to pass off the
website as his own, only the actual project itself, which IS his!!!

~~~
eveningcoffee
The CC license (for example [http://creativecommons.org/licenses/by-
sa/3.0/](http://creativecommons.org/licenses/by-sa/3.0/)) of a template really
confuses me as I am not sure that would be considered a contribution in this
context.

For example if I include a trademarked logo then does it mean that I have to
open source it? Does it affect the content of the page?

------
usaphp
_

~~~
yan
How? Только != Тока

~~~
tetromino_
"Тока" is a misspelling of "только" which you frequently encounter because in
fast speech, that "ль" doesn't get pronounced.

Sometimes, it's deliberate; the writer is going for the effect of transcribing
colloquial speech - like in English, you might write "innit" instead of "isn't
it" to render a casual spoken conversation.

And sometimes, it's a sign of a illiteracy - like in English, when people
write "should of" instead of "should have" because it sounds the same and they
don't know any better.

~~~
yan
I agree it sounds similar, I was just pointing out that it's likely a
reference to the plasma device and not a comment on Mac computers.

