Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
D
DataEditorX
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
1
Issues
1
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nanahira
DataEditorX
Commits
26b35d9e
Commit
26b35d9e
authored
Jan 13, 2022
by
JoyJ
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update tooltip and xshd
parent
08b3c69c
Pipeline
#8681
failed with stage
in 42 seconds
Changes
4
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
242 additions
and
110 deletions
+242
-110
DataEditorX/CodeEditForm.Designer.cs
DataEditorX/CodeEditForm.Designer.cs
+1
-1
DataEditorX/CodeEditForm_Avalon.Designer.cs
DataEditorX/CodeEditForm_Avalon.Designer.cs
+88
-28
DataEditorX/CodeEditForm_Avalon.cs
DataEditorX/CodeEditForm_Avalon.cs
+147
-75
DataEditorX/data/avalon.xshd
DataEditorX/data/avalon.xshd
+6
-6
No files found.
DataEditorX/CodeEditForm.Designer.cs
View file @
26b35d9e
...
...
@@ -260,7 +260,6 @@ private void InitializeComponent()
this
.
fctb
.
AutoScrollMinSize
=
new
System
.
Drawing
.
Size
(
0
,
22
);
this
.
fctb
.
BackBrush
=
null
;
this
.
fctb
.
BackColor
=
System
.
Drawing
.
Color
.
FromArgb
(((
int
)(((
byte
)(
64
)))),
((
int
)(((
byte
)(
64
)))),
((
int
)(((
byte
)(
64
)))));
this
.
fctb
.
BracketsHighlightStrategy
=
FastColoredTextBoxNS
.
BracketsHighlightStrategy
.
Strategy2
;
this
.
fctb
.
CharHeight
=
22
;
this
.
fctb
.
CharWidth
=
10
;
this
.
fctb
.
CommentPrefix
=
"--"
;
...
...
@@ -330,6 +329,7 @@ private void InitializeComponent()
this
.
DragDrop
+=
new
System
.
Windows
.
Forms
.
DragEventHandler
(
this
.
OnDragDtop
);
this
.
DragEnter
+=
new
System
.
Windows
.
Forms
.
DragEventHandler
(
this
.
OnDragEnter
);
this
.
Enter
+=
new
System
.
EventHandler
(
this
.
CodeEditFormEnter
);
this
.
KeyDown
+=
new
System
.
Windows
.
Forms
.
KeyEventHandler
(
this
.
Tb_inputKeyDown
);
this
.
mainMenu
.
ResumeLayout
(
false
);
this
.
mainMenu
.
PerformLayout
();
((
System
.
ComponentModel
.
ISupportInitialize
)(
this
.
fctb
)).
EndInit
();
...
...
DataEditorX/CodeEditForm_Avalon.Designer.cs
View file @
26b35d9e
...
...
@@ -10,6 +10,7 @@
using
ICSharpCode.AvalonEdit.Editing
;
using
System
;
using
System.Collections.Generic
;
using
System.Windows
;
using
System.Windows.Forms
;
using
System.Windows.Forms.Integration
;
using
System.Windows.Input
;
...
...
@@ -58,16 +59,18 @@ private void InitializeComponent()
this
.
menuitem_showinput
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
menuitem_find
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
menuitem_replace
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
menuitem_help
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
menuitem_about
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
menuitem_tooltipFont
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
menuitem_tools
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
menuitem_testlua
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
menuitem_effectcreator
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
menuitem_help
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
menuitem_about
=
new
System
.
Windows
.
Forms
.
ToolStripMenuItem
();
this
.
tb_input
=
new
System
.
Windows
.
Forms
.
TextBox
();
this
.
toolTip1
=
new
System
.
Windows
.
Forms
.
ToolTip
(
this
.
components
);
this
.
documentMap1
=
new
FastColoredTextBoxNS
.
DocumentMap
();
this
.
host
=
new
System
.
Windows
.
Forms
.
Integration
.
ElementHost
();
this
.
editor
=
new
ICSharpCode
.
AvalonEdit
.
TextEditor
();
this
.
lbTooltip
=
new
System
.
Windows
.
Forms
.
Label
();
this
.
mainMenu
.
SuspendLayout
();
this
.
SuspendLayout
();
//
...
...
@@ -80,7 +83,7 @@ private void InitializeComponent()
this
.
menuitem_help
});
this
.
mainMenu
.
Location
=
new
System
.
Drawing
.
Point
(
0
,
0
);
this
.
mainMenu
.
Name
=
"mainMenu"
;
this
.
mainMenu
.
Size
=
new
System
.
Drawing
.
Size
(
705
,
24
);
this
.
mainMenu
.
Size
=
new
System
.
Drawing
.
Size
(
816
,
24
);
this
.
mainMenu
.
TabIndex
=
0
;
this
.
mainMenu
.
Text
=
"mainMenu"
;
//
...
...
@@ -136,7 +139,8 @@ private void InitializeComponent()
this
.
menuitem_setting
.
DropDownItems
.
AddRange
(
new
System
.
Windows
.
Forms
.
ToolStripItem
[]
{
this
.
menuitem_showinput
,
this
.
menuitem_find
,
this
.
menuitem_replace
});
this
.
menuitem_replace
,
this
.
menuitem_tooltipFont
});
this
.
menuitem_setting
.
Name
=
"menuitem_setting"
;
this
.
menuitem_setting
.
Size
=
new
System
.
Drawing
.
Size
(
75
,
20
);
this
.
menuitem_setting
.
Text
=
"Settings(&S)"
;
...
...
@@ -166,20 +170,12 @@ private void InitializeComponent()
this
.
menuitem_replace
.
Text
=
"Replace"
;
this
.
menuitem_replace
.
Click
+=
new
System
.
EventHandler
(
this
.
Menuitem_replaceClick
);
//
// menuitem_help
//
this
.
menuitem_help
.
DropDownItems
.
AddRange
(
new
System
.
Windows
.
Forms
.
ToolStripItem
[]
{
this
.
menuitem_about
});
this
.
menuitem_help
.
Name
=
"menuitem_help"
;
this
.
menuitem_help
.
Size
=
new
System
.
Drawing
.
Size
(
61
,
20
);
this
.
menuitem_help
.
Text
=
"Help(&H)"
;
// menuitem_tooltipFont
//
// menuitem_about
//
this
.
menuitem_about
.
Name
=
"menuitem_about"
;
this
.
menuitem_about
.
Size
=
new
System
.
Drawing
.
Size
(
180
,
22
);
this
.
menuitem_about
.
Text
=
"About"
;
this
.
menuitem_about
.
Click
+=
new
System
.
EventHandler
(
this
.
AboutToolStripMenuItemClick
);
this
.
menuitem_tooltipFont
.
Name
=
"menuitem_tooltipFont"
;
this
.
menuitem_tooltipFont
.
Size
=
new
System
.
Drawing
.
Size
(
184
,
22
);
this
.
menuitem_tooltipFont
.
Text
=
"Set Toolltip Font"
;
this
.
menuitem_tooltipFont
.
Click
+=
new
System
.
EventHandler
(
this
.
menuitem_tooltipFont_Click
);
//
// menuitem_tools
//
...
...
@@ -194,7 +190,7 @@ private void InitializeComponent()
//
this
.
menuitem_testlua
.
Name
=
"menuitem_testlua"
;
this
.
menuitem_testlua
.
ShortcutKeys
=
System
.
Windows
.
Forms
.
Keys
.
F5
;
this
.
menuitem_testlua
.
Size
=
new
System
.
Drawing
.
Size
(
1
80
,
22
);
this
.
menuitem_testlua
.
Size
=
new
System
.
Drawing
.
Size
(
1
64
,
22
);
this
.
menuitem_testlua
.
Text
=
"Syntax Check"
;
this
.
menuitem_testlua
.
Click
+=
new
System
.
EventHandler
(
this
.
menuitem_testlua_Click
);
//
...
...
@@ -202,19 +198,34 @@ private void InitializeComponent()
//
this
.
menuitem_effectcreator
.
Name
=
"menuitem_effectcreator"
;
this
.
menuitem_effectcreator
.
ShortcutKeys
=
System
.
Windows
.
Forms
.
Keys
.
F3
;
this
.
menuitem_effectcreator
.
Size
=
new
System
.
Drawing
.
Size
(
1
80
,
22
);
this
.
menuitem_effectcreator
.
Size
=
new
System
.
Drawing
.
Size
(
1
64
,
22
);
this
.
menuitem_effectcreator
.
Text
=
"Effect Creator"
;
this
.
menuitem_effectcreator
.
Visible
=
false
;
this
.
menuitem_effectcreator
.
Click
+=
new
System
.
EventHandler
(
this
.
effectCreatorToolStripMenuItem_Click
);
//
// menuitem_help
//
this
.
menuitem_help
.
DropDownItems
.
AddRange
(
new
System
.
Windows
.
Forms
.
ToolStripItem
[]
{
this
.
menuitem_about
});
this
.
menuitem_help
.
Name
=
"menuitem_help"
;
this
.
menuitem_help
.
Size
=
new
System
.
Drawing
.
Size
(
61
,
20
);
this
.
menuitem_help
.
Text
=
"Help(&H)"
;
//
// menuitem_about
//
this
.
menuitem_about
.
Name
=
"menuitem_about"
;
this
.
menuitem_about
.
Size
=
new
System
.
Drawing
.
Size
(
107
,
22
);
this
.
menuitem_about
.
Text
=
"About"
;
this
.
menuitem_about
.
Click
+=
new
System
.
EventHandler
(
this
.
AboutToolStripMenuItemClick
);
//
// tb_input
//
this
.
tb_input
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Control
;
this
.
tb_input
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Bottom
;
this
.
tb_input
.
Location
=
new
System
.
Drawing
.
Point
(
0
,
394
);
this
.
tb_input
.
Location
=
new
System
.
Drawing
.
Point
(
0
,
486
);
this
.
tb_input
.
Margin
=
new
System
.
Windows
.
Forms
.
Padding
(
0
);
this
.
tb_input
.
Name
=
"tb_input"
;
this
.
tb_input
.
Size
=
new
System
.
Drawing
.
Size
(
514
,
21
);
this
.
tb_input
.
Size
=
new
System
.
Drawing
.
Size
(
625
,
21
);
this
.
tb_input
.
TabIndex
=
1
;
this
.
tb_input
.
KeyDown
+=
new
System
.
Windows
.
Forms
.
KeyEventHandler
(
this
.
Tb_inputKeyDown
);
//
...
...
@@ -223,9 +234,9 @@ private void InitializeComponent()
this
.
documentMap1
.
BackColor
=
System
.
Drawing
.
Color
.
DimGray
;
this
.
documentMap1
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Right
;
this
.
documentMap1
.
ForeColor
=
System
.
Drawing
.
Color
.
Maroon
;
this
.
documentMap1
.
Location
=
new
System
.
Drawing
.
Point
(
514
,
24
);
this
.
documentMap1
.
Location
=
new
System
.
Drawing
.
Point
(
625
,
24
);
this
.
documentMap1
.
Name
=
"documentMap1"
;
this
.
documentMap1
.
Size
=
new
System
.
Drawing
.
Size
(
191
,
391
);
this
.
documentMap1
.
Size
=
new
System
.
Drawing
.
Size
(
191
,
483
);
this
.
documentMap1
.
TabIndex
=
5
;
this
.
documentMap1
.
Target
=
null
;
this
.
documentMap1
.
Text
=
"documentMap1"
;
...
...
@@ -236,15 +247,29 @@ private void InitializeComponent()
this
.
host
.
Dock
=
System
.
Windows
.
Forms
.
DockStyle
.
Fill
;
this
.
host
.
Location
=
new
System
.
Drawing
.
Point
(
0
,
24
);
this
.
host
.
Name
=
"host"
;
this
.
host
.
Size
=
new
System
.
Drawing
.
Size
(
514
,
370
);
this
.
host
.
Size
=
new
System
.
Drawing
.
Size
(
625
,
462
);
this
.
host
.
TabIndex
=
0
;
this
.
host
.
Child
=
this
.
editor
;
//
// lbTooltip
//
this
.
lbTooltip
.
AutoSize
=
true
;
this
.
lbTooltip
.
BackColor
=
System
.
Drawing
.
SystemColors
.
Desktop
;
this
.
lbTooltip
.
Font
=
new
System
.
Drawing
.
Font
(
"宋体"
,
10F
);
this
.
lbTooltip
.
ForeColor
=
System
.
Drawing
.
SystemColors
.
ControlLightLight
;
this
.
lbTooltip
.
Location
=
new
System
.
Drawing
.
Point
(
556
,
230
);
this
.
lbTooltip
.
MaximumSize
=
new
System
.
Drawing
.
Size
(
400
,
0
);
this
.
lbTooltip
.
Name
=
"lbTooltip"
;
this
.
lbTooltip
.
Size
=
new
System
.
Drawing
.
Size
(
0
,
14
);
this
.
lbTooltip
.
TabIndex
=
6
;
this
.
lbTooltip
.
MouseMove
+=
new
System
.
Windows
.
Forms
.
MouseEventHandler
(
this
.
lbTooltip_MouseMove
);
//
// CodeEditForm_Avalon
//
this
.
AllowDrop
=
true
;
this
.
AutoScaleMode
=
System
.
Windows
.
Forms
.
AutoScaleMode
.
None
;
this
.
ClientSize
=
new
System
.
Drawing
.
Size
(
705
,
415
);
this
.
ClientSize
=
new
System
.
Drawing
.
Size
(
816
,
507
);
this
.
Controls
.
Add
(
this
.
lbTooltip
);
this
.
Controls
.
Add
(
this
.
host
);
this
.
Controls
.
Add
(
this
.
tb_input
);
this
.
Controls
.
Add
(
this
.
documentMap1
);
...
...
@@ -260,6 +285,7 @@ private void InitializeComponent()
this
.
DragDrop
+=
new
System
.
Windows
.
Forms
.
DragEventHandler
(
this
.
OnDragDtop
);
this
.
DragEnter
+=
new
System
.
Windows
.
Forms
.
DragEventHandler
(
this
.
OnDragEnter
);
this
.
Enter
+=
new
System
.
EventHandler
(
this
.
CodeEditFormEnter
);
this
.
KeyDown
+=
new
System
.
Windows
.
Forms
.
KeyEventHandler
(
this
.
CodeEditForm_Avalon_KeyDown
);
this
.
mainMenu
.
ResumeLayout
(
false
);
this
.
mainMenu
.
PerformLayout
();
this
.
ResumeLayout
(
false
);
...
...
@@ -267,7 +293,7 @@ private void InitializeComponent()
}
string
sep
=
"
()[]{}., :\t\n"
;
const
string
sep
=
"+-*/
()[]{}., :\t\n"
;
CompletionWindow
completionWindowUse
=
null
;
int
lastOffset
=
0
;
...
...
@@ -275,7 +301,16 @@ private void editor_TextArea_TextEntered(object sender, TextCompositionEventArgs
{
// Open code completion after the user has pressed dot:
completionWindowUse
=
new
CompletionWindow
(
editor
.
TextArea
);
completionWindowUse
.
Closed
+=
delegate
{
completionWindowUse
=
null
;
};
completionWindowUse
.
CompletionList
.
ListBox
.
SelectionChanged
+=
ListBox_SelectionChanged
;
completionWindowUse
.
StartOffset
=
lastOffset
;
if
(
completionWindowUse
.
EndOffset
<
completionWindowUse
.
StartOffset
)
{
completionWindowUse
.
EndOffset
=
completionWindowUse
.
StartOffset
;
}
IList
<
ICompletionData
>
data
=
completionWindowUse
.
CompletionList
.
CompletionData
;
string
find
=
editor
.
Document
.
GetText
(
lastOffset
,
completionWindowUse
.
EndOffset
-
completionWindowUse
.
StartOffset
);
if
(
string
.
IsNullOrEmpty
(
find
))
...
...
@@ -292,12 +327,35 @@ private void editor_TextArea_TextEntered(object sender, TextCompositionEventArgs
if
(
data
.
Count
>
0
)
{
completionWindowUse
.
Show
();
string
find2
=
data
[
0
].
Text
;
var
ePos
=
editor
.
TextArea
.
Caret
.
CalculateCaretRectangle
();
if
(
tooltipDic
.
ContainsKey
(
find2
))
{
lbTooltip
.
Text
=
find2
+
"\n"
+
tooltipDic
[
find2
];
lbTooltip
.
Location
=
new
System
.
Drawing
.
Point
(
Math
.
Min
((
int
)
ePos
.
X
+
800
,
host
.
Width
-
500
),
Math
.
Min
((
int
)
ePos
.
Y
,
this
.
Height
-
lbTooltip
.
Height
-
20
));
}
completionWindowUse
.
Closed
+=
delegate
{
completionWindowUse
=
null
;
};
}
}
CompletionWindow
completionWindow
=
null
;
private
void
ListBox_SelectionChanged
(
object
sender
,
System
.
Windows
.
Controls
.
SelectionChangedEventArgs
e
)
{
CompletionListBox
lb
=
(
CompletionListBox
)
sender
;
if
(
lb
.
SelectedItem
==
null
)
{
return
;
}
string
find
=
(
lb
.
SelectedItem
as
YGOProAutoCompletion
).
Text
;
var
ePos
=
editor
.
TextArea
.
Caret
.
CalculateCaretRectangle
();
if
(
tooltipDic
.
ContainsKey
(
find
))
{
lbTooltip
.
Text
=
find
+
"\n"
+
tooltipDic
[
find
];
lbTooltip
.
Location
=
new
System
.
Drawing
.
Point
(
Math
.
Min
((
int
)
ePos
.
X
+
800
,
host
.
Width
-
500
),
Math
.
Min
((
int
)
ePos
.
Y
,
this
.
Height
-
lbTooltip
.
Height
-
20
));
}
}
private
void
editor_TextArea_TextEntering
(
object
sender
,
TextCompositionEventArgs
e
)
{
if
(!
char
.
IsLetterOrDigit
(
e
.
Text
[
0
]))
...
...
@@ -324,7 +382,7 @@ private void editor_TextArea_TextEntering(object sender, TextCompositionEventArg
}
}
public
class
YGOProAutoCompletion
:
ICompletionData
internal
class
YGOProAutoCompletion
:
ICompletionData
{
public
YGOProAutoCompletion
(
string
text
,
string
description
)
{
...
...
@@ -383,5 +441,7 @@ public double Priority
private
System
.
Windows
.
Forms
.
ToolStripMenuItem
menuitem_effectcreator
;
private
ElementHost
host
;
ICSharpCode
.
AvalonEdit
.
TextEditor
editor
;
private
Label
lbTooltip
;
private
ToolStripMenuItem
menuitem_tooltipFont
;
}
}
DataEditorX/CodeEditForm_Avalon.cs
View file @
26b35d9e
...
...
@@ -25,6 +25,7 @@
using
ICSharpCode.AvalonEdit.Search
;
using
System.Windows.Threading
;
using
System.Text.RegularExpressions
;
using
ICSharpCode.AvalonEdit.CodeCompletion
;
namespace
DataEditorX
{
...
...
@@ -39,9 +40,8 @@ public partial class CodeEditForm_Avalon : DockContent, IEditForm
#
region
init
函数提示菜单
//自动完成
AutocompleteMenu
popupMenu
;
string
nowFile
;
string
title
;
string
title
=
"CodeEditor"
;
string
oldtext
;
public
SortedList
<
string
,
string
>
tooltipDic
;
AutocompleteItem
[]
items
;
...
...
@@ -59,8 +59,11 @@ void InitForm()
editor
.
ShowLineNumbers
=
true
;
editor
.
TextArea
.
TextEntered
+=
editor_TextArea_TextEntered
;
editor
.
TextArea
.
TextEntering
+=
editor_TextArea_TextEntering
;
editor
.
TextArea
.
KeyDown
+=
TextArea_KeyDown
;
editor
.
PreviewKeyDown
+=
TextArea_KeyDown
;
//editor.TextArea.KeyDown += TextArea_KeyDown;
//editor.KeyDown += TextArea_KeyDown;
editor
.
TextChanged
+=
Editor_TextChanged
;
editor
.
MouseMove
+=
Editor_MouseMove
;
editor
.
FontFamily
=
new
System
.
Windows
.
Media
.
FontFamily
(
MyConfig
.
TAG_FONT_NAME
);
editor
.
FontSize
=
MyConfig
.
ReadFloat
(
MyConfig
.
TAG_FONT_SIZE
,
(
float
)
editor
.
FontSize
);
...
...
@@ -69,6 +72,62 @@ void InitForm()
editor
.
Foreground
=
System
.
Windows
.
Media
.
Brushes
.
GhostWhite
;
this
.
RefreshHighlighting
();
}
private
void
Editor_MouseMove
(
object
sender
,
System
.
Windows
.
Input
.
MouseEventArgs
e
)
{
var
ePos
=
e
.
GetPosition
(
editor
);
var
pos
=
editor
.
GetPositionFromPoint
(
ePos
);
if
(
pos
!=
null
)
{
int
offset
=
editor
.
Document
.
GetOffset
(
pos
.
Value
.
Location
);
int
nowOffset
=
offset
;
string
c
;
try
{
c
=
editor
.
Document
.
GetCharAt
(
nowOffset
).
ToString
();
}
catch
{
return
;
}
if
(
sep
.
Contains
(
c
))
{
return
;
}
while
(!
sep
.
Contains
(
c
)
&&
nowOffset
>
0
)
{
nowOffset
--;
c
=
editor
.
Document
.
GetCharAt
(
nowOffset
).
ToString
();
if
(
sep
.
Contains
(
c
))
{
break
;
}
}
c
=
editor
.
Document
.
GetCharAt
(
offset
).
ToString
();
int
maxlen
=
editor
.
Document
.
TextLength
-
1
;
while
(!
sep
.
Contains
(
c
)
&&
offset
<
maxlen
)
{
offset
++;
c
=
editor
.
Document
.
GetCharAt
(
offset
).
ToString
();
if
(
sep
.
Contains
(
c
))
{
offset
--;
break
;
}
}
string
find
=
editor
.
Document
.
GetText
(
nowOffset
+
1
,
offset
-
nowOffset
);
if
(
string
.
IsNullOrWhiteSpace
(
find
))
{
return
;
}
if
(
tooltipDic
.
ContainsKey
(
find
))
{
lbTooltip
.
Text
=
find
+
"\n"
+
tooltipDic
[
find
];
lbTooltip
.
Location
=
new
Point
(
Math
.
Min
((
int
)
ePos
.
X
+
800
,
host
.
Width
-
500
),
Math
.
Min
((
int
)
ePos
.
Y
,
this
.
Height
-
lbTooltip
.
Height
-
20
));
}
}
}
int
lastCaret
=
0
;
private
void
Editor_TextChanged
(
object
sender
,
EventArgs
e
)
{
...
...
@@ -81,7 +140,16 @@ private void Editor_TextChanged(object sender, EventArgs e)
private
void
TextArea_KeyDown
(
object
sender
,
System
.
Windows
.
Input
.
KeyEventArgs
e
)
{
if
(!
e
.
Key
.
Equals
(
System
.
Windows
.
Input
.
Key
.
LeftCtrl
))
if
(
e
.
Key
.
Equals
(
System
.
Windows
.
Input
.
Key
.
Back
))
{
if
(
completionWindowUse
!=
null
)
{
completionWindowUse
.
Close
();
completionWindowUse
=
null
;
return
;
}
}
if
(!
e
.
Key
.
Equals
(
System
.
Windows
.
Input
.
Key
.
Tab
))
{
return
;
}
...
...
@@ -152,72 +220,14 @@ private void RefreshHighlighting()
}
}
private
void
Fctb_TextChanged
(
object
sender
,
TextChangedEventArgs
e
)
{
PopupMenu_VisibleChanged
(
null
,
null
);
}
private
void
ToolTip_Popup
(
object
sender
,
PopupEventArgs
e
)
{
e
.
Cancel
=
true
;
}
private
void
PopupMenu_VisibleChanged
(
object
sender
,
EventArgs
e
)
{
if
(!
popupMenu
.
Visible
)
{
AdjustPopupMenuSize
();
return
;
}
if
(
popupMenu
.
Items
.
FocussedItem
==
null
)
{
if
(
popupMenu
.
Items
.
Count
==
0
)
{
return
;
}
popupMenu
.
Items
.
FocussedItemIndex
=
0
;
}
//this.fctb.ShowTooltipWithLabel(this.popupMenu.Items.FocussedItem.ToolTipTitle,
// this.popupMenu.Items.FocussedItem.ToolTipText);
AdjustPopupMenuSize
();
}
private
void
AdjustPopupMenuSize
()
{
if
(!
popupMenu
.
Visible
||
popupMenu
.
Items
.
FocussedItem
==
null
)
{
popupMenu
.
Size
=
new
Size
(
300
,
0
);
popupMenu
.
MinimumSize
=
new
Size
(
300
,
0
);
return
;
}
Size
s
=
TextRenderer
.
MeasureText
(
popupMenu
.
Items
.
FocussedItem
.
ToolTipTitle
,
popupMenu
.
Items
.
Font
,
new
Size
(
0
,
0
),
TextFormatFlags
.
NoPadding
);
s
=
new
Size
(
s
.
Width
+
50
,
popupMenu
.
Size
.
Height
);
if
(
popupMenu
.
Size
.
Width
<
s
.
Width
)
{
popupMenu
.
Size
=
s
;
popupMenu
.
MinimumSize
=
s
;
}
}
internal
void
InitTooltip
(
CodeConfig
codecfg
)
{
this
.
tooltipDic
=
codecfg
.
TooltipDic
;
}
private
void
Items_FocussedItemIndexChanged
(
object
sender
,
EventArgs
e
)
{
if
(
popupMenu
.
Items
.
FocussedItem
==
null
)
foreach
(
var
item
in
this
.
tooltipDic
)
{
return
;
AutocompleteItem
it
=
new
AutocompleteItem
();
this
.
items
=
codecfg
.
Items
;
}
AdjustPopupMenuSize
();
//this.fctb.ShowTooltipWithLabel(this.popupMenu.Items.FocussedItem.ToolTipTitle,
// this.popupMenu.Items.FocussedItem.ToolTipText);
}
void
popupMenu_Closed
(
object
sender
,
ToolStripDropDownClosedEventArgs
e
)
{
popupMenu
.
Items
.
SetAutocompleteItems
(
items
);
}
#
endregion
...
...
@@ -450,6 +460,15 @@ void CodeEditFormLoad(object sender, EventArgs e)
{
ICSharpCode
.
AvalonEdit
.
TextEditor
editor
=
new
ICSharpCode
.
AvalonEdit
.
TextEditor
();
ICSharpCode
.
AvalonEdit
.
Rendering
.
TextView
eView
=
new
ICSharpCode
.
AvalonEdit
.
Rendering
.
TextView
();
Font
f
=
new
Font
(
"微软雅黑"
,
14
,
FontStyle
.
Bold
);
string
fontJson
=
MyConfig
.
ReadString
(
MyConfig
.
TOOLTIP_FONT
);
JavaScriptSerializer
jss
=
new
JavaScriptSerializer
();
try
{
f
=
jss
.
Deserialize
<
FontHelper
>(
fontJson
).
ToFont
();
}
catch
{
}
lbTooltip
.
Font
=
f
;
}
SearchPanel
sp
=
null
;
void
Menuitem_findClick
(
object
sender
,
EventArgs
e
)
...
...
@@ -575,8 +594,35 @@ void Tb_inputKeyDown(object sender, KeyEventArgs e)
list
.
Add
(
item
);
}
}
popupMenu
.
Items
.
SetAutocompleteItems
(
list
.
ToArray
());
popupMenu
.
Show
(
true
);
completionWindowUse
=
new
CompletionWindow
(
editor
.
TextArea
);
completionWindowUse
.
StartOffset
=
editor
.
CaretOffset
;
completionWindowUse
.
EndOffset
=
editor
.
CaretOffset
;
IList
<
ICompletionData
>
data
=
completionWindowUse
.
CompletionList
.
CompletionData
;
if
(
string
.
IsNullOrEmpty
(
key
))
{
return
;
}
foreach
(
var
d
in
tooltipDic
)
{
if
(
d
.
Key
.
ToLower
().
StartsWith
(
key
.
ToLower
()))
{
data
.
Add
(
new
YGOProAutoCompletion
(
d
.
Key
,
d
.
Value
));
}
}
if
(
data
.
Count
>
0
)
{
completionWindowUse
.
Show
();
string
find2
=
data
[
0
].
Text
;
var
ePos
=
editor
.
TextArea
.
Caret
.
CalculateCaretRectangle
();
if
(
tooltipDic
.
ContainsKey
(
find2
))
{
lbTooltip
.
Text
=
find2
+
"\n"
+
tooltipDic
[
find2
];
lbTooltip
.
Location
=
new
Point
(
Math
.
Min
((
int
)
ePos
.
X
+
800
,
host
.
Width
-
500
),
Math
.
Min
((
int
)
ePos
.
Y
,
this
.
Height
-
lbTooltip
.
Height
-
20
));
}
completionWindowUse
.
Closed
+=
delegate
{
completionWindowUse
=
null
;
};
}
}
}
#
endregion
...
...
@@ -677,19 +723,45 @@ private void menuitem_tooltipFont_Click(object sender, EventArgs e)
{
FontDialog
fd
=
new
FontDialog
();
string
fontJson
=
MyConfig
.
ReadString
(
MyConfig
.
TOOLTIP_FONT
);
Font
f
=
new
Font
(
"微软雅黑"
,
10
);
JavaScriptSerializer
jss
=
new
JavaScriptSerializer
();
try
{
f
=
jss
.
Deserialize
<
Font
>(
fontJson
);
}
catch
{
}
fd
.
Font
=
f
;
fd
.
Font
=
lbTooltip
.
Font
;
if
(
fd
.
ShowDialog
()
==
DialogResult
.
OK
)
{
Common
.
XMLReader
.
Save
(
MyConfig
.
TOOLTIP_FONT
,
jss
.
Serialize
(
fd
.
Font
));
//this.fctb.lbTooltip.Font = fd.Font;
lbTooltip
.
Font
=
fd
.
Font
;
}
}
public
class
FontFamilyHelper
{
public
string
Name
;
}
public
class
FontHelper
{
public
FontFamilyHelper
FontFamily
;
public
bool
Bold
;
public
bool
Italic
;
public
string
Name
;
public
bool
Strikeout
;
public
bool
Underline
;
public
float
Size
;
public
int
Unit
;
public
int
Height
;
public
Font
ToFont
()
{
var
style
=
(
Bold
?
FontStyle
.
Bold
:
FontStyle
.
Regular
)
|
(
Italic
?
FontStyle
.
Italic
:
FontStyle
.
Regular
)
|
(
Strikeout
?
FontStyle
.
Strikeout
:
FontStyle
.
Regular
)
|
(
Underline
?
FontStyle
.
Underline
:
FontStyle
.
Regular
);
return
new
Font
(
FontFamily
.
Name
,
Size
,
style
);
}
}
private
void
lbTooltip_MouseMove
(
object
sender
,
MouseEventArgs
e
)
{
lbTooltip
.
Text
=
""
;
}
private
void
CodeEditForm_Avalon_KeyDown
(
object
sender
,
KeyEventArgs
e
)
{
;
}
}
}
DataEditorX/data/avalon.xshd
View file @
26b35d9e
...
...
@@ -130,22 +130,22 @@
\bDuel\.(SelectField|GetMasterRule|ReadCard|Exile|DisableActionCheck|SetMetatable|MoveTurnCount|GetCardsInZone|XyzSummonByRose|LoadScript|AnnounceCardFilter|EnableGlobalFlag|GetLP|SetLP|GetTurnPlayer|GetTurnCount|GetDrawCount|RegisterEffect|RegisterFlagEffect|GetFlagEffect|ResetFlagEffect|SetFlagEffectLabel|GetFlagEffectLabel|Destroy|Remove|SendtoGrave|SendtoHand|SendtoDeck|SendtoExtraP|GetOperatedGroup|Summon|SpecialSummonRule|SynchroSummon|XyzSummon|LinkSummon|MSet|SSet|CreateToken|SpecialSummon|SpecialSummonStep|SpecialSummonComplete|IsCanAddCounter|RemoveCounter|IsCanRemoveCounter|GetCounter|ChangePosition|Release|MoveToField|ReturnToField|MoveSequence|SwapSequence|Activate|SetChainLimit|SetChainLimitTillChainEnd|GetChainMaterial|ConfirmDecktop|ConfirmExtratop|ConfirmCards|SortDecktop|CheckEvent|RaiseEvent|RaiseSingleEvent|CheckTiming|GetEnvironment|IsEnvironment|Win|Draw|Damage|Recover|RDComplete|Equip|EquipComplete|GetControl|SwapControl|CheckLPCost|PayLPCost|DiscardDeck|DiscardHand|DisableShuffleCheck|ShuffleDeck|ShuffleExtra|ShuffleHand|ShuffleSetCard|ChangeAttacker|ChangeAttackTarget|CalculateDamage|GetBattleDamage|ChangeBattleDamage|ChangeTargetCard|ChangeTargetPlayer|ChangeTargetParam|BreakEffect|ChangeChainOperation|NegateActivation|NegateEffect|NegateRelatedChain|NegateSummon|IncreaseSummonedCount|CheckSummonedCount|GetLocationCount|GetMZoneCount|GetLocationCountFromEx|GetUsableMZoneCount|GetLinkedGroup|GetLinkedGroupCount|GetLinkedZone|GetFieldCard|CheckLocation|GetCurrentChain|GetChainInfo|GetChainEvent|GetFirstTarget|GetCurrentPhase|SkipPhase|IsDamageCalculated|GetAttacker|GetAttackTarget|GetBattleMonster|NegateAttack|ChainAttack|Readjust|AdjustInstantly|GetFieldGroup|GetFieldGroupCount|GetDecktopGroup|GetExtraTopGroup|GetMatchingGroup|GetMatchingGroupCount|GetFirstMatchingCard|IsExistingMatchingCard|SelectMatchingCard|GetReleaseGroup|GetReleaseGroupCount|CheckReleaseGroup|SelectReleaseGroup|CheckReleaseGroupEx|SelectReleaseGroupEx|GetTributeGroup|GetTributeCount|CheckTribute|SelectTribute|GetTargetCount|IsExistingTarget|SelectTarget|SelectFusionMaterial|SetFusionMaterial|SetSynchroMaterial|SelectSynchroMaterial|CheckSynchroMaterial|SelectTunerMaterial|CheckTunerMaterial|GetRitualMaterial|ReleaseRitualMaterial|GetFusionMaterial|IsSummonCancelable|SetSelectedCard|GrabSelectedCard|SetTargetCard|ClearTargetCard|SetTargetPlayer|SetTargetParam|SetOperationInfo|GetOperationInfo|GetOperationCount|ClearOperationInfo|CheckXyzMaterial|SelectXyzMaterial|Overlay|GetOverlayGroup|GetOverlayCount|CheckRemoveOverlayCard|RemoveOverlayCard|Hint|HintSelection|SelectEffectYesNo|SelectYesNo|SelectOption|SelectSequence|SelectPosition|SelectDisableField|AnnounceRace|AnnounceAttribute|AnnounceLevel|AnnounceCard|AnnounceType|AnnounceNumber|AnnounceCoin|TossCoin|TossDice|RockPaperScissors|GetCoinResult|GetDiceResult|SetCoinResult|SetDiceResult|IsPlayerAffectedByEffect|IsPlayerCanDraw|IsPlayerCanDiscardDeck|IsPlayerCanDiscardDeckAsCost|IsPlayerCanSummon|IsPlayerCanMSet|IsPlayerCanSSet|IsPlayerCanSpecialSummon|IsPlayerCanFlipSummon|IsPlayerCanSpecialSummonMonster|IsPlayerCanSpecialSummonCount|IsPlayerCanRelease|IsPlayerCanRemove|IsPlayerCanSendtoHand|IsPlayerCanSendtoGrave|IsPlayerCanSendtoDeck|IsPlayerCanAdditionalSummon|IsChainNegatable|IsChainDisablable|CheckChainTarget|CheckChainUniqueness|GetActivityCount|CheckPhaseActivity|AddCustomActivityCounter|GetCustomActivityCount|GetBattledCount|IsAbleToEnterBP|SwapDeckAndGrave|MajesticCopy)\b
</Rule>
<Rule
color=
"Functions"
>
\bGroup\.(CreateGroup|FromCards|KeepAlive|DeleteGroup|Clone|Clear|AddCard|Merge|RemoveCard|Sub|GetNext|GetFirst|GetCount|__len|ForEach|Filter|FilterCount|FilterSelect|Select|SelectUnselect|RandomSelect|IsExists|CheckWithSumEqual|SelectWithSumEqual|CheckWithSumGreater|SelectWithSumGreater|GetMinGroup|GetMaxGroup|GetSum|GetClassCount|Remove|Equal|IsContains|SearchCard|GetBinClassCount|__add|__bor|__sub|__band|__bxor|SelectSubGroup|SelectSubGroupEach|CheckSubGroupEach|CheckSubGroup|SelectSubGroup|SelectSubGroupEach|CheckSubGroup|CheckSubGroupEach)
\bGroup\.(CreateGroup|FromCards|KeepAlive|DeleteGroup|Clone|Clear|AddCard|Merge|RemoveCard|Sub|GetNext|GetFirst|GetCount|__len|ForEach|Filter|FilterCount|FilterSelect|Select|SelectUnselect|RandomSelect|IsExists|CheckWithSumEqual|SelectWithSumEqual|CheckWithSumGreater|SelectWithSumGreater|GetMinGroup|GetMaxGroup|GetSum|GetClassCount|Remove|Equal|IsContains|SearchCard|GetBinClassCount|__add|__bor|__sub|__band|__bxor|SelectSubGroup|SelectSubGroupEach|CheckSubGroupEach|CheckSubGroup|SelectSubGroup|SelectSubGroupEach|CheckSubGroup|CheckSubGroupEach)
\b
</Rule>
<Rule
color=
"Functions"
>
\b[a-z]{0,3}g[0-9]{0,2}:(CreateGroup|FromCards|KeepAlive|DeleteGroup|Clone|Clear|AddCard|Merge|RemoveCard|Sub|GetNext|GetFirst|GetCount|__len|ForEach|Filter|FilterCount|FilterSelect|Select|SelectUnselect|RandomSelect|IsExists|CheckWithSumEqual|SelectWithSumEqual|CheckWithSumGreater|SelectWithSumGreater|GetMinGroup|GetMaxGroup|GetSum|GetClassCount|Remove|Equal|IsContains|SearchCard|GetBinClassCount|__add|__bor|__sub|__band|__bxor|SelectSubGroup|SelectSubGroupEach|CheckSubGroupEach|CheckSubGroup|SelectSubGroup|SelectSubGroupEach|CheckSubGroup|CheckSubGroupEach)
\b[a-z]{0,3}g[0-9]{0,2}:(CreateGroup|FromCards|KeepAlive|DeleteGroup|Clone|Clear|AddCard|Merge|RemoveCard|Sub|GetNext|GetFirst|GetCount|__len|ForEach|Filter|FilterCount|FilterSelect|Select|SelectUnselect|RandomSelect|IsExists|CheckWithSumEqual|SelectWithSumEqual|CheckWithSumGreater|SelectWithSumGreater|GetMinGroup|GetMaxGroup|GetSum|GetClassCount|Remove|Equal|IsContains|SearchCard|GetBinClassCount|__add|__bor|__sub|__band|__bxor|SelectSubGroup|SelectSubGroupEach|CheckSubGroupEach|CheckSubGroup|SelectSubGroup|SelectSubGroupEach|CheckSubGroup|CheckSubGroupEach)
\b
</Rule>
<Rule
color=
"Functions"
>
\bEffect\.(SetOwner|GetRange|GetCountLimit|CreateEffect|GlobalEffect|Clone|Reset|GetFieldID|SetDescription|SetCode|SetRange|SetTargetRange|SetAbsoluteRange|SetCountLimit|SetReset|SetType|SetProperty|SetLabel
|SetLabelObject|SetCategory|SetHintTiming|SetCondition|SetTarget|SetCost|SetValue|SetOperation|SetOwnerPlayer|GetDescription|GetCode|GetType|GetProperty|GetLabel|GetLabelObject|GetCategory|GetOwner|GetHandler|GetCondition|GetTarget|GetCost|GetValue|GetOperation|GetActiveType|IsActiveType|GetOwnerPlayer|GetHandlerPlayer|IsHasProperty|IsHasCategory|IsHasType|IsActivatable|IsActivated|GetActivateLocation|GetActivateSequence|CheckCountLimit|UseCountLimit)
\bEffect\.(SetOwner|GetRange|GetCountLimit|CreateEffect|GlobalEffect|Clone|Reset|GetFieldID|SetDescription|SetCode|SetRange|SetTargetRange|SetAbsoluteRange|SetCountLimit|SetReset|SetType|SetProperty|SetLabel
Object|SetLabel|SetCategory|SetHintTiming|SetCondition|SetTarget|SetCost|SetValue|SetOperation|SetOwnerPlayer|GetDescription|GetCode|GetType|GetProperty|GetLabel|GetLabelObject|GetCategory|GetOwner|GetHandler|GetCondition|GetTarget|GetCost|GetValue|GetOperation|GetActiveType|IsActiveType|GetOwnerPlayer|GetHandlerPlayer|IsHasProperty|IsHasCategory|IsHasType|IsActivatable|IsActivated|GetActivateLocation|GetActivateSequence|CheckCountLimit|UseCountLimit)\b
</Rule>
<Rule
color=
"Functions"
>
\b[a-z]{0,1}e[0-9v]{0,2}:(SetOwner|GetRange|GetCountLimit|CreateEffect|GlobalEffect|Clone|Reset|GetFieldID|SetDescription|SetCode|SetRange|SetTargetRange|SetAbsoluteRange|SetCountLimit|SetReset|SetType|SetProperty|SetLabel
|SetLabelObject|SetCategory|SetHintTiming|SetCondition|SetTarget|SetCost|SetValue|SetOperation|SetOwnerPlayer|GetDescription|GetCode|GetType|GetProperty|GetLabel|GetLabelObject|GetCategory|GetOwner|GetHandler|GetCondition|GetTarget|GetCost|GetValue|GetOperation|GetActiveType|IsActiveType|GetOwnerPlayer|GetHandlerPlayer|IsHasProperty|IsHasCategory|IsHasType|IsActivatable|IsActivated|GetActivateLocation|GetActivateSequence|CheckCountLimit|UseCountLimit)
\b[a-z]{0,1}e[0-9v]{0,2}:(SetOwner|GetRange|GetCountLimit|CreateEffect|GlobalEffect|Clone|Reset|GetFieldID|SetDescription|SetCode|SetRange|SetTargetRange|SetAbsoluteRange|SetCountLimit|SetReset|SetType|SetProperty|SetLabel
Object|SetLabel|SetCategory|SetHintTiming|SetCondition|SetTarget|SetCost|SetValue|SetOperation|SetOwnerPlayer|GetDescription|GetCode|GetType|GetProperty|GetLabel|GetLabelObject|GetCategory|GetOwner|GetHandler|GetCondition|GetTarget|GetCost|GetValue|GetOperation|GetActiveType|IsActiveType|GetOwnerPlayer|GetHandlerPlayer|IsHasProperty|IsHasCategory|IsHasType|IsActivatable|IsActivated|GetActivateLocation|GetActivateSequence|CheckCountLimit|UseCountLimit)\b
</Rule>
<Rule
color=
"Functions"
>
\bDebug\.(Message|AddCard|SetPlayerInfo|PreSummon|PreEquip|PreSetTarget|PreAddCounter|ReloadFieldBegin|ReloadFieldEnd|SetAIName|ShowHint)
\bDebug\.(Message|AddCard|SetPlayerInfo|PreSummon|PreEquip|PreSetTarget|PreAddCounter|ReloadFieldBegin|ReloadFieldEnd|SetAIName|ShowHint)
\b
</Rule>
<Rule
color=
"Functions"
>
\b(Auxiliary.PreloadUds|bit.band|bit.bor|bit.bxor|bit.lshift|bit.rshift|bit.bnot|bit.extract|bit.replace|Auxiliary.Stringid|Auxiliary.Next|Auxiliary.NULL|Auxiliary.TRUE|Auxiliary.FALSE|Auxiliary.AND|Auxiliary.OR|Auxiliary.NOT|Auxiliary.BeginPuzzle|Auxiliary.PuzzleOp|Auxiliary.IsDualState|Auxiliary.IsNotDualState|Auxiliary.DualNormalCondition|Auxiliary.EnableDualAttribute|Auxiliary.EnableSpiritReturn|Auxiliary.SpiritReturnReg|Auxiliary.SpiritReturnCondition|Auxiliary.SpiritReturnTarget|Auxiliary.SpiritReturnOperation|Auxiliary.IsUnionState|Auxiliary.SetUnionState|Auxiliary.CheckUnionEquip|Auxiliary.TargetEqualFunction|Auxiliary.TargetBoolFunction|Auxiliary.FilterEqualFunction|Auxiliary.FilterBoolFunction|Auxiliary.Tuner|Auxiliary.NonTuner|Auxiliary.GetValueType|Auxiliary.GetMustMaterialGroup|Auxiliary.MustMaterialCheck|Auxiliary.MustMaterialCounterFilter|Auxiliary.AddSynchroProcedure|Auxiliary.SynCondition|Auxiliary.SynTarget|Auxiliary.SynOperation|Auxiliary.AddSynchroMixProcedure|Auxiliary.SynMaterialFilter|Auxiliary.SynLimitFilter|Auxiliary.GetSynchroLevelFlowerCardian|Auxiliary.GetSynMaterials|Auxiliary.SynMixCondition|Auxiliary.SynMixTarget|Auxiliary.SynMixOperation|Auxiliary.SynMixCheck|Auxiliary.SynMixCheckRecursive|Auxiliary.SynMixCheckGoal|Auxiliary.TuneMagicianFilter|Auxiliary.TuneMagicianCheckX|Auxiliary.TuneMagicianCheckAdditionalX|Auxiliary.XyzAlterFilter|Auxiliary.AddXyzProcedure|Auxiliary.XyzCondition|Auxiliary.XyzTarget|Auxiliary.XyzOperation|Auxiliary.AddXyzProcedureLevelFree|Auxiliary.XyzLevelFreeFilter|Auxiliary.XyzLevelFreeGoal|Auxiliary.XyzLevelFreeCondition|Auxiliary.XyzLevelFreeTarget|Auxiliary.XyzLevelFreeOperation|Auxiliary.AddFusionProcMix|Auxiliary.FConditionMix|Auxiliary.FOperationMix|Auxiliary.FConditionFilterMix|Auxiliary.FCheckMix|Auxiliary.FCheckMixGoal|Auxiliary.AddFusionProcMixRep|Auxiliary.FConditionMixRep|Auxiliary.FOperationMixRep|Auxiliary.FCheckMixRep|Auxiliary.FCheckMixRepFilter|Auxiliary.FCheckMixRepGoal|Auxiliary.FCheckMixRepTemplate|Auxiliary.FCheckMixRepSelectedCond|Auxiliary.FCheckMixRepSelected|Auxiliary.FCheckSelectMixRep|Auxiliary.FCheckSelectMixRepAll|Auxiliary.FCheckSelectMixRepM|Auxiliary.FSelectMixRep|Auxiliary.AddFusionProcCodeRep|Auxiliary.AddFusionProcCodeFun|Auxiliary.AddFusionProcFunRep|Auxiliary.AddFusionProcFunFun|Auxiliary.AddFusionProcFunFunRep|Auxiliary.AddFusionProcCodeFunRep|Auxiliary.AddFusionProcShaddoll|Auxiliary.FShaddollFilter|Auxiliary.FShaddollExFilter|Auxiliary.FShaddollCondition|Auxiliary.FShaddollOperation|Auxiliary.AddContactFusionProcedure|Auxiliary.ContactFusionMaterialFilter|Auxiliary.ContactFusionCondition|Auxiliary.ContactFusionOperation|Auxiliary.AddRitualProcUltimate|Auxiliary.RitualCheckGreater|Auxiliary.RitualCheckEqual|Auxiliary.RitualCheck|Auxiliary.RitualCheckAdditionalLevel|Auxiliary.RitualCheckAdditional|Auxiliary.RitualUltimateFilter|Auxiliary.RitualExtraFilter|Auxiliary.RitualUltimateTarget|Auxiliary.RitualUltimateOperation|Auxiliary.AddRitualProcGreater|Auxiliary.AddRitualProcGreaterCode|Auxiliary.AddRitualProcEqual|Auxiliary.AddRitualProcEqualCode|Auxiliary.EnablePendulumAttribute|Auxiliary.PendulumReset|Auxiliary.PConditionExtraFilterSpecific|Auxiliary.PConditionExtraFilter|Auxiliary.PConditionFilter|Auxiliary.PendCondition|Auxiliary.PendOperationCheck|Auxiliary.PendOperation|Auxiliary.EnableReviveLimitPendulumSummonable|Auxiliary.PendulumSummonableBool|Auxiliary.PSSCompleteProcedure|Auxiliary.AddLinkProcedure|Auxiliary.LConditionFilter|Auxiliary.LExtraFilter|Auxiliary.GetLinkCount|Auxiliary.GetLinkMaterials|Auxiliary.LCheckOtherMaterial|Auxiliary.LUncompatibilityFilter|Auxiliary.LCheckGoal|Auxiliary.LExtraMaterialCount|Auxiliary.LinkCondition|Auxiliary.LinkTarget|Auxiliary.LinkOperation|Auxiliary.EnableExtraDeckSummonCountLimit|Auxiliary.ExtraDeckSummonCountLimitReset|Auxiliary.IsMaterialListCode|Auxiliary.IsMaterialListSetCard|Auxiliary.IsMaterialListType|Auxiliary.AddCodeList|Auxiliary.IsCodeListed|Auxiliary.IsCounterAdded|Auxiliary.IsInGroup|Auxiliary.GetColumn|Auxiliary.MZoneSequence|Auxiliary.SZoneSequence|Auxiliary.ChangeBattleDamage|Auxiliary.bdcon|Auxiliary.bdocon|Auxiliary.bdgcon|Auxiliary.bdogcon|Auxiliary.dogcon|Auxiliary.dogfcon|Auxiliary.exccon|Auxiliary.bpcon|Auxiliary.dscon|Auxiliary.chainreg|Auxiliary.indsval|Auxiliary.indoval|Auxiliary.tgsval|Auxiliary.tgoval|Auxiliary.nzatk|Auxiliary.nzdef|Auxiliary.sumreg|Auxiliary.fuslimit|Auxiliary.ritlimit|Auxiliary.synlimit|Auxiliary.xyzlimit|Auxiliary.penlimit|Auxiliary.linklimit|Auxiliary.qlifilter|Auxiliary.gbspcon|Auxiliary.evospcon|Auxiliary.NecroValleyFilter|Auxiliary.bfgcost|Auxiliary.dncheck|Auxiliary.dlvcheck|Auxiliary.drkcheck|Auxiliary.dlkcheck|Auxiliary.dabcheck|Auxiliary.drccheck|Auxiliary.gfcheck|Auxiliary.gffcheck|Auxiliary.mzctcheck|Auxiliary.mzctcheckrel|Auxiliary.ExceptThisCard|Auxiliary.GetMultiLinkedZone|Auxiliary.CheckGroupRecursive|Auxiliary.CheckGroupRecursiveCapture|Auxiliary.CreateChecks|Auxiliary.CheckGroupRecursiveEach|Auxiliary.nbcon|Auxiliary.tdcfop|bit.band|bit.bor|bit.bxor|bit.lshift|bit.rshift|bit.bnot|bit.extract|bit.replace|aux.Stringid|aux.Next|aux.NULL|aux.TRUE|aux.FALSE|aux.AND|aux.OR|aux.NOT|aux.BeginPuzzle|aux.PuzzleOp|aux.IsDualState|aux.IsNotDualState|aux.DualNormalCondition|aux.EnableDualAttribute|aux.EnableSpiritReturn|aux.SpiritReturnReg|aux.SpiritReturnCondition|aux.SpiritReturnTarget|aux.SpiritReturnOperation|aux.IsUnionState|aux.SetUnionState|aux.CheckUnionEquip|aux.TargetEqualFunction|aux.TargetBoolFunction|aux.FilterEqualFunction|aux.FilterBoolFunction|aux.Tuner|aux.NonTuner|aux.GetValueType|aux.GetMustMaterialGroup|aux.MustMaterialCheck|aux.MustMaterialCounterFilter|aux.AddSynchroProcedure|aux.SynCondition|aux.SynTarget|aux.SynOperation|aux.AddSynchroMixProcedure|aux.SynMaterialFilter|aux.SynLimitFilter|aux.GetSynchroLevelFlowerCardian|aux.GetSynMaterials|aux.SynMixCondition|aux.SynMixTarget|aux.SynMixOperation|aux.SynMixCheck|aux.SynMixCheckRecursive|aux.SynMixCheckGoal|aux.TuneMagicianFilter|aux.TuneMagicianCheckX|aux.TuneMagicianCheckAdditionalX|aux.XyzAlterFilter|aux.AddXyzProcedure|aux.XyzCondition|aux.XyzTarget|aux.XyzOperation|aux.AddXyzProcedureLevelFree|aux.XyzLevelFreeFilter|aux.XyzLevelFreeGoal|aux.XyzLevelFreeCondition|aux.XyzLevelFreeTarget|aux.XyzLevelFreeOperation|aux.AddFusionProcMix|aux.FConditionMix|aux.FOperationMix|aux.FConditionFilterMix|aux.FCheckMix|aux.FCheckMixGoal|aux.AddFusionProcMixRep|aux.FConditionMixRep|aux.FOperationMixRep|aux.FCheckMixRep|aux.FCheckMixRepFilter|aux.FCheckMixRepGoal|aux.FCheckMixRepTemplate|aux.FCheckMixRepSelectedCond|aux.FCheckMixRepSelected|aux.FCheckSelectMixRep|aux.FCheckSelectMixRepAll|aux.FCheckSelectMixRepM|aux.FSelectMixRep|aux.AddFusionProcCodeRep|aux.AddFusionProcCodeFun|aux.AddFusionProcFunRep|aux.AddFusionProcFunFun|aux.AddFusionProcFunFunRep|aux.AddFusionProcCodeFunRep|aux.AddFusionProcShaddoll|aux.FShaddollFilter|aux.FShaddollExFilter|aux.FShaddollCondition|aux.FShaddollOperation|aux.AddContactFusionProcedure|aux.ContactFusionMaterialFilter|aux.ContactFusionCondition|aux.ContactFusionOperation|aux.AddRitualProcUltimate|aux.RitualCheckGreater|aux.RitualCheckEqual|aux.RitualCheck|aux.RitualCheckAdditionalLevel|aux.RitualCheckAdditional|aux.RitualUltimateFilter|aux.RitualExtraFilter|aux.RitualUltimateTarget|aux.RitualUltimateOperation|aux.AddRitualProcGreater|aux.AddRitualProcGreaterCode|aux.AddRitualProcEqual|aux.AddRitualProcEqualCode|aux.EnablePendulumAttribute|aux.PendulumReset|aux.PConditionExtraFilterSpecific|aux.PConditionExtraFilter|aux.PConditionFilter|aux.PendCondition|aux.PendOperationCheck|aux.PendOperation|aux.EnableReviveLimitPendulumSummonable|aux.PendulumSummonableBool|aux.PSSCompleteProcedure|aux.AddLinkProcedure|aux.LConditionFilter|aux.LExtraFilter|aux.GetLinkCount|aux.GetLinkMaterials|aux.LCheckOtherMaterial|aux.LUncompatibilityFilter|aux.LCheckGoal|aux.LExtraMaterialCount|aux.LinkCondition|aux.LinkTarget|aux.LinkOperation|aux.EnableExtraDeckSummonCountLimit|aux.ExtraDeckSummonCountLimitReset|aux.IsMaterialListCode|aux.IsMaterialListSetCard|aux.IsMaterialListType|aux.AddCodeList|aux.IsCodeListed|aux.IsCounterAdded|aux.IsInGroup|aux.GetColumn|aux.MZoneSequence|aux.SZoneSequence|aux.ChangeBattleDamage|aux.bdcon|aux.bdocon|aux.bdgcon|aux.bdogcon|aux.dogcon|aux.dogfcon|aux.exccon|aux.bpcon|aux.dscon|aux.chainreg|aux.indsval|aux.indoval|aux.tgsval|aux.tgoval|aux.nzatk|aux.nzdef|aux.sumreg|aux.fuslimit|aux.ritlimit|aux.synlimit|aux.xyzlimit|aux.penlimit|aux.linklimit|aux.qlifilter|aux.gbspcon|aux.evospcon|aux.NecroValleyFilter|aux.bfgcost|aux.dncheck|aux.dlvcheck|aux.drkcheck|aux.dlkcheck|aux.dabcheck|aux.drccheck|aux.gfcheck|aux.gffcheck|aux.mzctcheck|aux.mzctcheckrel|aux.ExceptThisCard|aux.GetMultiLinkedZone|aux.CheckGroupRecursive|aux.CheckGroupRecursiveCapture|aux.CreateChecks|aux.CheckGroupRecursiveEach|aux.nbcon|aux.tdcfop)
\b(Auxiliary.PreloadUds|bit.band|bit.bor|bit.bxor|bit.lshift|bit.rshift|bit.bnot|bit.extract|bit.replace|Auxiliary.Stringid|Auxiliary.Next|Auxiliary.NULL|Auxiliary.TRUE|Auxiliary.FALSE|Auxiliary.AND|Auxiliary.OR|Auxiliary.NOT|Auxiliary.BeginPuzzle|Auxiliary.PuzzleOp|Auxiliary.IsDualState|Auxiliary.IsNotDualState|Auxiliary.DualNormalCondition|Auxiliary.EnableDualAttribute|Auxiliary.EnableSpiritReturn|Auxiliary.SpiritReturnReg|Auxiliary.SpiritReturnCondition|Auxiliary.SpiritReturnTarget|Auxiliary.SpiritReturnOperation|Auxiliary.IsUnionState|Auxiliary.SetUnionState|Auxiliary.CheckUnionEquip|Auxiliary.TargetEqualFunction|Auxiliary.TargetBoolFunction|Auxiliary.FilterEqualFunction|Auxiliary.FilterBoolFunction|Auxiliary.Tuner|Auxiliary.NonTuner|Auxiliary.GetValueType|Auxiliary.GetMustMaterialGroup|Auxiliary.MustMaterialCheck|Auxiliary.MustMaterialCounterFilter|Auxiliary.AddSynchroProcedure|Auxiliary.SynCondition|Auxiliary.SynTarget|Auxiliary.SynOperation|Auxiliary.AddSynchroMixProcedure|Auxiliary.SynMaterialFilter|Auxiliary.SynLimitFilter|Auxiliary.GetSynchroLevelFlowerCardian|Auxiliary.GetSynMaterials|Auxiliary.SynMixCondition|Auxiliary.SynMixTarget|Auxiliary.SynMixOperation|Auxiliary.SynMixCheck|Auxiliary.SynMixCheckRecursive|Auxiliary.SynMixCheckGoal|Auxiliary.TuneMagicianFilter|Auxiliary.TuneMagicianCheckX|Auxiliary.TuneMagicianCheckAdditionalX|Auxiliary.XyzAlterFilter|Auxiliary.AddXyzProcedure|Auxiliary.XyzCondition|Auxiliary.XyzTarget|Auxiliary.XyzOperation|Auxiliary.AddXyzProcedureLevelFree|Auxiliary.XyzLevelFreeFilter|Auxiliary.XyzLevelFreeGoal|Auxiliary.XyzLevelFreeCondition|Auxiliary.XyzLevelFreeTarget|Auxiliary.XyzLevelFreeOperation|Auxiliary.AddFusionProcMix|Auxiliary.FConditionMix|Auxiliary.FOperationMix|Auxiliary.FConditionFilterMix|Auxiliary.FCheckMix|Auxiliary.FCheckMixGoal|Auxiliary.AddFusionProcMixRep|Auxiliary.FConditionMixRep|Auxiliary.FOperationMixRep|Auxiliary.FCheckMixRep|Auxiliary.FCheckMixRepFilter|Auxiliary.FCheckMixRepGoal|Auxiliary.FCheckMixRepTemplate|Auxiliary.FCheckMixRepSelectedCond|Auxiliary.FCheckMixRepSelected|Auxiliary.FCheckSelectMixRep|Auxiliary.FCheckSelectMixRepAll|Auxiliary.FCheckSelectMixRepM|Auxiliary.FSelectMixRep|Auxiliary.AddFusionProcCodeRep|Auxiliary.AddFusionProcCodeFun|Auxiliary.AddFusionProcFunRep|Auxiliary.AddFusionProcFunFun|Auxiliary.AddFusionProcFunFunRep|Auxiliary.AddFusionProcCodeFunRep|Auxiliary.AddFusionProcShaddoll|Auxiliary.FShaddollFilter|Auxiliary.FShaddollExFilter|Auxiliary.FShaddollCondition|Auxiliary.FShaddollOperation|Auxiliary.AddContactFusionProcedure|Auxiliary.ContactFusionMaterialFilter|Auxiliary.ContactFusionCondition|Auxiliary.ContactFusionOperation|Auxiliary.AddRitualProcUltimate|Auxiliary.RitualCheckGreater|Auxiliary.RitualCheckEqual|Auxiliary.RitualCheck|Auxiliary.RitualCheckAdditionalLevel|Auxiliary.RitualCheckAdditional|Auxiliary.RitualUltimateFilter|Auxiliary.RitualExtraFilter|Auxiliary.RitualUltimateTarget|Auxiliary.RitualUltimateOperation|Auxiliary.AddRitualProcGreater|Auxiliary.AddRitualProcGreaterCode|Auxiliary.AddRitualProcEqual|Auxiliary.AddRitualProcEqualCode|Auxiliary.EnablePendulumAttribute|Auxiliary.PendulumReset|Auxiliary.PConditionExtraFilterSpecific|Auxiliary.PConditionExtraFilter|Auxiliary.PConditionFilter|Auxiliary.PendCondition|Auxiliary.PendOperationCheck|Auxiliary.PendOperation|Auxiliary.EnableReviveLimitPendulumSummonable|Auxiliary.PendulumSummonableBool|Auxiliary.PSSCompleteProcedure|Auxiliary.AddLinkProcedure|Auxiliary.LConditionFilter|Auxiliary.LExtraFilter|Auxiliary.GetLinkCount|Auxiliary.GetLinkMaterials|Auxiliary.LCheckOtherMaterial|Auxiliary.LUncompatibilityFilter|Auxiliary.LCheckGoal|Auxiliary.LExtraMaterialCount|Auxiliary.LinkCondition|Auxiliary.LinkTarget|Auxiliary.LinkOperation|Auxiliary.EnableExtraDeckSummonCountLimit|Auxiliary.ExtraDeckSummonCountLimitReset|Auxiliary.IsMaterialListCode|Auxiliary.IsMaterialListSetCard|Auxiliary.IsMaterialListType|Auxiliary.AddCodeList|Auxiliary.IsCodeListed|Auxiliary.IsCounterAdded|Auxiliary.IsInGroup|Auxiliary.GetColumn|Auxiliary.MZoneSequence|Auxiliary.SZoneSequence|Auxiliary.ChangeBattleDamage|Auxiliary.bdcon|Auxiliary.bdocon|Auxiliary.bdgcon|Auxiliary.bdogcon|Auxiliary.dogcon|Auxiliary.dogfcon|Auxiliary.exccon|Auxiliary.bpcon|Auxiliary.dscon|Auxiliary.chainreg|Auxiliary.indsval|Auxiliary.indoval|Auxiliary.tgsval|Auxiliary.tgoval|Auxiliary.nzatk|Auxiliary.nzdef|Auxiliary.sumreg|Auxiliary.fuslimit|Auxiliary.ritlimit|Auxiliary.synlimit|Auxiliary.xyzlimit|Auxiliary.penlimit|Auxiliary.linklimit|Auxiliary.qlifilter|Auxiliary.gbspcon|Auxiliary.evospcon|Auxiliary.NecroValleyFilter|Auxiliary.bfgcost|Auxiliary.dncheck|Auxiliary.dlvcheck|Auxiliary.drkcheck|Auxiliary.dlkcheck|Auxiliary.dabcheck|Auxiliary.drccheck|Auxiliary.gfcheck|Auxiliary.gffcheck|Auxiliary.mzctcheck|Auxiliary.mzctcheckrel|Auxiliary.ExceptThisCard|Auxiliary.GetMultiLinkedZone|Auxiliary.CheckGroupRecursive|Auxiliary.CheckGroupRecursiveCapture|Auxiliary.CreateChecks|Auxiliary.CheckGroupRecursiveEach|Auxiliary.nbcon|Auxiliary.tdcfop|bit.band|bit.bor|bit.bxor|bit.lshift|bit.rshift|bit.bnot|bit.extract|bit.replace|aux.Stringid|aux.Next|aux.NULL|aux.TRUE|aux.FALSE|aux.AND|aux.OR|aux.NOT|aux.BeginPuzzle|aux.PuzzleOp|aux.IsDualState|aux.IsNotDualState|aux.DualNormalCondition|aux.EnableDualAttribute|aux.EnableSpiritReturn|aux.SpiritReturnReg|aux.SpiritReturnCondition|aux.SpiritReturnTarget|aux.SpiritReturnOperation|aux.IsUnionState|aux.SetUnionState|aux.CheckUnionEquip|aux.TargetEqualFunction|aux.TargetBoolFunction|aux.FilterEqualFunction|aux.FilterBoolFunction|aux.Tuner|aux.NonTuner|aux.GetValueType|aux.GetMustMaterialGroup|aux.MustMaterialCheck|aux.MustMaterialCounterFilter|aux.AddSynchroProcedure|aux.SynCondition|aux.SynTarget|aux.SynOperation|aux.AddSynchroMixProcedure|aux.SynMaterialFilter|aux.SynLimitFilter|aux.GetSynchroLevelFlowerCardian|aux.GetSynMaterials|aux.SynMixCondition|aux.SynMixTarget|aux.SynMixOperation|aux.SynMixCheck|aux.SynMixCheckRecursive|aux.SynMixCheckGoal|aux.TuneMagicianFilter|aux.TuneMagicianCheckX|aux.TuneMagicianCheckAdditionalX|aux.XyzAlterFilter|aux.AddXyzProcedure|aux.XyzCondition|aux.XyzTarget|aux.XyzOperation|aux.AddXyzProcedureLevelFree|aux.XyzLevelFreeFilter|aux.XyzLevelFreeGoal|aux.XyzLevelFreeCondition|aux.XyzLevelFreeTarget|aux.XyzLevelFreeOperation|aux.AddFusionProcMix|aux.FConditionMix|aux.FOperationMix|aux.FConditionFilterMix|aux.FCheckMix|aux.FCheckMixGoal|aux.AddFusionProcMixRep|aux.FConditionMixRep|aux.FOperationMixRep|aux.FCheckMixRep|aux.FCheckMixRepFilter|aux.FCheckMixRepGoal|aux.FCheckMixRepTemplate|aux.FCheckMixRepSelectedCond|aux.FCheckMixRepSelected|aux.FCheckSelectMixRep|aux.FCheckSelectMixRepAll|aux.FCheckSelectMixRepM|aux.FSelectMixRep|aux.AddFusionProcCodeRep|aux.AddFusionProcCodeFun|aux.AddFusionProcFunRep|aux.AddFusionProcFunFun|aux.AddFusionProcFunFunRep|aux.AddFusionProcCodeFunRep|aux.AddFusionProcShaddoll|aux.FShaddollFilter|aux.FShaddollExFilter|aux.FShaddollCondition|aux.FShaddollOperation|aux.AddContactFusionProcedure|aux.ContactFusionMaterialFilter|aux.ContactFusionCondition|aux.ContactFusionOperation|aux.AddRitualProcUltimate|aux.RitualCheckGreater|aux.RitualCheckEqual|aux.RitualCheck|aux.RitualCheckAdditionalLevel|aux.RitualCheckAdditional|aux.RitualUltimateFilter|aux.RitualExtraFilter|aux.RitualUltimateTarget|aux.RitualUltimateOperation|aux.AddRitualProcGreater|aux.AddRitualProcGreaterCode|aux.AddRitualProcEqual|aux.AddRitualProcEqualCode|aux.EnablePendulumAttribute|aux.PendulumReset|aux.PConditionExtraFilterSpecific|aux.PConditionExtraFilter|aux.PConditionFilter|aux.PendCondition|aux.PendOperationCheck|aux.PendOperation|aux.EnableReviveLimitPendulumSummonable|aux.PendulumSummonableBool|aux.PSSCompleteProcedure|aux.AddLinkProcedure|aux.LConditionFilter|aux.LExtraFilter|aux.GetLinkCount|aux.GetLinkMaterials|aux.LCheckOtherMaterial|aux.LUncompatibilityFilter|aux.LCheckGoal|aux.LExtraMaterialCount|aux.LinkCondition|aux.LinkTarget|aux.LinkOperation|aux.EnableExtraDeckSummonCountLimit|aux.ExtraDeckSummonCountLimitReset|aux.IsMaterialListCode|aux.IsMaterialListSetCard|aux.IsMaterialListType|aux.AddCodeList|aux.IsCodeListed|aux.IsCounterAdded|aux.IsInGroup|aux.GetColumn|aux.MZoneSequence|aux.SZoneSequence|aux.ChangeBattleDamage|aux.bdcon|aux.bdocon|aux.bdgcon|aux.bdogcon|aux.dogcon|aux.dogfcon|aux.exccon|aux.bpcon|aux.dscon|aux.chainreg|aux.indsval|aux.indoval|aux.tgsval|aux.tgoval|aux.nzatk|aux.nzdef|aux.sumreg|aux.fuslimit|aux.ritlimit|aux.synlimit|aux.xyzlimit|aux.penlimit|aux.linklimit|aux.qlifilter|aux.gbspcon|aux.evospcon|aux.NecroValleyFilter|aux.bfgcost|aux.dncheck|aux.dlvcheck|aux.drkcheck|aux.dlkcheck|aux.dabcheck|aux.drccheck|aux.gfcheck|aux.gffcheck|aux.mzctcheck|aux.mzctcheckrel|aux.ExceptThisCard|aux.GetMultiLinkedZone|aux.CheckGroupRecursive|aux.CheckGroupRecursiveCapture|aux.CreateChecks|aux.CheckGroupRecursiveEach|aux.nbcon|aux.tdcfop)
\b
</Rule>
<Rule
color=
"Punctuation"
>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment