LightTable

The Light Table IDE

Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star full 4f7b624809470f25b6493d5a7b30d9b9cb905931146e785d67c86ef0c205a402Star half bd79095782ee4930099175e5ce7f4c89fa3ddabcd56fffcc7c74f6f2a2d46b27 (1 ratings)
Rated 4.5 out of 5
Subscribe to updates I use LightTable


Statistics on LightTable

Number of watchers on Github 10073
Number of open issues 164
Average time to close an issue 11 days
Main language Clojure
Average time to merge a PR 4 days
Open pull requests 32+
Closed pull requests 15+
Last commit over 1 year ago
Repo Created about 6 years ago
Repo Last Updated 4 months ago
Size 12.9 MB
Homepage www.lighttable.com
Organization / Authorlighttable
Latest Release0.8.1
Contributors65
Page Updated
Do you use LightTable? Leave a review!
View open issues (164)
View LightTable activity
View on github
Latest Open Source Launches
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating LightTable for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)
What people are saying about LightTable Leave a review
FAST! .. REPL inline & So CUSTOMIZABLE !

Light Table Build Status

Join the chat at https://gitter.im/LightTable/LightTable

Light Table is a next generation code editor that connects you to your creation with instant feedback. Light Table is very customizable and can display anything a Chromium browser can.

Downloads

Prebuilt binaries are available through lighttable.com. To build and use a developer version of Light Table see these instructions.

For OSX users, the install process involves the following steps until we officially sign our OSX App:

  • In Finder, Ctrl-click on LightTable.app/ and select Open.
  • When you see this prompt about LightTable being unidentified, click Open.
  • If Ctrl-click doesn't work for you, open System Preferences > Security & Privacy > General, temporarily change Allow apps downloaded from: to Anywhere and double click on LightTable.app.

Documentation

Plugins

Light Table has a powerful plugin system that allows almost any aspect of the editor to be extended and customized. With over 100+ plugins, the community is able to offer eval support for new languages, create domain-specific IDEs and much more. If you're interested in writing your own plugin, see the Write a Plugin and Submit a Plugin docs. For an example ClojureScript plugin, see LightTable-Declassifier.

Community

Want to ask a question or just say hi? Please do :). Our mailing list is the Light Table Google group. We also hang out in #lighttable on Freenode IRC.

For Developers

LightTable is primarily written in ClojureScript. If you aren't familiar with it, check out David Nolen's tutorial.

In order to develop for Light Table, you will need to install a developer version of Light Table. For more information, read CONTRIBUTING.md and For Developers.

License

All files in this project are under the LICENSE.md license unless otherwise stated in the file or by a dependency's license file.

Credits

Big thanks to all our contributors! Thanks of course to Kodowa for all they have done for Light Table and also to Cognitect for providing friday contributions for one of the core team members.

LightTable open issues Ask a question     (View All Issues)
  • over 1 year Errors, errors everywhere
  • over 1 year Naming of source and website UI components
  • almost 2 years Default keymap for :show-connect does not work unless it already has focus
  • almost 2 years Connection Pane's arrow is the same in both states
  • almost 2 years Find and search cannot be toggled off
  • almost 2 years Can't eval defprotocol in cljs source file
  • almost 2 years Add label values to inline doc for objects and behaviors
  • almost 2 years Investigate discussion forum alternatives
  • almost 2 years Update certain dom.cljs functions to use more idomatic Clojurescript patterns
  • almost 2 years Add an API stability index for namespaces
  • almost 2 years Create a Light Table Developers Guide
  • almost 2 years Plugin's name should be a link to the plugin's project page
  • almost 2 years Rename link to go to a plugin's page to something more obvious
  • almost 2 years Create a plugin portal (or webpage)
  • almost 2 years Create a Light Table User Guide
  • almost 2 years Update electron to latest version
  • almost 2 years Update editor and files namespaces to use more meaningful param names
  • almost 2 years Replace optimist as library is deprecated
  • almost 2 years Add (or re-implement) feature to run an 'edge version' LT
  • almost 2 years Allow inline docs to be rendered as markdown
  • almost 2 years Update deprecated functions in files namespace
  • almost 2 years Update CHANGELOG workflow
  • almost 2 years Added gutters do not handle refresh gracefully
  • almost 2 years After rename, tabs do not immediately reflect change
  • almost 2 years User keymap is overridden by plugin/default keymaps
  • almost 2 years Revert a file / Undo all unsaved changes / Reload a file
  • almost 2 years Child folders are closed after refresh in sidebar
  • almost 2 years Allow project search results to be collapsible
  • about 2 years Plugin development: cljs dependency crashes lighttable.nrepl
  • about 2 years If a folder is renamed inside LT, if the rename was unsuccessful, LT displays the renamed folder
LightTable open pull requests (View All Pulls)
  • System Tests
  • #1903 Fixed default.behaviors file.ignore-pattern
  • Add support for connecting to browsers via XHR
  • Remove set-width-final! see #2038
  • Exclude the 'script' sub-directory when building the plugin metadata cache
  • Fix upgrading
  • Add the requirement of wget to the cygwin install instructions
  • Use user user-name and token for GitHub API calls
  • Add GitHub issue template
  • Update Node package *request* to latest version.
  • Add behaviors to enable setting `strictSSL` option for file downloads #2212
  • Expand sidebar's rename functionality
  • folder renaming updated in the document manager - fixes #2232
  • Add initial LightTable Style Guide document - close #2236
  • Add note about removing a Node package.
  • Replace wrench with shelljs
  • Add documentation to editor and files namespaces - closes #2060
  • Fix language docs sidebar from keeping focus when closed - fixes #2258
  • Document functions of util namespaces - closes #2264
  • Add optional docstring to defui, behavior, and object - closes #2206
  • Plugin manager changes.
  • Update style guide to define expected :desc convention
  • Add label field to the inline doc for behaviors and objects - fixes #2281
  • Bump version in Usage section to 0.8.1
  • Update Node package *request* to 2.81.0
  • Toggle find bar
  • #2313 More portable nix/bash detection to include mingw
  • Allow build and start on MINGW (no cygwin required)
  • Fix Control Pane's arrow direction
  • use pango v1.40.5-1 - Closes #2343
  • Remove unused dataTransfer code from dragdrop.js
  • Update developer-install.md
LightTable questions on Stackoverflow (View All Questions)
  • LightTable creates connection per file
  • LightTable 0.8.0 Linux
  • Difference between time of completion in LightTable and lein REPL
  • Auto-Pairing in LightTable
  • How can I dynamically connect LightTable to an external browser from console?
  • Bind multiple actions to one key in lighttable
  • How can I create a basic ClojureScript Hello World app in Lighttable?
  • ipython (version 3.2.1) support in LightTable (version 0.7.2)
  • Clojure: how to explicitly choose JVM in the environment with Leiningen/Lighttable
  • Lighttable -simplest working groovy file - exception
  • Lighttable, set font size
  • Angular2: TestApp not working in LightTable. Error: UncoatedModuleInstantiator.getUncoatedModule
  • How do i map one shortcut key to a sequence of tags (tasks) in lighttable?
  • How do you change Clojure version in Leiningen and LightTable?
  • LightTable REPL returns nil instead function return value
  • How do I change the background color of a matplotlib inline plot in LightTable?
  • Matplotlib inline plots in LightTable fail to appear (in Anaconda Python 2.2.0 but not 2.1.0)
  • Using InstaREPL in LightTable on Windows 7 for testing Enlive
  • Increase size of console window in LightTable (Juno)
  • How to enable tag auto closing in LightTable?
  • LightTable: How to format code?
  • How to Live-Edit JavaScript in LightTable?
  • Highlight definition of occurences of a function/immutable in LightTable
  • Keybinding for "select next/prev char/word/line" in LightTable
  • Can I generate images in Clojure and show them inline in LightTable REPL?
  • How do I add a library to LightTable so that when I use instarepl it will always have said library?
  • How to exclude subfolders and files in the Search pane of LightTable?
  • Open plain text files with LightTable by default when double-clicking them (in ubuntu 14.04 64bits)
  • Lighttable Internal Browser and localhost proxy
  • Creating & Previewing MarkDown Document with PyCharm and LightTable
LightTable list of languages used
LightTable latest release notes
0.8.1 0.8.1

Changes

  • CHANGED: [:app :lt.objs.settings/pair-keymap-diffs] behavior is being deprecated. Use [:editor :lt.objs.editor/autoclose-brackets] in your user.behaviors instead. lt.objs.editor/autoclose-brackets should fix autoclosing characters e.g. '[{" for international users.
  • CHANGED: Backspace key uses the same CodeMirror plugin that lt.objs.editor/autoclose-brackets does
  • CHANGED: lt.util.cljs/js->clj is being deprecated. Plugin authors can use the js->clj that comes with ClojureScript
  • CHANGED: Removed unused lt.objs.titlebar ns and lt.objs.titlebar/add-titlebar behavior
  • CHANGED: Removed unused styling in structure.css
  • CHANGED: Removed harbor and jshint node packages that belong to other LightTable plugins
  • CHANGED: Removed :hide-connect command which is the same as :show-connect
  • CHANGED: Removed light skin which was just a confusing pointer to dark skin
  • CHANGED: files/open-sync logs an error when trying to open a nonexistent file. Previously the error was ignored
  • CHANGED: Check for updates every hour instead of every 5 minutes
  • FIX: Git (vcs) friendly! Changing branches and doing rebases doesn't cause buggy dialogs. If a file is removed, the tab is closed. If a file has a local modification, the user decides whether to overwrite the current file or not
  • FIX: LightTable documentation supports navigation as it is now in a browser tab
  • FIX: Save and remove trailing whitespace behavior refreshes tab
  • FIX: Navigator no longer cuts off end of files i.e. can scroll horizontally
  • FIX: Case sensitive renaming of files e.g. readme -> README
  • FIX: Faster detection of binaries in build scripts
  • FIX: In linux, middle click to close tab doesn't paste clipboard contents
  • FIX: :open-path command resolves relative paths before opening them
  • FIX: Clearer description of font-settings behavior
  • FIX: Clear console error when github endpoints returns invalid JSON
  • FIX: All errors are consistently caught and logged to console
  • ADDED: Light Table builds without warnings on ClojureScript 1.7.x
  • ADDED: Add build target for generating cljsdeps.js (need for ClojureScript upgrade)
  • ADDED: Linux and Windows users have access keys on menus
  • ADDED: Linux and Windows users have additional menu items under File: Quit Light Table and About Light Table
  • ADDED: Added file type definitions for html templates: ERB, ASPX, EJS, JSP
  • ADDED: Command-0/Ctrl-0 to reset zoom and Command-=/Ctrl-= to zoom in
  • ADDED: Disply notification to user after installing/updating/uninstalling a plugin

Checksums

The MD5 checksums are reproducible on OSX and Linux with openssl md5 FILE and on Windows with certUtil -hashfile FILE MD5.

  • Windows 9cdda77518e86243a52bdb88e9ddebb8
  • Ubuntu (14.04) - 7e4efcce58f2f4a44edb5bde6f5a91db
  • OSX 10.10 - 4f9fb2dd330d589a109c582a6472a4a5
0.8.0 0.8.0

CHANGELOG

  • CHANGED: We have switched to Electron from NW.js
  • CHANGED: LT's releases and self-updating processes are completely in the open on Github
  • CHANGED: We no longer ship with a node binary as we're able to use Electon's node binary for background processes
  • CHANGED: Proxy support has been disabled. There is an issue for re-enabling it at https://github.com/LightTable/LightTable/issues/1984. We are looking for help on how to QA this.
  • CHANGED: :lt.objs.app/set-default-zoom-level behavior takes a value from 0 to 1. With NW.js, it could take negative numbers which no longer work and will freeze LT on startup
  • CHANGED: When opening a file from the commandline, each invocation opens a new LightTable app regardless of whether LightTable is already open. To optionally bring back the old behavior, see https://github.com/LightTable/LightTable/issues/2014.
  • CHANGED: Provide constant port number 5678 for external browser connection
  • CHANGED: Beginner friendly explanations to user.keymap and user.behaviors
  • CHANGED: 32-bit linux is no longer an official download. Building from source will still be supported
  • FIX: Major usability issues on >= OSX 10.10
  • FIX: Bug in :editor.force.wrap command
  • FIX: Invalid behaviors warning when installing plugin
  • FIX: Uninstalling plugin causes misleading missing dialog to popup
  • FIX: Installing plugins, loads new behaviors immediately
  • FIX: Open files from commandline that have whitespace
  • FIX: Styling for folding
  • FIX: Creating files under folders with '.' in name
  • FIX: Quote and link styling for default theme
  • FIX: Fat cursor not showing up when searching in default theme
  • FIX: Uncomment command respects line-comment-options behavior
  • FIX: Opening file from OSX file manager opens correct file
  • FIX: Width of inputs for renaming files in workspace tree
  • FIX: Detect latest plugin versions in plugin manager
  • ADDED: LT can be built from source with provided scripts across supported platforms
  • ADDED: Improved documentation - most core fns have docstrings, all namespaces have docstrings, API docs and developer docs
  • ADDED: Most of LT's node libraries are installed as npm dependencies instead of as forked libraries
  • ADDED: Vector format support for workspace behaviors
  • ADDED: Open to line number from commandline e.g. light FILE:LINE
  • ADDED: commandline comes with improved --help
  • ADDED: :lt.objs.editor/load-addon behavior loads CodeMirror addons that ship with LT
  • ADDED: :lt.objs.editor/set-rulers behavior to set CodeMirror rulers - screenshot
  • ADDED: Add file-type definitions for .feature, .rst and many more
  • ADDED: Add F-11 keybinding for fullscreen
  • ADDED: Add pmeta-/ for toggle-comment
  • ADDED: Better error handling for download errors
  • ADDED: Block comment command
  • ADDED: Max length for autocompletion is configurable
  • ADDED: Plugins and settings menu items

