From e2ac5ddf3189b008ee7553059fd37bd61e5b6f00 Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Wed, 20 Jan 2016 10:32:35 +0100 Subject: [PATCH] editor, fix identifier markup, all trailing blank chars marked --- src/ce_main.lfm | 5 +---- src/ce_main.pas | 12 +++++++++--- src/ce_synmemo.pas | 24 +++++++++++++++++++----- src/ce_widget.lfm | 3 ++- 4 files changed, 31 insertions(+), 13 deletions(-) diff --git a/src/ce_main.lfm b/src/ce_main.lfm index ccc744c5..51b5afed 100644 --- a/src/ce_main.lfm +++ b/src/ce_main.lfm @@ -5,9 +5,6 @@ object CEMainForm: TCEMainForm Width = 745 AllowDropFiles = True Caption = 'Coedit' - ChildSizing.Layout = cclLeftToRightThenTopToBottom - ClientHeight = 49 - ClientWidth = 745 Icon.Data = { F1B500000000010001000000000001002000DBB500001600000089504E470D0A 1A0A0000000D49484452000001000000010008060000005C72A8660000B5A249 @@ -1467,11 +1464,11 @@ object CEMainForm: TCEMainForm 07F7DABF1C7571F38F0000000049454E44AE426082 } Menu = mainMenu + OnClose = FormClose OnCloseQuery = FormCloseQuery OnDropFiles = FormDropFiles ShowHint = True LCLVersion = '1.6.0.2' - Visible = False object mainMenu: TMainMenu Images = imgList top = 1 diff --git a/src/ce_main.pas b/src/ce_main.pas index 9cd0066d..5a7c64a3 100644 --- a/src/ce_main.pas +++ b/src/ce_main.pas @@ -146,6 +146,7 @@ type procedure actProjNewDubJsonExecute(Sender: TObject); procedure actProjNewNativeExecute(Sender: TObject); procedure actSetRunnableSwExecute(Sender: TObject); + procedure FormClose(Sender: TObject; var CloseAction: TCloseAction); procedure updateDocumentBasedAction(sender: TObject); procedure updateProjectBasedAction(sender: TObject); procedure updateDocEditBasedAction(sender: TObject); @@ -904,7 +905,7 @@ begin if not widg.isDockable then continue; DockMaster.GetAnchorSite(widg).Header.HeaderPosition := adlhpTop; if not DockMaster.GetAnchorSite(widg).HasParent then - DockMaster.GetAnchorSite(widg).Close + DockMaster.GetAnchorSite(widg).Close; end; end; end; @@ -1116,6 +1117,13 @@ begin end; end; +procedure TCEMainForm.FormClose(Sender: TObject; var CloseAction: TCloseAction); +begin + // saving doesnt work when csDestroying in comp.state (i.e in destroy) + if CloseAction = caFree then + SaveDocking; +end; + destructor TCEMainForm.destroy; begin SaveSettings; @@ -1157,8 +1165,6 @@ begin if not fMultidoc.closeDocument(i) then exit; canClose := true; closeProj; - // saving doesnt work when csDestroying in comp.state (in Free) - SaveDocking; end; procedure TCEMainForm.updateDocumentBasedAction(sender: TObject); diff --git a/src/ce_synmemo.pas b/src/ce_synmemo.pas index a5a8112e..c825bdec 100644 --- a/src/ce_synmemo.pas +++ b/src/ce_synmemo.pas @@ -826,9 +826,9 @@ begin // pnt := ClientToScreen(point(CaretXPix, CaretYPix)); fCallTipWin.FontSize := Font.Size; - fCallTipWin.HintRect := fCallTipWin.CalcHintRect(0, tips, nil); + fCallTipWin.HintRect := fCallTipWin.CalcHintRect(0, tips, nil); fCallTipWin.OffsetHintRect(pnt, Font.Size * 2); - fCallTipWin.ActivateHint(tips); + fCallTipWin.ActivateHint(tips); end; procedure TCESynMemo.hideCallTips; @@ -948,14 +948,28 @@ begin end; procedure TCESynMemo.highlightCurrentIdentifier; +var + str: string; + i: integer; begin fIdentifier := GetWordAtRowCol(LogicalCaretXY); if (length(fIdentifier) > 2) and (not SelAvail) then SetHighlightSearch(fIdentifier, fMatchIdentOpts) else if SelAvail then - SetHighlightSearch(SelText,fMatchSelectionOpts) - else - SetHighlightSearch('',[]); + begin + str := SelText; + for i := 1 to length(str) do + begin + if not (str[i] in [' ', #10, #13]) then + begin + SetHighlightSearch(str, fMatchSelectionOpts); + break; + end; + if i = length(str) then + SetHighlightSearch('', []); + end; + end + else SetHighlightSearch('', []); end; procedure TCESynMemo.setMatchOpts(value: TIdentifierMatchOptions); diff --git a/src/ce_widget.lfm b/src/ce_widget.lfm index 9bea8107..92ff6da9 100644 --- a/src/ce_widget.lfm +++ b/src/ce_widget.lfm @@ -9,7 +9,8 @@ object CEWidget: TCEWidget ClientWidth = 332 ShowHint = True ShowInTaskBar = stNever - LCLVersion = '1.4.2.0' + LCLVersion = '1.6.0.2' + Visible = False object Back: TPanel Left = 0 Height = 121