Top Related Projects
:atom: The hackable text editor
Visual Studio Code
An open source code editor for the web, written in JavaScript, HTML and CSS.
IntelliJ IDEA Community Edition & IntelliJ Platform
TextMate is a graphical text editor for macOS 10.12 or later
Quick Overview
Light Table is an open-source, extensible integrated development environment (IDE) designed to provide a flexible and interactive coding experience. It aims to create a more dynamic and responsive programming environment, allowing developers to see the results of their code in real-time and interact with their programs as they write them.
Pros
- Highly customizable and extensible through plugins
- Real-time code evaluation and inline results display
- Supports multiple programming languages
- Intuitive and modern user interface
Cons
- Development has slowed down in recent years
- Limited built-in features compared to more established IDEs
- Smaller community and ecosystem compared to mainstream IDEs
- May have stability issues with certain plugins or configurations
Getting Started
To get started with Light Table:
- Download the latest release from the official website.
- Install Light Table on your system.
- Launch Light Table and open a new file or project.
- Install plugins as needed through the Plugin Manager (View -> Plugin Manager).
- Customize your workspace and settings through the Command Palette (Ctrl+Space or Cmd+Space).
Example configuration in user.behaviors
:
{:+ {:app [(:lt.objs.style/set-theme "default")]
:editor [:lt.objs.editor/no-wrap
(:lt.objs.style/set-theme "default")
(:lt.objs.editor/line-numbers true)]}}
This configuration sets the default theme for the app and editor, enables line numbers, and disables word wrap.
Note: Light Table is not a code library, so code examples for usage are not applicable. The IDE itself is the tool that developers use to write and manage their code projects.
Competitor Comparisons
:atom: The hackable text editor
Pros of Atom
- Larger and more active community, resulting in more extensions and frequent updates
- Built-in package manager for easy installation of plugins and themes
- More extensive documentation and learning resources
Cons of Atom
- Heavier resource usage, potentially slower performance on older hardware
- Steeper learning curve for customization compared to LightTable
- Discontinued by GitHub in December 2022, though community forks exist
Code Comparison
LightTable:
(ns lt.objs.editor.pool
(:require [lt.object :as object]
[lt.objs.editor :as editor]
[lt.objs.command :as cmd]))
Atom:
const {CompositeDisposable} = require('atom')
class MyPackage {
constructor() {
this.subscriptions = new CompositeDisposable()
}
}
The code snippets show different programming languages and approaches. LightTable uses ClojureScript, while Atom uses JavaScript. This reflects their architectural differences and target audiences.
Both editors are extensible and customizable, but Atom's larger ecosystem provides more options for developers. LightTable offers a unique "live coding" experience, which may appeal to certain users. However, Atom's broader adoption and extensive plugin library make it a more versatile choice for many developers, despite its recent discontinuation.
Visual Studio Code
Pros of Visual Studio Code
- Larger community and more frequent updates
- Extensive marketplace with a wide range of extensions
- Built-in Git integration and debugging tools
Cons of Visual Studio Code
- Heavier resource usage, especially for larger projects
- Steeper learning curve for customization and advanced features
Code Comparison
LightTable:
(ns lt.objs.editor.pool
(:require [lt.object :as object]
[lt.objs.editor :as editor]
[lt.objs.command :as cmd]))
Visual Studio Code:
import * as vscode from 'vscode';
export function activate(context: vscode.ExtensionContext) {
console.log('Congratulations, your extension "helloworld" is now active!');
}
LightTable focuses on Clojure-based development, while Visual Studio Code uses TypeScript for its extension API. Visual Studio Code offers a more structured approach to extension development with built-in types and interfaces.
Visual Studio Code has gained significant popularity due to its robust features and extensive ecosystem. However, LightTable's unique approach to live coding and interactive development environment still appeals to some developers, particularly those working with Clojure or seeking a more minimalist IDE.
An open source code editor for the web, written in JavaScript, HTML and CSS.
Pros of Brackets
- Larger and more active community, with more frequent updates and contributions
- Built-in Live Preview feature for real-time web development
- Extensive library of extensions and themes available
Cons of Brackets
- Heavier resource usage, potentially slower on older hardware
- More complex codebase, which can make it harder for new contributors
- Primarily focused on web development, less versatile for other languages
Code Comparison
Brackets (JavaScript):
define(function (require, exports, module) {
"use strict";
var CommandManager = require("command/CommandManager");
var Commands = require("command/Commands");
var Menus = require("command/Menus");
});
LightTable (ClojureScript):
(ns lt.objs.sidebar.command
(:require [lt.object :as object]
[lt.objs.command :as cmd]
[lt.objs.keyboard :as keyboard]
[lt.util.dom :as dom]))
Both projects use modular architecture, but Brackets uses AMD-style JavaScript modules, while LightTable uses ClojureScript namespaces. Brackets' codebase is generally more verbose and complex, reflecting its larger feature set and broader scope.
IntelliJ IDEA Community Edition & IntelliJ Platform
Pros of IntelliJ IDEA Community Edition
- More comprehensive IDE with a wider range of features and language support
- Larger community and more frequent updates
- Better integration with build tools and version control systems
Cons of IntelliJ IDEA Community Edition
- Heavier resource usage and slower startup time
- Steeper learning curve due to its extensive feature set
- Less focus on live coding and immediate feedback
Code Comparison
IntelliJ IDEA Community Edition:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
Light Table:
(ns hello-world.core)
(defn -main [& args]
(println "Hello, World!"))
Light Table focuses on a more minimalist approach with live coding capabilities, while IntelliJ IDEA Community Edition offers a full-featured IDE experience. Light Table's design emphasizes immediate feedback and a clean interface, making it easier for beginners to get started. However, IntelliJ IDEA Community Edition provides more robust tools for larger projects and complex development workflows.
The code comparison showcases the different languages and paradigms each IDE primarily supports. Light Table is often associated with Clojure and functional programming, while IntelliJ IDEA Community Edition is known for its strong Java support and object-oriented programming capabilities.
TextMate is a graphical text editor for macOS 10.12 or later
Pros of TextMate
- More mature and established project with a longer history
- Larger community and ecosystem of bundles/plugins
- Native macOS application with deep system integration
Cons of TextMate
- Limited to macOS platform
- Less modern UI and feature set compared to newer editors
- Development pace has slowed in recent years
Code Comparison
TextMate (Ruby):
class TM_Executor
def run(cmd)
TextMate::Executor.run(cmd) do |str, type|
case type
when :out then print str
when :err then print str
end
end
end
end
LightTable (ClojureScript):
(behavior ::on-close
:triggers #{:close}
:reaction (fn [this]
(object/raise this :destroy)
(tabs/rem! this)))
Summary
TextMate is a well-established macOS-only text editor with a rich ecosystem, while LightTable is a newer, cross-platform editor with a more modern approach. TextMate excels in macOS integration and community support, but LightTable offers a more flexible and customizable environment. The code examples showcase TextMate's Ruby-based architecture versus LightTable's ClojureScript foundation, reflecting their different design philosophies.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Light Table
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.
This is a development branch and is not clean like master
and can have many breakages.
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
- See docs.lighttable.com for official user documentation and tutorials.
- See the community wiki which includes a User FAQ and a For Users page for additional links.
- For a typical Light Table workflow, read this.
- To understand how Light Table works, read about its BOT architecture.
- See Light Table's API docs to see what plugin authors have access to.
- If you're a user coming from vim or emacs see the For Vim Users and For Emacs Users guides.
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.
Top Related Projects
:atom: The hackable text editor
Visual Studio Code
An open source code editor for the web, written in JavaScript, HTML and CSS.
IntelliJ IDEA Community Edition & IntelliJ Platform
TextMate is a graphical text editor for macOS 10.12 or later
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot