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.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
65
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
# SmallSense
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
*Developer's productivity plugin for Smalltalk/X IDE.*
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 250
diff changeset
     5
## About
65
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
**SmallSense** is a set of tools that speed up development and make
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
Smalltalk programming even more fun. Features:
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 250
diff changeset
    10
* **Code-completion** -- a fast code completion system for Smalltalk using both static and runtime type inference.
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 250
diff changeset
    11
* **Syntax-driven editing** -- a nice little feature that helps you with editing and formatting the code, all syntax- and formater-preferences aware!
65
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
* **Instant static analysis** -- to detect & fix common errors and code smells as you type
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
There are many more features already on the TODO list :-) Besides, *SmallSense*
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 250
diff changeset
    15
provides (limited) support for Java anf Groovy as well (to be used together with
394
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    16
[STX:LIBJAVA](1))
65
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
## Installation
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
394
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    20
### Stock Smalltalk/X (aka official version)
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    21
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    22
Following instructruction are for stock Smalltalk/X 6.2.5 as downloaded from
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    23
[eXept]. 
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    24
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    25
**1. Remove old SmallSense:** remove directory `/stx/goodies/smallsense`. Smalltalk/X may come with it's own version/fork of SmallSense. 
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    26
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    27
**2. Check out SmallSense:** 
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    28
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    29
    hg clone https://bitbucket.org/janvrany/stx-goodies-smallsense stx/goodies/smallsense
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    30
    
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    31
**3. Compile it (optional):**
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    32
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    33
On UNIX: 
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    34
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    35
    make -C /stx/goodies/smallsense -f Makefile.init
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    36
    
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    37
On Windows: 
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    38
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    39
    cd stx\goodies\smallsense && bmake
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    40
    
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    41
**4. Load it:** to load it into an IDE, evaluate:
65
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
250
a27be88be57f Updated README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 65
diff changeset
    43
    Smalltalk loadPackage:'stx:goodies/smallsense'
394
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    44
    
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    45
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. 
65
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
394
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    47
### Smalltalk/X jv-branch
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    48
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    49
There's no need to install SmallSense into [Smalltalk/X jv-branch](3) as it is 
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    50
loaded automatically when you start Smalltalk/X. 
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    51
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    52
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    53
## Configuration
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    54
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    55
After installing and loading SmallSense, you may want to configure it. To do so,
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    56
open system settings and go to *Tools* ⊳ *SmallSense*.
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    57
65
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
## Authors
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
Developers:
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
394
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    63
* Jan Vraný <jan . vrany [a] fit.cvut.cz>
65
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
Contributors:
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 250
diff changeset
    67
* Jakub Zelenka (first version of code completion, type inference and syntax-error tolerant Smalltalk parser)
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 250
diff changeset
    68
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 250
diff changeset
    69
## License
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 250
diff changeset
    70
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 250
diff changeset
    71
The SmallSense is available under GNU Lesser General Public License.
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 250
diff changeset
    72
Please find full text of the license in file license.txt.
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 250
diff changeset
    73
For other licensing options, please contact the SmallSense author at
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 250
diff changeset
    74
jan.vrany { at } fit.cvut.cz.
65
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
394
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    76
[1]: https://swing.fit.cvut.cz/projects/stx-libjava
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    77
[2]: ftp://exept.de/download/stx/
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    78
[3]: https://swing.fit.cvut.cz/projects/stx-jv
2877f9bcc95d Improved installation section in README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
    79
[4]: https://bitbucket.org/janvrany/stx-goodies-smallsense/wiki/Swizzling.md
65
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
95ece3112f7c Added README.md
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
252
feba6ee5c814 Added copyright notice and license information (LGPL2)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 250
diff changeset
    83