We call it Real Time Programming.
The thing is, when you have actual application running, you have access to all the information available at runtime. We inject special hooks into every function that can evaluate arbitrary code or access last known variable values.
In the end, actual object fields and methods are available in code autocompletion. Just press ctrl+space and you can see this:
"[COLT]" suffix in autocompletion dialog marks information that comes from currently running application. COLT also lists function arguments.
Now we are able to execute any function by placing the caret inside and hitting shift+F5.
And (important) if you execute it again, it will be given same parameters again! For example, you can change function logic, execute it, check the logs, check the browser, and go on using this function.
Go to Declaration — F3. Now you can always find your function, from where ever you call or reference it. In order to support “live coding”, COLT keeps track of function declaration across all the sources. Every function is assigned unique ID, which can be used where ever there is function call or reference to find exact place where the function was declared. And JS document does not have to be opened!
With new autocompletion and Goto Declaration features developing jquery plugins or any code with complex inheritance or functional programming tricks became easier.
Finally, you can check any field of variable last known value by placing the caret there and pressing Shift+F10.
Since all these new options are only available when the application under development is running in live mode, we made launching the application in COLT as simple as possible. To launch the webpage from Sublime with COLT you go to main html tab and invoke «Run with COLT» command — cmd+shift+F10. No need to manually launch COLT, open or configure the project.
To restart COLT session, use the same shortcut again.
To simply reload the page press cmd+shift+R.
To monitor connection status when COLT or browser windows are minimized, we have added simple connection state indicator.
It’s on the bottom left of Sublime window.
Disconnected from COLT — either COLT is not open, or Sublime has been closed and connection was lost. Just press shift+cmd+F10 to start the application.
Connected to COLT — Sublime «sees» COLT, but there are no active sessions. It could happen when the application was terminated. We do our best to maintain the application in valid state, but there are situations when it’s not possible.
[~] Connected to COLT — everything looks super. The application is Live and you’re in the world of Real Time Programming. The tilde character is textual representation of COLT «green lightning bolt» icon.
You can get new COLT version at http://codeorchestra.com site.
And install «COLT» Sublime package via Package Control.