Hi,
Another update to the Hammer 3 beta as it has been a while, earlier updates are here but that thread got a little bit long and unwieldy, so we start out fresh again .
Download from: https://projects.vdf-guidance.com/projects/hammer/files
One of the things you might have noticed with Source Code Tools released earlier this month is that it also features the same code editing control, the scintilla control, as used by The Hammer3.
Down there however it is included as a library whereas in this project it is embedded. In order to keep maintenance on that low and be able to keep things in sync with TheHammer3 quite a few changes have been made so that Hammer3 specific requirements have moved over to their own files, so things have been shuffled around a bit.
But there's other improvements that triggered me to push out another update.
So here's the list with the main changes:
Hammer beta 20180824
- Minimizing the differences between SciControlLib and The Hammer. This helps in decoupling the scintilla editor control from the rest of the Hammer logic so that the scintilla control can be used in other tools as well.
- Fix in parser.dll on file search logic that broke with embedded libraries.
- Removed the "First letter uppercase" logic on file/field name adjustments in favor for using the actual casing of the file/field names.
Hammer beta 20180904
- Minimizing the differences between SciControlLib and The Hammer. This helps in decoupling the scintilla editor control from the rest of the Hammer logic so that the scintilla control can be used in other tools as well. This is an ongoing project. For this we:
- Moved all "drop self" logic to a new subclass cSciLexerRefactor.pkg
- Added the new Normalize Case refactoring to the same package
- THParameters.dg, sort the scope keywords and do preselect a style in the fontstyle selector (thanks Nils)
- THParameters.dg, Updated to apply the font and size changes to all of the preview richedit and line number column instead of only the first few lines.
- cEditorEdit.pkg, deleting a file and switching back to the Hammer would trigger an annoying error that the file could not be opened (do'h). As it was an unending error it was useless. If the file is deleted, now the "has the file changed" logic will see that and not try to reload.
- Fixed Source file autocomplete for if the autocomplete on typing "Use" was ignored as it would still think the autocomplete was displayed and not display the file source auto complete.
- New Parser.dll, adds a check for most DF Keywords which are folding points that they should be at the start of the sentence.
More strict code folding points for better handling of code where developers are using DataFlex keywords as filenames.- Fix home path calculation for use in the tool panel for non standard workspace setups.
- Added new default theme "Serene" (my personal theme which so far never made it into a default theme)
- Added new default theme "Sahara"
- Default themes can now also contain font styles (bold/italic/underline)
- Added Refactor Normalize Case option which uses the casing as defined for language keywords, scope words and operators from the language parameters tab page.
- Add index autocomplete list for request_find and made find list a bit more flexible by also allowing "send Find of" in addition to "Send Find to"
Hammer beta 20180910
- Moved RefactorReIndent method from cEditorEdit.pkg to cSciLexerRefactor.pkg, added wait cursor during the processing.
- Added ability to read Libraries that do not use the standard folder config and add libraries recursively
- cSourceFilesList.pkg, removed SCTBackup from the list of files
- TH3ToolPane.dg, added refresh workspace file list toolbar item.
- cParser.pkg, created tParseProperty and tParseClass types and fill up properties with the data for the current file for these types.
- cEditorEdit.pkg, added autocomplete popup for methods + properties in current file. As a result you now get autocomplete on typing set/get/send.
- Sync code of MessageBox2.dg with Matt Davidian's original source
- New scintilla control, adds support for folding metatags #BeginSection #EndSection
- Extended ReIndent logic to not indent on Goto Labels
- Add collapse/expand for procedures/functions/objects/classes/line comments
Hammer beta 20190326
- Synced any of the updates in DfRefactor back to the Hammer for the matching refactoring options.
- Proper indent on case statement, single line if/else statements that have semicolumns, single line comments.
- Much faster reindent process.
- ReIndent on Type/End Type.
- No ReIndent on Macro Command definitions
- Worked on a few Hi DPI improvements. There was a resizing bug in the code explorer one could bump into at a DPI of 150% and up. Icons can get really tiny when working with TH3 on a high resolution. This is resolved using resizing for the codejock parts, but is still an issue on the treeviews. The icon resize option is only if you compile the Hammer with DF19.0+
- The file explorer now automatically adds your libraries (this had to be done manually in the past)
- If you have duplicate methods in your class/object then the duplicate method now shows up in the code explorer with a suffix "#duplicate"
- Remember the current line after an automatic reload when an external editor makes a change to your file.
cheers!
--
Wil