[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] master 28d2061 05/10: Readme

From: Artur Malabarba
Subject: [elpa] master 28d2061 05/10: Readme
Date: Sun, 01 Feb 2015 18:43:46 +0000

branch: master
commit 28d206188a0d0ae74e00281626a3e3c0c9902551
Author: Artur Malabarba <address@hidden>
Commit: Artur Malabarba <address@hidden>

 README.md |   59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 58 insertions(+), 1 deletions(-)

diff --git a/README.md b/README.md
index 7edfe42..a08172b 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,59 @@
 # speed-of-thought-lisp
-Write elisp at the speed of thought. Emacs minor mode with abbrevs and 
+Write emacs-lisp at the speed of thought.
+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
+appreaciate 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))

reply via email to

[Prev in Thread] Current Thread [Next in Thread]