mirror of
https://github.com/doublecmd/doublecmd.git
synced 2026-06-28 10:02:14 +00:00
ADD: Feature [0000830] "Additional file extensions for syntax highlighters"
This commit is contained in:
parent
1964e2b02a
commit
a98cfe4670
4 changed files with 133 additions and 6 deletions
|
|
@ -302,6 +302,7 @@ var
|
|||
J: LongWord;
|
||||
begin
|
||||
TargetHighlighter.Tag:= SourceHighlighter.Tag;
|
||||
TargetHighlighter.DefaultFilter:= SourceHighlighter.DefaultFilter;
|
||||
for J:= 0 to SourceHighlighter.AttrCount - 1 do
|
||||
begin
|
||||
TargetHighlighter.Attribute[J].Background:= SourceHighlighter.Attribute[J].Background;
|
||||
|
|
@ -351,6 +352,7 @@ begin
|
|||
if Assigned(Highlighter) then
|
||||
begin
|
||||
Highlighter.Tag := Config.GetAttr(FormNode, 'Tag', 1);
|
||||
Highlighter.DefaultFilter:= Config.GetValue(FormNode, 'DefaultFilter', Highlighter.DefaultFilter);
|
||||
AttributeNode := Config.FindNode(FormNode, 'Attribute');
|
||||
if Assigned(AttributeNode) then
|
||||
begin
|
||||
|
|
@ -402,6 +404,7 @@ var
|
|||
FormNode := Config.AddNode(Root, 'Highlighter');
|
||||
Config.SetAttr(FormNode, 'Tag', Highlighter.Tag);
|
||||
Config.SetAttr(FormNode, 'Name', Highlighter.LanguageName);
|
||||
Config.SetValue(FormNode, 'DefaultFilter', Highlighter.DefaultFilter);
|
||||
for J:= 0 to Highlighter.AttrCount - 1 do
|
||||
begin
|
||||
Attribute:= Highlighter.Attribute[J];
|
||||
|
|
|
|||
|
|
@ -29,21 +29,122 @@ inherited frmOptionsEditorColors: TfrmOptionsEditorColors
|
|||
Left = 0
|
||||
Height = 21
|
||||
Top = 3
|
||||
Width = 356
|
||||
Width = 326
|
||||
BorderSpacing.Top = 3
|
||||
ItemHeight = 13
|
||||
OnChange = cmbLanguageChange
|
||||
Style = csDropDownList
|
||||
TabOrder = 0
|
||||
end
|
||||
object stFileExtensions: TStaticText
|
||||
object pnlFileExtensions: TPanel
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 359
|
||||
Left = 329
|
||||
Height = 21
|
||||
Top = 3
|
||||
Width = 321
|
||||
Width = 351
|
||||
AutoSize = True
|
||||
BevelOuter = bvNone
|
||||
ClientHeight = 21
|
||||
ClientWidth = 351
|
||||
TabOrder = 1
|
||||
object edtFileExtensions: TEdit
|
||||
Left = 0
|
||||
Height = 21
|
||||
Top = 0
|
||||
Width = 305
|
||||
Align = alClient
|
||||
TabOrder = 0
|
||||
end
|
||||
object btnResetMask: TSpeedButton
|
||||
Left = 328
|
||||
Height = 21
|
||||
Hint = 'Reset'
|
||||
Top = 0
|
||||
Width = 23
|
||||
Align = alRight
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000000000000000
|
||||
000200000008000000120000001D000000271212126315151575151515751515
|
||||
157515151575151515751515157515151575151515751212125E000000000000
|
||||
000100000004000000090000000F0000001438383871ECECECFFE8E8E8FFE8E8
|
||||
E8FFE8E8E8FFE8E8E8FFE8E8E8FFE8E8E8FFECECECFF38383871000000000000
|
||||
0000000000000000000000000000373737004949496EEAEAEAFFCBCBCBFFCBCB
|
||||
CBFFCBCBCBFFCBCBCBFFEAEAEAFF666666FFEAEAEAFF4949496E0B0B0B000404
|
||||
040000000000000000003E3E3E00525252005252526DEEEEEEFFC8C8C8FFFFFF
|
||||
FFFFFFFFFFFFC8C8C8FFF1F1F1FFEDEDEDFFEEEEEEFF5252526D151515000D0D
|
||||
0D00191919581515157515151575151515752D2D2DAF8C8C8CFF747474FF9494
|
||||
94FF949494FF7C7C7CFFC4C4C4FFC4C4C4FFF1F1F1FF5C5C5C6C151515000D0D
|
||||
0D0038383871ECECECFFE8E8E8FFE8E8E8FFE8E8E8FFE8E8E8FFE8E8E8FFE8E8
|
||||
E8FFECECECFFD8D8D8FFFFFFFFFFC0C0C0FFF6F6F6FF6464646A191919581515
|
||||
1575353535B1EAEAEAFF262626FF262626FF262626FF262626FFEAEAEAFF6666
|
||||
66FFEAEAEAFFD8D8D8FFFFFFFFFFBBBBBBFFF9F9F9FF6C6C6C6938383871ECEC
|
||||
ECFFA8A8A8FFEEEEEEFF2A2A2AFF3C3C3CFF3C3C3CFF2A2A2AFFF1F1F1FFEDED
|
||||
EDFFEEEEEEFF9F9F9FFFADADADFFADADADFFFDFDFDFF747474684949496EEAEA
|
||||
EAFFADA639FFF1F1F1FF2E2E2EFF424242FF424242FF343434FF2E2E2EFF2E2E
|
||||
2EFFF1F1F1FFD8D8D8FFFFFFFFFFFFFFFFFFFFFFFFFF7A7A7A675252526DEEEE
|
||||
EEFFB2AB3CFFF6F6F6FF333333FF4A4A4AFF4A4A4AFF4A4A4AFF4A4A4AFF3333
|
||||
33FFF6F6F6FF7F7F7F947F7F7F667F7F7F667F7F7F667F7F7F4D5C5C5C6CF1F1
|
||||
F1FFB6AE3FFFF9F9F9FF383838FF505050FF505050FF505050FF505050FF3838
|
||||
38FFF9F9F9FF7F7F7F4D8080800080808000808080007F7F7F006464646AF6F6
|
||||
F6FFB9B242FFFDFDFDFF3B3B3BFF3B3B3BFF3B3B3BFF3B3B3BFF3B3B3BFF3B3B
|
||||
3BFFFDFDFDFF747474688080800080808000808080007F7F7F006C6C6C69F9F9
|
||||
F9FFBCB544FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
|
||||
FFFFFFFFFFFF7A7A7A677C7C7C0080808000808080007F7F7F0074747468FDFD
|
||||
FDFFC9C13CFFBFB745FFBFB745FFBFB745FFBFB745FFBFB745FFCBCBCBFF7B7B
|
||||
7BA47F7F7F667F7F7F4D747474007E7E7E00808080007F7F7F007A7A7A67FFFF
|
||||
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF7A7A
|
||||
7A677A7A7A007A7A7A007A7A7A007A7A7A007F7F7F007F7F7F007F7F7F4D7F7F
|
||||
7F667F7F7F667F7F7F667F7F7F667F7F7F667F7F7F667F7F7F667F7F7F667F7F
|
||||
7F4D7E7E7E007E7E7E007E7E7E005F5F5F000000000000000000
|
||||
}
|
||||
OnClick = btnResetMaskClick
|
||||
end
|
||||
object btnSaveMask: TSpeedButton
|
||||
Left = 305
|
||||
Height = 21
|
||||
Hint = 'Save'
|
||||
Top = 0
|
||||
Width = 23
|
||||
Align = alRight
|
||||
Glyph.Data = {
|
||||
36040000424D3604000000000000360000002800000010000000100000000100
|
||||
2000000000000004000064000000640000000000000000000000BA6A368FB969
|
||||
35B5B86935EEB76835FFB56835FFB46734FFB26634FFB06533FFAE6433FFAC63
|
||||
32FFAA6232FFA96132FFA86031FFA76031FEA66031F1A86131C4BA6A35DEEBC6
|
||||
ADFFEAC5ADFFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB
|
||||
F8FFFEFBF8FFFEFBF8FFFEFBF8FFC89A7CFFC79879FFA76031EDBA6B37FEEDCA
|
||||
B3FFE0A27AFFFEFAF7FF62C088FF62C088FF62C088FF62C088FF62C088FF62C0
|
||||
88FF62C088FF62C088FFFDF9F6FFCA8D65FFC99B7CFFA76031FEBB6C38FFEECC
|
||||
B6FFE1A27AFFFEFAF7FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDC
|
||||
C2FFBFDCC2FFBFDCC2FFFDF9F6FFCD9068FFCC9E81FFA86132FFBB6B38FFEFCE
|
||||
B8FFE1A279FFFEFAF7FF62C088FF62C088FF62C088FF62C088FF62C088FF62C0
|
||||
88FF62C088FF62C088FFFDF9F6FFCF936AFFCEA384FFAA6132FFBA6A36FFEFD0
|
||||
BBFFE2A27AFFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB
|
||||
F8FFFEFBF8FFFEFBF8FFFEFBF8FFD3966DFFD2A78AFFAB6232FFBB6A36FFF0D2
|
||||
BEFFE2A37AFFE2A37AFFE1A37AFFE2A37BFFE1A37BFFE0A178FFDE9F77FFDD9F
|
||||
76FFDC9D74FFD99B72FFD89971FFD69970FFD5AB8EFFAD6333FFBB6A36FFF2D5
|
||||
C2FFE3A37AFFE3A37AFFE2A37BFFE2A37BFFE2A47BFFE1A279FFE0A178FFDEA0
|
||||
77FFDE9E75FFDC9D74FFDA9B73FFD99B73FFDAB095FFAF6433FFBB6A36FFF2D8
|
||||
C5FFE3A47BFFE3A37AFFE3A47AFFE2A47BFFE2A37BFFE1A37BFFE1A279FFDFA0
|
||||
77FFDE9F76FFDD9E74FFDB9C72FFDC9D74FFDDB59AFFB16534FFBB6B36FFF4D9
|
||||
C7FFE6A67DFFC88C64FFC98D65FFC98E67FFCB926CFFCB926DFFCA9069FFC88C
|
||||
65FFC88C64FFC88C64FFC88C64FFDA9C74FFE1BA9FFFB36634FFBB6B36FEF4DC
|
||||
C9FFE7A77DFFF9ECE1FFF9ECE1FFF9EDE3FFFCF4EEFFFDFAF7FFFDF7F3FFFAED
|
||||
E5FFF7E7DBFFF7E5D9FFF6E5D8FFDEA077FFE4BEA4FFB46734FFBC6B36FAF5DD
|
||||
CCFFE7A87EFFFAF0E8FFFAF0E8FFC98D66FFFAF0E9FFFDF8F3FFFEFAF8FFFCF4
|
||||
EFFFF9E9DFFFF7E7DBFFF7E5D9FFE0A278FFE7C2A9FFB66835FFBC6B36F0F6DF
|
||||
D0FFE8A87EFFFCF6F1FFFCF6F1FFC88C64FFFAF1E9FFFBF4EEFFFDFAF7FFFDF9
|
||||
F6FFFAF0E8FFF8E8DDFFF7E6DBFFE1A37AFFEFD5C3FFB76935FEBC6B36D8F6DF
|
||||
D1FFE9AA80FFFEFAF6FFFDFAF6FFC88C64FFFBF3EEFFFBF1EAFFFCF6F2FFFEFB
|
||||
F8FFFCF6F1FFF9ECE2FFF8E7DBFFEED0BAFFECD0BDFFBB703EF8BC6B369BF6E0
|
||||
D1FFF7E0D1FFFEFBF8FFFEFBF7FFFDF9F6FFFCF5F0FFFAF0EAFFFBF2EDFFFDF9
|
||||
F6FFFDFAF7FFFBF1EBFFF8E9DFFEECD0BDFBC9895EECB5693563BC6B3671BC6B
|
||||
3690BC6B36CCBC6B36EEBC6B36FABB6B36FEBB6B36FFBB6A36FFBB6A36FFBC6C
|
||||
39FFBD6E3BFFBB6D3AFFBB6B38EFBB703ECBB6693554FFFFFF00
|
||||
}
|
||||
OnClick = btnSaveMaskClick
|
||||
end
|
||||
end
|
||||
end
|
||||
object PnlTop2: TPanel[1]
|
||||
|
|
|
|||
|
|
@ -1,3 +1,5 @@
|
|||
TFRMOPTIONSEDITORCOLORS.BTNRESETMASK.HINT=Reset
|
||||
TFRMOPTIONSEDITORCOLORS.BTNSAVEMASK.HINT=Save
|
||||
TFRMOPTIONSEDITORCOLORS.FOREGROUNDLABEL.CAPTION=Fo®round
|
||||
TFRMOPTIONSEDITORCOLORS.BACKGROUNDLABEL.CAPTION=Bac&kground
|
||||
TFRMOPTIONSEDITORCOLORS.FOREGROUNDUSEDEFAULTCHECKBOX.CAPTION=Fo®round
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ type
|
|||
cmbLanguage: TComboBox;
|
||||
ColorPreview: TSynEdit;
|
||||
ColumnPosBevel: TPanel;
|
||||
edtFileExtensions: TEdit;
|
||||
ForegroundColorBox: TColorBox;
|
||||
ForeGroundLabel: TLabel;
|
||||
ForeGroundUseDefaultCheckBox: TCheckBox;
|
||||
|
|
@ -61,8 +62,10 @@ type
|
|||
pnlTop: TPanel;
|
||||
PnlTop2: TPanel;
|
||||
pnlUnderline: TPanel;
|
||||
btnSaveMask: TSpeedButton;
|
||||
btnResetMask: TSpeedButton;
|
||||
Splitter1: TSplitter;
|
||||
stFileExtensions: TStaticText;
|
||||
pnlFileExtensions: TPanel;
|
||||
tbtnGlobal: TToolButton;
|
||||
tbtnLocal: TToolButton;
|
||||
TextBoldCheckBox: TCheckBox;
|
||||
|
|
@ -87,6 +90,8 @@ type
|
|||
TextUnderlineRadioPanel: TPanel;
|
||||
ToolBar1: TToolBar;
|
||||
ToolButton3: TToolButton;
|
||||
procedure btnResetMaskClick(Sender: TObject);
|
||||
procedure btnSaveMaskClick(Sender: TObject);
|
||||
procedure FrameStyleBoxDrawItem(Control: TWinControl; Index: Integer;
|
||||
ARect: TRect; State: TOwnerDrawState);
|
||||
procedure cmbLanguageChange(Sender: TObject);
|
||||
|
|
@ -224,6 +229,21 @@ begin
|
|||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmOptionsEditorColors.btnSaveMaskClick(Sender: TObject);
|
||||
begin
|
||||
FCurrentHighlighter.DefaultFilter:= FCurrentHighlighter.LanguageName + ' (' + edtFileExtensions.Text + ')|' + edtFileExtensions.Text;
|
||||
end;
|
||||
|
||||
procedure TfrmOptionsEditorColors.btnResetMaskClick(Sender: TObject);
|
||||
begin
|
||||
with TSynCustomHighlighterClass(FCurrentHighlighter.ClassType).Create(nil) do
|
||||
begin
|
||||
FCurrentHighlighter.DefaultFilter:= DefaultFilter;
|
||||
edtFileExtensions.Text:= Copy(FCurrentHighlighter.DefaultFilter, Pos('|', FCurrentHighlighter.DefaultFilter) + 1, MaxInt);
|
||||
Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TfrmOptionsEditorColors.cmbLanguageChange(Sender: TObject);
|
||||
var
|
||||
I: LongInt;
|
||||
|
|
@ -233,7 +253,8 @@ begin
|
|||
AttributeList:= TStringList.Create;
|
||||
try
|
||||
FCurrentHighlighter:= TSynCustomHighlighter(cmbLanguage.Items.Objects[cmbLanguage.ItemIndex]);
|
||||
stFileExtensions.Caption:= Copy(FCurrentHighlighter.DefaultFilter, 1, Pos('|', FCurrentHighlighter.DefaultFilter) - 1);
|
||||
pnlFileExtensions.Enabled:= not (FCurrentHighlighter is TSynPlainTextHighlighter);
|
||||
edtFileExtensions.Text:= Copy(FCurrentHighlighter.DefaultFilter, Pos('|', FCurrentHighlighter.DefaultFilter) + 1, MaxInt);
|
||||
ColorPreview.Lines.Text:= FHighl.GetSampleSource(FCurrentHighlighter);
|
||||
if ColorPreview.Lines.Text = EmptyStr then
|
||||
try
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue