ecode 0.6.0
ecode 0.6.0
This release adds some of the pending fundamental features for a code-editor.
General
Features
Added soft-wrap / line-wrap support (#12)
soft-wrap.mp4
Added code-folding support (#231)
code-folding.mp4
Added support for session snapshots & periodic backup (editor will allow closing modified documents and restore its last state) (#220)
session-snapshots.mp4
Improved distinction between modified and unmodified documents (#69 and #287)
Added Shift-JIS encoding support (#276)
Added bend language syntax-highlighting support
Fixes / Minor improvements
Fix Vue codes in <script> doesn't have syntax highlight (#275)
Fix don't run program if compilation failed when using project-build-and-run command (#278)
Allow to disable the Welcome Tab/Screen (and opening ecode with a blank document) (#279)
welcome-screen-settings.mp4
Added Java Formatter-Support (#283)
Improvements in keywords for LSP Client ($FILEPATH and others) (#284)
Wrap text in linter tooltip (#289)
Fix pasting single-line text with multi-cursor
Fix haskell lsp command call
Fix a couple of rare crashes with observed file system changes
Plus many small improvements
Notice
This new release could be a little bit more unstable than usual given that the new features represent a big change over the editor and text document components, adding document virtual views. I've using it for a couple of months, I'm confident with the soft-wrap implementation but not so much with code-folding given that I don't particularly use the feature very often. Please, as usual, report any issue. Also please note that code-folding is enabled in most languages but not all of them (tag based languages as XML/HTML are still pending unless you configure an LSP with fold support). Code-folding is provided from two different providers: ecode own implementation for languages with folding based in braces and indentation and also via LSP folding provider. If LSP fold provider is present ecode will prioritise it (it's expected to be better and faster). Tag based folding has not been implemented due to the processing cost it has (will need more dedication for an optimised implementation).