README.md
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 25 Oct 2017 23:42:41 +0100
changeset 1058 6d4bf422a7dd
parent 394 2877f9bcc95d
permissions -rw-r--r--
Fix subscript out of bounds error in Smalltalk inderences ...caused by missing size-check when analysing typed prefix.

# SmallSense

*Developer's productivity plugin for Smalltalk/X IDE.*

## About

**SmallSense** is a set of tools that speed up development and make
Smalltalk programming even more fun. Features:

* **Code-completion** -- a fast code completion system for Smalltalk using both static and runtime type inference.
* **Syntax-driven editing** -- a nice little feature that helps you with editing and formatting the code, all syntax- and formater-preferences aware!
* **Instant static analysis** -- to detect & fix common errors and code smells as you type

There are many more features already on the TODO list :-) Besides, *SmallSense*
provides (limited) support for Java anf Groovy as well (to be used together with
[STX:LIBJAVA](1))

## Installation

### Stock Smalltalk/X (aka official version)

Following instructruction are for stock Smalltalk/X 6.2.5 as downloaded from
[eXept]. 

**1. Remove old SmallSense:** remove directory `/stx/goodies/smallsense`. Smalltalk/X may come with it's own version/fork of SmallSense. 

**2. Check out SmallSense:** 

    hg clone https://bitbucket.org/janvrany/stx-goodies-smallsense stx/goodies/smallsense
    
**3. Compile it (optional):**

On UNIX: 

    make -C /stx/goodies/smallsense -f Makefile.init
    
On Windows: 

    cd stx\goodies\smallsense && bmake
    
**4. Load it:** to load it into an IDE, evaluate:

    Smalltalk loadPackage:'stx:goodies/smallsense'
    
You may want to add the above to your startup script (`$HOME/.smalltalk/p_$USER.rc) so SmallSense will be loaded automatically when you start Smalltalk/X. You may also want to turn on [method swizzling](4) there. 

### Smalltalk/X jv-branch

There's no need to install SmallSense into [Smalltalk/X jv-branch](3) as it is 
loaded automatically when you start Smalltalk/X. 


## Configuration

After installing and loading SmallSense, you may want to configure it. To do so,
open system settings and go to *Tools* ⊳ *SmallSense*.


## Authors

Developers:

* Jan Vraný <jan . vrany [a] fit.cvut.cz>

Contributors:

* Jakub Zelenka (first version of code completion, type inference and syntax-error tolerant Smalltalk parser)

## License

The SmallSense is available under GNU Lesser General Public License.
Please find full text of the license in file license.txt.
For other licensing options, please contact the SmallSense author at
jan.vrany { at } fit.cvut.cz.

[1]: https://swing.fit.cvut.cz/projects/stx-libjava
[2]: ftp://exept.de/download/stx/
[3]: https://swing.fit.cvut.cz/projects/stx-jv
[4]: https://bitbucket.org/janvrany/stx-goodies-smallsense/wiki/Swizzling.md