* * *

Author Topic: ATSynEdit: cooking feature  (Read 8794 times)

Alextp

  • Hero Member
  • *****
  • Posts: 683
    • UVviewsoft
Re: ATSynEdit: cooking feature
« Reply #15 on: August 22, 2017, 10:05:56 am »
Fixes for ModeOneLine=true

- if text not fits to control, more text at left, make right edge of text sticky to right edge of Edit
- allow mouse auto-scroll + select to left-right (was only in multi-line mode)

Alextp

  • Hero Member
  • *****
  • Posts: 683
    • UVviewsoft
Re: ATSynEdit: cooking feature
« Reply #16 on: August 31, 2017, 11:22:49 am »
Update

Added DimRanges obj, see doc:
http://wiki.freepascal.org/ATSynEdit#DimRanges_object

Example screenshot with 2 ranges: on top (dim value 130) and lower (dim value 200)

Alextp

  • Hero Member
  • *****
  • Posts: 683
    • UVviewsoft
Re: ATSynEdit: cooking feature
« Reply #17 on: November 30, 2017, 12:57:38 pm »
ATSynEdit_Ex package updated

Added ATSynEdit adapter for "lite lexers". They work much faster than EControl lexers but with limitations.
http://wiki.freepascal.org/CudaText#Lite_lexers

3 lite lexers made:
XML
JSON
Log files
(they are in CudaText release)

Alextp

  • Hero Member
  • *****
  • Posts: 683
    • UVviewsoft
Re: ATSynEdit: cooking feature
« Reply #18 on: December 05, 2017, 08:12:01 am »
Big change - optimized memory usage.

Before: Lines items were Objects, which had properties in a class.
Now: Lines items are records inside TFPGList, and they are "bitpacked records".

Mem usage must be smaller.
« Last Edit: December 05, 2017, 08:14:44 am by Alextp »

Alextp

  • Hero Member
  • *****
  • Posts: 683
    • UVviewsoft
Re: ATSynEdit: cooking feature
« Reply #19 on: December 10, 2017, 10:00:49 am »
Again, changed storage of strings (ATStrings)
Fixed major bug: double freeing of objects (visible as crash on paste).

Alextp

  • Hero Member
  • *****
  • Posts: 683
    • UVviewsoft
Re: ATSynEdit: cooking feature
« Reply #20 on: January 11, 2018, 12:50:30 pm »
Added many optimizations to scroll  text (vert) fast with huge lines [tested on 4M line len].

Still horiz scrolling on huge lines is very slow. maybe to-do..

Alextp

  • Hero Member
  • *****
  • Posts: 683
    • UVviewsoft
Re: ATSynEdit: cooking feature
« Reply #21 on: January 12, 2018, 10:51:13 am »
Made like in Sublime: Ctrl+(double click) selects word as additional caret.

Alextp

  • Hero Member
  • *****
  • Posts: 683
    • UVviewsoft
Re: ATSynEdit: cooking feature
« Reply #22 on: January 19, 2018, 12:54:55 pm »
Update
Added Hotspots object.
http://wiki.freepascal.org/ATSynEdit#Hotspots_object

Example of usage: in HTML file, app can find all HTML color tokens #rrggbb, add hotspots for them, and store color value to Tag. Then on mouse-over app can show colored tooltip.

Alextp

  • Hero Member
  • *****
  • Posts: 683
    • UVviewsoft
Re: ATSynEdit: cooking feature
« Reply #23 on: February 07, 2018, 11:17:39 am »
Big update

Quote
2018.02.06
+ rewritten bookmarks support. now bookmarks are not embedded into Strings items, they are in separate Strings.Bookmarks object. now bookmarks aren't deleted if their lines are deleted - good.
+ smaller size of Strings item
+ added unit atsynedit_bookmarks
* deleted unit atstrings_hints
* deprecated Strings.LinesBm[]
* deleted Strings.LinesHint[]

2018.01.31
- fix: stupid bug (fix: char->widechar) in detect pixel width of CJK text
+ add: prop OptMaxLineLengthForSlowWidthDetect (500)

2018.01.25
+ allow OptIndentSize value 0: it uses OptTabSize, OptTabSpaces
Info -
http://wiki.freepascal.org/ATSynEdit#Strings.Bookmarks_object

« Last Edit: February 07, 2018, 11:19:23 am by Alextp »

Alextp

  • Hero Member
  • *****
  • Posts: 683
    • UVviewsoft
Re: ATSynEdit: cooking feature
« Reply #24 on: February 17, 2018, 01:30:46 pm »
Update

More optimizations for huge lines. Tested on file with 4M line len: now caret moves fast at end too (before was fast only at line start).
Optimization is only for pure ASCII lines, where no need to call UTF8Length.

Alextp

  • Hero Member
  • *****
  • Posts: 683
    • UVviewsoft
Re: ATSynEdit: cooking feature
« Reply #25 on: March 12, 2018, 06:54:09 am »
2018.03.11
+ add: minimap tooltip: it shows several lines for mouse cursor pos, when mouse is over minimap
+ add: prop OptMinimapTooltipVisible
+ add: prop OptMinimapTooltipLinesCount
+ add: prop OptMinimapTooltipWidthPercents
+ add: prop Colors.MinimapTooltipBG
+ add: prop Colors.MinimapTooltipBorder

Minimap tooltip - on screenshot

Alextp

  • Hero Member
  • *****
  • Posts: 683
    • UVviewsoft
Re: ATSynEdit: cooking feature
« Reply #26 on: April 03, 2018, 12:26:59 pm »
I think it's VERY innovative feature. I dont know of such feature in Delphi editors. It is like in Adobe Brackets.
App can create INLINE editor- editor which edits another file inside main editor.

demo_editor shows it. Run it, call "Test/ Add gap", then call "Test/ Toggle inline editor".

Screenshot with yellow inline editor-

 

Recent

Get Lazarus at SourceForge.net. Fast, secure and Free Open Source software downloads Open Hub project report for Lazarus