Skip to content
This repository has been archived by the owner on Oct 21, 2022. It is now read-only.

Feature wishlist

seanchase edited this page Dec 23, 2018 · 66 revisions

Originally compiled from this discussion.

Most desired features may be implemented as LightTable plugins. Although some facilities require LT's core modification or adding hook into LT's core.

General

  • shell/console plugin <discussion>
  • inline editing functionality similar to Brackets http://brackets.io/
  • Remote browsing/editing over SSH (like Emacs tramp)
  • A SQL plugin for interacting with databases
  • JsLint and JsMin <discussion> (why not JSHint?)
  • MDN definition lookup (general documentation lookup plugin?)
  • Theme editor
  • Checkers/hinters for supported languages. Something like flycheck? General linting plugin with hooks in language modes?
  • Macros (the ability to store the sequence of keystrokes, replay it and, may be, save it as ClojureScript code)
  • Bookmark facility (the ability to bookmark a line in a file and save it in a workspace)
  • Merge mode (merging/diffing files inside LT)
  • Editorconfig plugin
  • Rectangles
  • Plugin for fossil
  • Print a given tab to a printer
  • Scrollbar search highlighter
  • Ability to cut-and-paste an Instarepl session (code + results) to a text file
  • Beautify code (see issue #617)
  • Code bubbles / function view
  • Recover unsaved Instarepl sessions
  • Semantic highlighting
  • Extend/shrink selection by semantic units like expand-region
  • Autoformat/beautify code (issue, see ClangFormat, universalindent, sublime code formatter)
  • Keyboard macros as supported by both vim and emacs.
  • Visualize recursive processes – see this issue
  • Ubuntu Unity command integration – see this issue
  • Detect file type from shebang line (#!) – see this issue
  • Handle file encodings – see this issue
  • Built-in workspace keyboard navigation (consider also modeling on Emacs dired): https://github.com/bfabry/workspace-nav/issues/7
  • jsx support (syntax highlighting and error checking, for example) per the data-flow js framework hosted at Facebook, React
  • If there is a highlighted region of text, do operations within only that region (along the lines that Emacs does). This is very useful for search-and-replace within a given code block (conditional) or code scope (function).
  • Command for jumping to previous/last-active tab see #460
  • Navigate and interact via keyboard for all the things (e.g. connections); see #1106
  • List commands in command bar by category; see this issue
  • Font settings per editor (file type) - see this issue
  • light skin - see this issue
  • Disable autocompletion for numbers and inside comments – see this issue

Done

  • Keyboard based directory browser (like dired in Emacs and/or Vim's NERDtree)
  • Paredit-like functionality for supported languages (select syntax form, expand selecton)
  • Git plugin (like magit?). <discussion>

Inspired by

All of us came to LightTable from some other environment. Let's describe its killer features you can't live without so someone consider porting it to LT.

Emacs

Vim

  • A plug-in to move around at lightning fast. EasyMotion

SublimeText

  • minimap sidebar closed bug report
  • ctrl-d to select text matching selection with multiple cursors (only thing I miss)
  • Go to definition anywhere in project with fuzzy complete
  • Saved state (When you open LightTable every tab, tabset, and even cursor position will be like it was the last time you used it)

Jetbrains/Eclipse/Netbeans, etc

  • Find usages (IntelliJ)
  • Jump to source definition (including for libs and core)
  • recently open files panel
  • Smart renaming of function, variables etc. (replaces all occurrences intelligently, not just string-replace)
  • Support for namespaces (phpStorm; can resolve class-names relative to the current namespace)
  • Support for phpdoc-annotations (phpStorm; so that the editor knows which kind of object a certain variable is, can show autocompletes, ..)

Language plugins

  • C#
  • R: someone interested in this?
  • Lua: same as above? + löve2D rendering context and live coding
  • C/C++ <discussion>
  • Java
  • TypeScript
  • Fortran
  • Meteor
  • Puppet