implement #25 but not enabled

This commit is contained in:
Basile Burg 2016-03-02 12:33:52 +01:00
parent a6c8767dc0
commit 207f9276d6
2 changed files with 13 additions and 1 deletions

View File

@ -58,6 +58,7 @@ type
fCompletionMenuWidth: integer; fCompletionMenuWidth: integer;
fCompletionMenuLines: Byte; fCompletionMenuLines: Byte;
fAutoCLoseCurlyBrace: TBraceAutoCloseStyle; fAutoCLoseCurlyBrace: TBraceAutoCloseStyle;
fCtrlDisableAutoClose: boolean;
// //
procedure setFont(value: TFont); procedure setFont(value: TFont);
procedure setSelCol(value: TSynSelectedColor); procedure setSelCol(value: TSynSelectedColor);
@ -83,6 +84,7 @@ type
property completionMenuCaseCare: boolean read fCompletionMenuCaseCare write fCompletionMenuCaseCare; property completionMenuCaseCare: boolean read fCompletionMenuCaseCare write fCompletionMenuCaseCare;
property completionMenuLines: byte read fCompletionMenuLines write setCompletionMenuLines; property completionMenuLines: byte read fCompletionMenuLines write setCompletionMenuLines;
property completionMenuWidth: integer read fCompletionMenuWidth write fCompletionMenuWidth; property completionMenuWidth: integer read fCompletionMenuWidth write fCompletionMenuWidth;
//property ctrlDisableAutoClose: boolean read fCtrlDisableAutoClose write fCtrlDisableAutoClose default true;
property currentLine: TSynSelectedColor read fCurrLineAttribs write setCurrLineAttribs; property currentLine: TSynSelectedColor read fCurrLineAttribs write setCurrLineAttribs;
property ddocDelay: Integer read fDDocDelay write setDDocDelay; property ddocDelay: Integer read fDDocDelay write setDDocDelay;
property folding: TSynSelectedColor read fFoldedColor write setFoldedColor; property folding: TSynSelectedColor read fFoldedColor write setFoldedColor;
@ -217,6 +219,7 @@ begin
fCurrLineAttribs.Background := fBackground - $080808; fCurrLineAttribs.Background := fBackground - $080808;
fCurrLineAttribs.Foreground := clNone; fCurrLineAttribs.Foreground := clNone;
// //
fCtrlDisableAutoClose := true;
options1 := options1 :=
[eoAutoIndent, eoBracketHighlight, eoGroupUndo, eoTabsToSpaces, eoTrimTrailingSpaces, [eoAutoIndent, eoBracketHighlight, eoGroupUndo, eoTabsToSpaces, eoTrimTrailingSpaces,
eoDragDropEditing, eoShowCtrlMouseLinks, eoEnhanceHomeKey, eoTabIndent]; eoDragDropEditing, eoShowCtrlMouseLinks, eoEnhanceHomeKey, eoTabIndent];
@ -263,6 +266,7 @@ begin
begin begin
srcopt := TCEEditorOptionsBase(src); srcopt := TCEEditorOptionsBase(src);
// //
fCtrlDisableAutoClose:=srcopt.fCtrlDisableAutoClose;
fResetFontSize:=srcopt.fResetFontSize; fResetFontSize:=srcopt.fResetFontSize;
fAutoCLoseCurlyBrace := srcopt.fAutoCLoseCurlyBrace; fAutoCLoseCurlyBrace := srcopt.fAutoCLoseCurlyBrace;
fCompletionMenuWidth:=srcopt.fCompletionMenuWidth; fCompletionMenuWidth:=srcopt.fCompletionMenuWidth;
@ -608,6 +612,7 @@ begin
if not fResetFontSize then if not fResetFontSize then
anEditor.Font.Size := savedSize; anEditor.Font.Size := savedSize;
anEditor.ctrlDisableAutoClose := fCtrlDisableAutoClose;
anEditor.autoCloseCurlyBrace := fAutoCLoseCurlyBrace; anEditor.autoCloseCurlyBrace := fAutoCLoseCurlyBrace;
anEditor.completionMenu.TheForm.Width := fCompletionMenuWidth; anEditor.completionMenu.TheForm.Width := fCompletionMenuWidth;
anEditor.completionMenu.LinesInWindow := fCompletionMenuLines; anEditor.completionMenu.LinesInWindow := fCompletionMenuLines;

View File

@ -140,6 +140,8 @@ type
fOverrideColMode: boolean; fOverrideColMode: boolean;
fAutoCloseCurlyBrace: TBraceAutoCloseStyle; fAutoCloseCurlyBrace: TBraceAutoCloseStyle;
fLexToks: TLexTokenList; fLexToks: TLexTokenList;
fCtrlDisableAutoClose: boolean;
fShiftState: TShiftState;
procedure setMatchOpts(value: TIdentifierMatchOptions); procedure setMatchOpts(value: TIdentifierMatchOptions);
function getMouseFileBytePos: Integer; function getMouseFileBytePos: Integer;
procedure changeNotify(Sender: TObject); procedure changeNotify(Sender: TObject);
@ -223,6 +225,7 @@ type
property ddocDelay: Integer read fDDocDelay write setDDocDelay; property ddocDelay: Integer read fDDocDelay write setDDocDelay;
property autoDotDelay: Integer read fAutoDotDelay write setAutoDotDelay; property autoDotDelay: Integer read fAutoDotDelay write setAutoDotDelay;
property autoCloseCurlyBrace: TBraceAutoCloseStyle read fAutoCloseCurlyBrace write fAutoCloseCurlyBrace; property autoCloseCurlyBrace: TBraceAutoCloseStyle read fAutoCloseCurlyBrace write fAutoCloseCurlyBrace;
property ctrlDisableAutoClose: boolean read fCtrlDisableAutoClose write fCtrlDisableAutoClose;
end; end;
procedure SetDefaultCoeditKeystrokes(ed: TSynEdit); procedure SetDefaultCoeditKeystrokes(ed: TSynEdit);
@ -1389,6 +1392,7 @@ end;
procedure TCESynMemo.KeyDown(var Key: Word; Shift: TShiftState); procedure TCESynMemo.KeyDown(var Key: Word; Shift: TShiftState);
begin begin
inherited; inherited;
//fShiftState := Shift;
highlightCurrentIdentifier; highlightCurrentIdentifier;
if fCompletion.IsActive then if fCompletion.IsActive then
fCompletion.CurrentString:= GetWordAtRowCol(LogicalCaretXY); fCompletion.CurrentString:= GetWordAtRowCol(LogicalCaretXY);
@ -1444,7 +1448,10 @@ begin
else else
showCallTips(fCallTipStrings.Text); showCallTips(fCallTipStrings.Text);
end; end;
'{': case fAutoCloseCurlyBrace of '{':
//if (not fCtrlDisableAutoClose) or
// (fCtrlDisableAutoClose and (not (ssCtrl in fShiftState))) then
case fAutoCloseCurlyBrace of
autoCloseAlways: autoCloseAlways:
curlyBraceCloseAndIndent(self); curlyBraceCloseAndIndent(self);
autoCloseAtEof: autoCloseAtEof: