To install this package, run in Emacs:
M-x package-install RET sotlisp RET
This defines a new global minor-mode `speed-of-thought-mode', which activates locally on any supported buffer. Currently, only `emacs-lisp-mode' buffers are supported. The mode is quite simple, and is composed of two parts: Abbrevs A large number of abbrevs which expand function initials to their name. A few examples: - wcb -> with-current-buffer - i -> insert - r -> require ' - a -> and However, these are defined in a way such that they ONLY expand in a place where you would use a function, so hitting SPC after "(r" expands to "(require '", but hitting SPC after "(delete-region r" will NOT expand the `r', because that's obviously not a function. Furtheromre, "#'r" will expand to "#'require" (note how it ommits that extra quote, since it would be useless here). Commands It also defines 4 commands, which really fit into this "follow the thought-flow" way of writing. The bindings are as follows, I understand these don't fully adhere to conventions, and I'd appreciate suggestions on better bindings. - M-RET :: Break line, and insert "()" with point in the middle. - C-RET :: Do `forward-up-list', then do M-RET. Hitting RET followed by a `(' was one of the most common key sequences for me while writing elisp, so giving it a quick-to-hit key was a significant improvement. - C-c f :: Find function under point. If it is not defined, create a definition for it below the current function and leave point inside. - C-c v :: Same, but for variable. With these commands, you just write your code as you think of it. Once you hit a "stop-point" of sorts in your tought flow, you hit `C-c f/v` on any undefined functions/variables, write their definitions, and hit `C-u C-SPC` to go back to the main function. Small Example With the above (assuming you use something like paredit or electric-pair-mode), if you write: ( w t b M-RET i SPC text You get (with-temp-buffer (insert text))
sotlisp-1.5.2.el | 2016-Apr-02 | 26.3 KiB |
sotlisp-1.5.1.el | 2016-Feb-24 | 26.1 KiB |
sotlisp-1.4.1.el | 2015-Oct-15 | 25.5 KiB |
sotlisp-1.4.el | 2015-Sep-26 | 25.2 KiB |
sotlisp-1.3.el | 2015-Aug-22 | 24.8 KiB |
sotlisp-1.2.el | 2015-Aug-07 | 21.5 KiB |
sotlisp-1.1.el | 2015-Jun-13 | 20.0 KiB |
sotlisp-1.0.el | 2015-Jun-12 | 19.6 KiB |