Builds

  • OSX built on OSX 10.10.4
  • Linux built on Ununtu 14.04
  • Windows built on Windows 7

Checksums

The MD5 checksum is reproducible on OSX with openssl md5 FILE or certUtil -hashfile FILE MD5 on Windows.

  • osx download - eeb03b4b8e55639b670e96f6d8a69397
  • windows download - 84fbb93779b1197f0c4b87d573be0818
  • linux download - ac8484d589b8b1ff4de11a0954ef49f7
0.8.0-alpha 0.8.0-alpha

CHANGELOG

  • CHANGED: We have switched to Electron from NW.js
  • CHANGED: LT's releases and self-updating processes are completely in the open on Github
  • CHANGED: We no longer ship with a node binary as we're able to use Electon's node binary for background processes
  • CHANGED: Proxy support has been disabled. There is an issue for re-enabling it at https://github.com/LightTable/LightTable/issues/1984. We are looking for help on how to QA this.
  • CHANGED: :lt.objs.app/set-default-zoom-level behavior takes a value from 0 to 1. With nw.js, it could take negative numbers which no longer work and will freeze LT on startup
  • CHANGED: When opening a file from the commandline, each invocation opens a new LightTable app regardless of whether LightTable is already open. To optionally bring back the old behavior, see https://github.com/LightTable/LightTable/issues/2014.
  • FIX: Major usability issues on >= OSX 10.10
  • FIX: Bug in :editor.force.wrap command
  • FIX: Invalid behaviors warning when installing plugin
  • FIX: Uninstalling plugin causes misleading missing dialog to popup
  • FIX: Installing plugins, loads new behaviors immediately
  • FIX: Open files from commandline that have whitespace
  • FIX: Styling for folding
  • FIX: Creating files under folders with '.' in name
  • FIX: Quote and link styling for default theme
  • FIX: Fat cursor not showing up when searching in default theme
  • ADDED: LT can be built from source with provided scripts across supported platforms
  • ADDED: Improved documentation - most core fns have docstrings, all namespaces have docstrings and developer docs
  • ADDED: Most of LT's node libraries are installed as npm dependencies instead of as forked libraries
  • ADDED: Vector format support for workspace behaviors
  • ADDED: Open to line number from commandline e.g. light FILE:LINE
  • ADDED: commandline comes with improved --help
  • ADDED: :lt.objs.editor/load-addon behavior loads CodeMirror addons that ship with LT
  • ADDED: :lt.objs.editor/set-rulers behavior to set CodeMirror rulers - screenshot
  • ADDED: Add file-type definitions for .feature, .rst and many more
  • ADDED: Add F-11 keybinding for fullscreen
  • ADDED: Add pmeta-/ for toggle-comment
  • ADDED: Better error handling for download errors

Builds

  • OSX built on OSX 10.9.5
  • Linux built on Ubuntu 14.04 VirtualBox
  • Windows built on Windows 7
Other projects in Clojure