= !DicThesaurusRex = This dictionary and thesaurus extension allows Smalltalk developers to benefit from spelling correction and synonym search within source code. It optionally extends code editors with a spelling correction that underlines unknown terms and typos. These annotations can either be corrected with suitable suggestions or always ignored in case of well-known abbreviations. Moreover, the thesaurus integration provides helpful advice during searching and programming. For example, the source code search has been extended to look also for similar terms and synonyms. As a result, the search presents developers not only exact but also semantic matches. = How to Install = {{{ #!div class="wiki_infotable" style="float:right;" ||'''Environment'''|| || || [[Image(media/icons/custom:squeak_16.png, title="Recommended Squeak Version", nolink, right)]] || 4.4 || || [[Image(media/icons/silk:application_home.png, title="Recommended Squeak VM Version", nolink, right)]] || any, Mac requires spelling plugin, || || || Linux requires Hunspell || || [[Image(media/icons/silk:cog.png, title="Recommended Cog VM Version", nolink, right)]] || not tested || ||'''Sources'''|| || || [[Image(media/icons/silk:script_gear.png, title="Metacello Configuration", nolink, right)]] || [http://www.hpi.uni-potsdam.de/hirschfeld/squeaksource/MetacelloRepository/ ConfigurationOfDicThesaurusRex] || || [[Image(media/icons/silk:database.png, title="Repository", nolink, right)]] || [http://www.hpi.uni-potsdam.de/hirschfeld/squeaksource/SwaUtilities/ SwaUtilities] || ||'''Misc'''|| || || [[Image(media/icons/silk:world.png, title="Website", nolink, right)]] || [http://www.hpi.uni-potsdam.de/hirschfeld/squeaksource/SwaUtilities.html SwaUtilities@SqueakSource] || }}} Using Metacello, just run the following code in your workspace: {{{ (Installer mc http: 'http://www.hpi.uni-potsdam.de/hirschfeld/squeaksource/') project: 'MetacelloRepository'; install: 'ConfigurationOfDicThesaurusRex'. (Smalltalk at: #ConfigurationOfDicThesaurusRex) load. }}} After installation, please check if all test are passing (category !DicThesaurusRex-Tests) = How to Use = == Preferences == First, enable the spell checker and thesaurus in Squeak's preferences (Tool bar -> Apps -> Preference Browser). The spell checker (DTR) category contains both options. [[Image(PreferenceBrowser.png, 600px, nolink, title="Preferences to enable DicThesaurusRex features.")]] == Dictionary Features == Depending on your browser, misspelled words are highlighted in orange and with an underline. After selecting the word and right-click, a browser menu opens suggesting correctly spelled words. Once a specific word has been chosen, the typo will be replaced with it. ''Please note: The spelling correction checks not only text but also Smalltalk code. Thus, it is able to find and replace typos in camel case notations.'' [[Image(spellingCorrectionInCodeEditor.png, 600px, nolink, title="Spelling correction integrated into source code editor and menu.")]] Instead of checking each method one by one, !DicThesaurusRex also offers a complete check of categories, classes, and protocols. After selecting a program entity, right click opens a menu that includes a new entry called ''check spelling''. With that all children are traversed and automatically checked for typos. Finally, a new window opens and presents all identified mistakes. Here, developers can ignore or replace them one by one. [[Image(spellingCorrectionEditor.png, nolink, 600px, title="Spelling correction for entire packages and opened spell corrector.")]] == Thesaurus Features == The enabled thesaurus improves the global source code search. Instead of looking only for exact matches, it expands the search space also to synonyms. It can be used with the tool bar search at the top of each Squeak image. After that the result set includes more entries ordered by exact matches and then similar terms. For example, the word ''test'' also returns results for ''try'', ''check'', etc. [[Image(synonymSearch.png, 600px, nolink, title="Extended Image search that also looks at synonyms.")]] If a selected word is spelled correctly, then the right-click menu suggests synonyms to developers. As with the spelling correction, words are replaced with the chosen term (this works also for selected camel case source code). [[Image(synonymSuggestionInCodeEditor.png, nolink, title="Synonym suggestion for correctly spelled words.")]] = Acknowledgments = !DicThesaurusRex has been developed as part of the software engineering I course at the hasso-plattner-institute, university of Potsdam (summer term 2013). [[Image(media/icons/silk:user.png, title="Contributors", nolink)]] To date the following people contributed to this project: * Daniel Neuschäfer-Rube * Suhanyaa Nitkunanantharajah * Michael Perscheid * Jaqueline Pollak * Jakob Reschke