Recent

Author Topic: ATSynEdit  (Read 16122 times)

AlexTP

  • Hero Member
  • *****
  • Posts: 2382
    • UVviewsoft
Re: ATSynEdit
« Reply #15 on: November 12, 2018, 08:01:06 pm »
Updates
Quote
2018.11.12
+ add: OptShowStapleHiliteActive (highlight deepest block staple containing caret pos)
+ add: OptShowStapleHiliteActiveAlpha (alpha blend value for active staple)

2018.11.11
+ add: property OptUnprintedSpacesBothEnds
+ add: property OptWrapAddSpace (additional number of spaces for wrapped lines)
+ add: property OptScrollbarHorizontalAddSpace (additional number of spaces to show at end of longest line)
+ add: OptWrapMode has new enum value: cWrapAtWindowOrMargin (auto minimal from 2 values)

2018.11.09
- fix: command "Invert Selection" gave redundant carets at begin/end
+ add: don't use empty CodePage name, always fill it with LConvEncoding.GetDefaultTextEncoding

2018.11.07
+ add: event OnCalcTabSize to support Elastic Tabstops

2018.10.28
+ add: property OptSavingTrimFinalEmptyLines

AlexTP

  • Hero Member
  • *****
  • Posts: 2382
    • UVviewsoft
Re: ATSynEdit
« Reply #16 on: December 04, 2018, 12:17:23 pm »
It was many changes in the last month.


2018.12.02
+ add: reworked Minimap painting, so now it correctly paints spaces/tabs, even if they are inside multiline comments or strings
- fix: fixes for Minimap Tooltip - it must show wrapped lines like editor does

2018.12.01
+ add: Colors.BlockStapleForCaret (if clNone, then color is calculated from Colors.BlockStaple/TextFont)

2018.11.30
* change: renamed props OptShowStapleNNN to OptStapleNNN
+ add: prop OptStapleEdge1, OptStapleEdge2

2018.11.25
+ add: prop UndoAsString
+ add: prop RedoAsString

AlexTP

  • Hero Member
  • *****
  • Posts: 2382
    • UVviewsoft
Re: ATSynEdit
« Reply #17 on: December 23, 2018, 03:39:12 pm »
Package ATSynEdit_Ex updated.
Added TATAdapterSimple, ie simple adapter. This adapter is simple. It simply does this: for line S it fires OnGetLineColor(S, ColorFont, ColorBack) to get 2 colors for line: font and back.
If it gets clNone then line is not hilited.

It can be used eg in FpcUpDeluxe to hilite log lines.
« Last Edit: December 23, 2018, 03:40:53 pm by Alextp »

Thaddy

  • Hero Member
  • *****
  • Posts: 14193
  • Probably until I exterminate Putin.
Re: ATSynEdit
« Reply #18 on: December 23, 2018, 04:50:07 pm »
That's a clever feature. I always wanted something like that, for patches...
Specialize a type, not a var.

AlexTP

  • Hero Member
  • *****
  • Posts: 2382
    • UVviewsoft
Re: ATSynEdit
« Reply #19 on: December 29, 2018, 10:14:32 pm »
Cooking feature. Not fully done, polishing it yet.
Smooth per-pixel scrolling.

preview video here:
https://github.com/Alexey-T/CudaText/issues/1762#issuecomment-450520026

AlexTP

  • Hero Member
  • *****
  • Posts: 2382
    • UVviewsoft
Re: ATSynEdit
« Reply #20 on: December 31, 2018, 11:03:32 am »
I think, smooth per-pixel scrolling is done. I 've fixed all issues I've found in last days...

AlexTP

  • Hero Member
  • *****
  • Posts: 2382
    • UVviewsoft
Re: ATSynEdit
« Reply #21 on: January 22, 2019, 09:38:37 am »
Quote
2019.01.21
+ add: Gaps object allows item before the 1st line, with LineIndex=-1
+ add: Gaps items have prop DeleteOnDelLine

2019.01.20
* change: to fix hanging of timers (by LCL), now on Unix component uses TfpTimer, ie threads. App must enable define UseCThreads (see how it's used in the begin of .lpr file), otherwise you'll get runtime error on start.

2019.01.16
- fix: OptScrollLineCommandsKeepCaretOnScreen worked wrong

2019.01.14
+ add: rework dragging of Minimap's highlighted rect; now it must feel like Sublime

2019.01.13
+ add: OptAutoIndentBetterBracketsCurly (make additional indented line if caret was inside {} )
+ add: OptAutoIndentBetterBracketsRound
+ add: OptAutoIndentBetterBracketsSquare

2019.01.12
- fix: when caret on file end, command "scroll line up" caused caret jump

2019.01.06
+ add: Strings object new method LoadFromStrings()
+ add: Finder has new method DoAction_ExtractAll (for CudaText)

AlexTP

  • Hero Member
  • *****
  • Posts: 2382
    • UVviewsoft
Re: ATSynEdit
« Reply #22 on: February 22, 2019, 09:54:42 am »
Quote
2019.02.06
+ add: Gaps items have new Color property

2019.02.04
+ add: event OnChangeModified

2019.02.01
+ add: property EncodingName

2019.01.31
+ add: new object Strings.Bookmarks2 - it holds list of "background bookmarks", which have lower paint priority than usual bookmarks - they are used to colorize entire line w/o placing bookmark on it

2019.01.27
* change: renamed most TATSyn*** objects to TAT*** (e.g. TATSynWrapInfo -> TATWrapInfo)
+ add: objects Attribs/DimRanges now use binary search to find items. Big speedup if lot of items in Attribs.

2019.01.26
* reverted usage of fpTimer, now not used

AlexTP

  • Hero Member
  • *****
  • Posts: 2382
    • UVviewsoft
Re: ATSynEdit
« Reply #23 on: May 08, 2019, 10:02:39 pm »
Updates
Quote
2019.05.07
+ add: global variables EditorScale, EditorScaleFont (in percents)
+ add: property OptRulerHeightPercents
+ add: property OptRulerFontSizePercents
+ add: property OptRulerTopIndentPercents
+ add: property OptMicromapWidthPercents
+ add: property OptNumbersIndentPercents
* deleted: OptRulerSize
* deleted: OptRulerFontSize
* deleted: OptRulerTextIndent
* deleted: OptMicromapWidth
* deleted: OptNumbersIndentLeft, OptNumbersIndentRight
* deleted: OptNumbersFontSize
* deleted: OptCharSpacingX

2019.04.30
+ add: property Strings.UndoEmpty
+ add: property Strings.RedoEmpty

2019.04.26
+ add: property OptRulerMarkSizeCaret

2019.04.17
+ add: property OptZebraActive
+ add: property OptZebraAlphaBlend

2019.04.11
+ add: improved Gaps, they must not break smooth vertical scrolling (80% done)

2019.04.07
+ add: property OptShowMouseSelFrame (show dotted frame during mouse selection)
+ add: commands "selection: remove first caret", "selection: remove last caret"

AlexTP

  • Hero Member
  • *****
  • Posts: 2382
    • UVviewsoft
Re: ATSynEdit
« Reply #24 on: June 05, 2019, 12:49:14 pm »
ATSynEdit now supports Emoji (ie surrogate unicode chars).

AlexTP

  • Hero Member
  • *****
  • Posts: 2382
    • UVviewsoft
Re: ATSynEdit
« Reply #25 on: June 13, 2019, 10:35:30 am »
Quote
2019.06.12
+ add: Finder has property OptTokens (enum: all, comments, strings, comments+strings, except comments, ...)
+ add: Finder has event OnGetToken (to implement checks for OptTokens)

2019.06.04
+ refactor: split all IME code to "adapter" atsynedit_adapter_ime
+ add: IME window position must be near caret
+ add: IME window must hide on mouse click
- fix: caret pos was incorrect on lines with Emoji

2019.05.20
+ add: OptAutoIndentRegexRule (if line matches this regex, then Enter will add additional indent to new line)

2019.05.16
* change: required package ATFlatControls. This was needed to not have copy of ATScrollbar unit (renamed to ATSynEdit_Scrollbar), that unit is complex and had recent updates. It's hard to keep copy sync'ed. DRY principle.

2019.05.14
* renamed props GutterBand* to longer names

2019.05.12
+ add: feature like in EmEditor: double-click selects not only whole word, but also spaces and symbol-chars
* change: replaced OptMouse2ClickSelectsLine to OptMouse2ClickAction enum
* change: OptScrollbarsNewArrowsKind has renamed its type and has new values

AlexTP

  • Hero Member
  • *****
  • Posts: 2382
    • UVviewsoft
Re: ATSynEdit
« Reply #26 on: September 13, 2019, 08:16:07 pm »
Many changes.

Maybe ATSynEdit is the only text editor component which can highlight unprinted symbols only in selection?

Quote
2019.09.13
+ add: OptUnprintedSpacesOnlyInSelection

2019.09.10
+ add: OptMinimapHiliteLinesWithSelection (it uses Colors.CurrentLineBG)

2019.06.12
+ add: Finder has property OptTokens (enum: all, comments, strings, comments+strings, except comments, ...)
+ add: Finder has event OnGetToken (to implement checks for OptTokens)

2019.06.04
+ refactor: split all IME code to "adapter" atsynedit_adapter_ime
+ add: IME window position must be near caret
+ add: IME window must hide on mouse click
- fix: caret pos was incorrect on lines with Emoji

2019.05.20
+ add: OptAutoIndentRegexRule (if line matches this regex, then Enter will add additional indent to new line)

AlexTP

  • Hero Member
  • *****
  • Posts: 2382
    • UVviewsoft
Re: ATSynEdit
« Reply #27 on: October 24, 2019, 09:45:18 pm »

AlexTP

  • Hero Member
  • *****
  • Posts: 2382
    • UVviewsoft
Re: ATSynEdit
« Reply #28 on: February 24, 2020, 01:30:28 pm »
2020.02.21
+ add: reworked strings storage system TATStrings:
  a) it takes less memory for ASCII text lines
  b) for lines with non-ASCII chars, it takes more memory, but it works much faster, so scrolling in smoother
+ add: much faster rendering at the end of huge lines (>1M)
+ add: much faster toggling Wrap mode on huge lines
+ add: on long lines (>500), editor ignores CJK char sizes

2020.02.15
+ add: used Alexey Torgashin's patches to Sorokin's TRegExpr

2020.02.13
+ add: OptMaxLineLenToTokenize=4000

2019.12.17
+ add: finder: added method Action_FindAll (collect all matches in a list)

2019.12.11
+ add: supported encodings UTF-32LE, UTF-32BE

« Last Edit: February 24, 2020, 01:32:05 pm by Alextp »

 

TinyPortal © 2005-2018