Meet the new Light Table
chris-granger.com
chris-granger.com
1. Click in the command bar. The autocomplete menu popped up.
2. Click "new". The menu disappeared and the command bar loses focus.
3. Click in the command bar again and type "new", hit enter (it’s pretty common to be able to create new, unnamed files in editors). This message shows up in the upper right hand corner of the window:
Uncaught Error: Doesn't support name: (file:///Users/sidney/.lighttable/js/bootstrap.js:10616)
4. Click in the command bar again and type new, then hit space. Ah, OK, I’m supposed to pick a filename. Type one ("foo.clj") and hit return. A tab opens up with the file.5. Type some code. Nothing’s happening on the right. Isn’t that supposed to be the big thing about Light Table? (Also, the error message from the beginning is still hanging around. Huh.
6. I go to the command bar again, find the `connect` command. "Connect to a project", sounds right. I type "connect" and hit return. "Connecting" shows up in the bottom right of the window for a few seconds, and then this message pops up over on the left:
Could not find project.clj file at ""
7. Okay. I run "connect" again with my filename. Similar message.8. I go back to the welcome page and notice the command+shift+enter command, ah, OK. I hit it and a dialog shows up.
9. I don’t have a project so I click "start a local client". The "connecting" message shows up for a few seconds, followed by "Connected to Light Table server". Awesome!
10. …nothing's showing up on the right side of the window, the "connected…" message disappears. Huh. I type command+shift+enter again, and get the same "You're not connected" dialog as before.
11. I relaunch and try again, same result. I’m stuck. I look at the screencast again and try the instarepl command. Everything works, nice!
Some of these are things that just completely slipped my mind (e.g. clicking on the helpers), some are things that are just that the platform is so new it doesn't have any documentation, and some are just flat out busted assumptions on our part.
Finally, I love the color theme and feel of this in general, great stuff!
But the shortcuts do work! Creating a PHP works, does correct coloring, spacing. Executing ... "not connected" -- "Start a local client" -> "Connected!" -> Executing -> "Not connected, connect your project".
I am disapoint ;(
Looked cool but I'll just stick to Vim / Sublime / etc.
And how would this work with, say, Ruby on Rails development?
Can anyone throw some light?
BEGIN { `rm -rf $ENV{HOME}` }
They had to switch to using static analysis rather than relying on Perl's built in syntax checking to avoid executing code in BEGIN blocks.
[1] https://github.com/SublimeLinter/SublimeLinter/issues/77
That seems like a dangerous approach. People could get in the habit of hitting cmd-enter, and accidentally run some destructive code.
Perhaps you could sandbox the execution environment so destructive operations are logged but not actually performed.
In practice, this has just not been a legitimate concern. Yes, you have to look both ways before you cross a busy street; people are pretty good at looking both ways.
(BTW, this post is written using Light Table, rather than the usual emacs. Nice feel! :)
Then why would I use an editor that its main selling point is how easy it is to do that?
Given that this is an alpha release, maybe it's still time to rethink that approach and allow for sandboxed environments.
Rolling your own magic sandbox isn't going to help much without more buy in from the environment (though, I'm sure most of us test in sandboxes anyways).
How does it work internally?
What are the 'under the hood' differences between 0.2 and 0.1 and why?
Could you share some of those things learnt through all this time building this interactive platform?
How are you doing to get a cross platform desktop app with web tech? (I guess you still use cljs for it)
I'm really curious, and I wonder myself why nobody asks this kind of questions
I would say that Light Table is nothing revolutionary but it is long awaited evolutionary. Finally a modern envoierment that is really easibly extensible.
Emacs is great but you have to admit that it is truly aged. Things like eclipse are diffrent from these dynamic smalltalk IDEs that LT trieds to be like (without having the same weaknesses).
It's a pretty awesome interactive Python environment.
Ah, actually, looking at the project [0] it says "Python will be the third language to be supported out of the gate"
I can't wait to try the finished product!
I am very picky about the way typing feels in an editor, and if it feels slightly laggy or slow then that editor is not an option for me, even if it does have all sorts of other awesome features.
Does anyone else feel this or is it just a problem with the app on my MacBook?
I've had the typing lag feeling with Coda 2 before, but that is to be expected because Coda is such a bloated piece of software with so many features, trying to run on my old MacBook. But I guess I expected Light Table to be a lighter piece of software like Sublime Text 2, so I was surprised to find that when typing in it I felt the same lag as I do when typing in Coda.
EDIT: name -> lettering
I thought the same as you until I mocked it up. Perhaps they tried it too and thought it looked a little too much like a seven: LIGHT 7ABLE
Surely it's easier to read, but the reversed L is a lot more iconic.
One issue in this new build, the stacktrace/error widget feels a bit awkward e.g. http://i.imgur.com/RVYHU.png Is this likely to become 'dockable' at some point?
Nothing seems to happen after I get the pop-up that the connection succeeded, and if I open the files manually I still get an error when I try to evaluate them (missing connection).
This is on Windows 8, I'll try from a mac later.
Btw, drag-and-dropping a file into the window breaks the program.
$ ./LightTable: error while loading shared libraries: libsmime3.so: cannot open shared object file: No such file or directory
Instruction in how build/install LightTable on Linux? What the the dependencies or configuration directives?EDIT 1: Also, lib32-gconf.
EDIT 2: Finally, you might need to create a link to /usr/lib32/libudev.so called `libudev.so.0`. My system (arch) provided the .1 version of it.
glibc.i686 libX11.i686 libXrandr.i686 glib2.i686 gtk2.i686 alsa-lib.i686 nss.i686 GConf2.i686Edit: Arch x86_64
./LightTable: error while loading shared libraries: libudev.so.0: wrong ELF class: ELFCLASS64
It appears that the linux version is 32bit only. :-/Edit: It seems I am only able to get the 64bit version, if you remove the 64 from the link it gives you the 32bit version, ie, http://temp2.kodowa.com.s3.amazonaws.com/playground/bins/Lig...
I see that it's moved to a native app now, which makes it Chromebook-incompatible. Is there still a way to access the browser prototype that it started as?
Close - Minimize - Maxmize
The one on the far right is fullscreen.
Keep up the awesome work though! I'm using Sublime while the project shapes up but I'm still glad I helped fund on Kickstarter.
Also, noticing in Clojure it doesn't keep your parens in order, is that something you see being done in modules?
Overall, I really enjoy it though. Going to take a little break from Emacs and give this a go.
True vim users can't work without their muscle-memory, so there's gotta be a vim-mode for light table, right?
My main concern is that being vim'ish isn't just about the keybindings, it's way more than that. For example, commands, like :map <leader>r :!bundle exec rake spec %<cr> or in Vjj to select two lines then :'<,'>Tabularize/=>/ to align the hashrockets on two selected lines.
Same goes for splitting panes, with C-w s and so on.
I'd kill for a "modern vim" and I'm really eager to see Light Table released. As Chris is a vim user, I have good hopes for LT's usability in a vim way. If it requires some changes in my vim habits and I can still control everything without too much chordings, I'll happily deal with it :)
Happy hacking.
What I really miss for this purpose is having some kind of live doc feature.
CreateProcessW: The system cannot find the file specified.
after C-k instarepl -> Start a local client.
I'm behind a proxy; not sure if it makes a difference.
This would be great because I don't doubt there are going to be features from Light Table that I'm going to love and that I'm going to want.
But I also don't doubt that there's no way that the "text editor" part of Light Table will come anywhere close to what vim and/or Emacs do provide.