ess-smart-underscore

Homepage: http://github.com/mlf176f2/ess-smart-underscore.el

Author: Matthew L. Fidler

Updated:

Summary

Ess Smart Underscore

Commentary

* Installation

To use without using a package manager:

 - Put the library in a directory in the emacs load path, like ~/.emacs.d
 - Add (require 'ess-smart-underscore) in your ~/.emacs file

This is in emacswiki, so this package can also be installed using el-get.

After installing el-get, Type M-x el-get-install ess-smart-underscore.
* Ess-Smart Underscore Package Information
Smart "_" key: insert `ess-S-assign', unless:

  1. in string/comment
  2. after a $ (like d$one_two) (toggle with `ess-S-underscore-after-$')
  3. when the underscore is part of a variable definition previously defined.
     (toggle with `ess-S-underscore-after-defined')
  4. when the underscore is after a "=" or "<-" on the same line.
  5. inside a parenthetical statement () or [].
     (toggle with `ess-S-underscore-when-inside-paren')
  6. At the beginning of a line.
  7. In a variable that contains underscores already (for example foo_a)
     (toggle with `ess-S-underscore-when-variable-contains-underscores')
  8. The preceding character is not a tab/space (toggle with
     `ess-S-underscore-when-last-character-is-a-space'.  Not enabled
     by default.)

An exception to 


a <- b |


Pressing an underscore here would produce


a <- b <-


However when in the following situation


a <- b|


Pressing an underscore would produce


a <- b_


This behavior can be toggled by `ess-S-space-underscore-is-assignment'

If the underscore key is pressed a second time, the assignment
operator is removed and replaced by the underscore.  `ess-S-assign',
typically " <- ", can be customized.  In ESS modes other than R/S,
an underscore is always inserted.

In addition the ess-smart-underscore attempts to work with noweb-mode

Dependencies