aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Themes/Generic.xaml
blob: 5de763df3f67ecf56e49ff8faa003b14d0f2d486 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
generated by cgit v1.3.1 (git 2.54.0) at 2026-07-20 15:46:10 +0000
 


n401'>401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="clr-namespace:Tango.Scripting.Editors"
    xmlns:popups="clr-namespace:Tango.Scripting.Editors.Popups"
    xmlns:fa="http://schemas.fontawesome.io/icons/"
	xmlns:editing="clr-namespace:Tango.Scripting.Editors.Editing"
    xmlns:folding="clr-namespace:Tango.Scripting.Editors.Folding"
    xmlns:intellisense="clr-namespace:Tango.Scripting.Editors.Intellisense"
    xmlns:converters="clr-namespace:Tango.Scripting.Editors.Converters"
    xmlns:completion="clr-namespace:Tango.Scripting.Editors.CodeCompletion">

    <ResourceDictionary.MergedDictionaries>
        <ResourceDictionary Source="/Tango.Scripting.Editors;component/TextEditor.xaml" />
        <ResourceDictionary Source="/Tango.Scripting.Editors;component/Search/DropDownButton.xaml" />
        <ResourceDictionary Source="/Tango.Scripting.Editors;component/Search/SearchPanel.xaml" />
        <ResourceDictionary Source="/Tango.Scripting.Editors;component/CodeCompletion/CompletionList.xaml" />
        <ResourceDictionary Source="/Tango.Scripting.Editors;component/CodeCompletion/InsightWindow.xaml" />
    </ResourceDictionary.MergedDictionaries>

    <!--Colors-->
    <Color x:Key="ScriptBackground">#1E1E1E</Color>
    <Color x:Key="CompletionBackground">#232323</Color>
    <Color x:Key="CompletionToolTipBackground">#3B3B3B</Color>
    <Color x:Key="ScriptForeground">#E6E6E6</Color>
    <Color x:Key="ScriptFoldingForeground">#A0A0A0</Color>
    <Color x:Key="ScriptLineNumberForeground">#2B91AF</Color>
    <Color x:Key="ScriptReferenceTypesColor">#4EC9B0</Color>
    <Color x:Key="ScriptKeywordColor">#3F8FD6</Color>
    <Color x:Key="ScriptInterfaceColor">#B5CE8A</Color>

    <!--Brushes-->
    <SolidColorBrush x:Key="ScriptBackgroundBrush" Color="{StaticResource ScriptBackground}"></SolidColorBrush>
    <SolidColorBrush x:Key="ScriptForegroundBrush" Color="{StaticResource ScriptForeground}"></SolidColorBrush>
    <SolidColorBrush x:Key="ScriptFoldingForegroundBrush" Color="{StaticResource ScriptFoldingForeground}"></SolidColorBrush>
    <SolidColorBrush x:Key="ScriptLineNumberForegroundBrush" Color="{StaticResource ScriptLineNumberForeground}"></SolidColorBrush>
    <SolidColorBrush x:Key="CompletionBackgroundBrush" Color="{StaticResource CompletionBackground}"></SolidColorBrush>
    <SolidColorBrush x:Key="CompletionToolTipBackgroundBrush" Color="{StaticResource CompletionToolTipBackground}"></SolidColorBrush>
    <SolidColorBrush x:Key="ScriptReferenceTypesBrush" Color="{StaticResource ScriptReferenceTypesColor}"></SolidColorBrush>
    <SolidColorBrush x:Key="ScriptKeywordBrush" Color="{StaticResource ScriptKeywordColor}"></SolidColorBrush>
    <SolidColorBrush x:Key="ScriptInterfaceBrush" Color="{StaticResource ScriptInterfaceColor}"></SolidColorBrush>

    <!--Images-->
    <BitmapImage x:Key="interface" UriSource="pack://application:,,,/Tango.Scripting.Editors;component/Images/interface.png" />
    <BitmapImage x:Key="class" UriSource="pack://application:,,,/Tango.Scripting.Editors;component/Images/class.png" />
    <BitmapImage x:Key="enum" UriSource="pack://application:,,,/Tango.Scripting.Editors;component/Images/enum.png" />
    <BitmapImage x:Key="struct" UriSource="pack://application:,,,/Tango.Scripting.Editors;component/Images/struct.png" />
    <BitmapImage x:Key="namespace" UriSource="pack://application:,,,/Tango.Scripting.Editors;component/Images/namespace.png" />
    <BitmapImage x:Key="method" UriSource="pack://application:,,,/Tango.Scripting.Editors;component/Images/method.png" />
    <BitmapImage x:Key="property" UriSource="pack://application:,,,/Tango.Scripting.Editors;component/Images/property.png" />
    <BitmapImage x:Key="event" UriSource="pack://application:,,,/Tango.Scripting.Editors;component/Images/event.png" />
    <BitmapImage x:Key="snippet" UriSource="pack://application:,,,/Tango.Scripting.Editors;component/Images/snippet.png" />

    <!--Converters-->
    <converters:BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" />
    <converters:BooleanToVisibilityInversedConverter x:Key="BooleanToVisibilityInversedConverter" />

    <Style TargetType="{x:Type completion:CompletionList}">
        <Style.Resources>
            <Style TargetType="ToolTip">
                
            </Style>
        </Style.Resources>
        <Setter Property="Background" Value="{StaticResource CompletionBackgroundBrush}"></Setter>
        <Setter Property="BorderThickness" Value="0"></Setter>

        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type completion:CompletionList}">
                    <Border MinWidth="320" MaxHeight="200" BorderBrush="#434343" BorderThickness="1" Padding="0" Background="{StaticResource CompletionBackgroundBrush}">
                        <DockPanel>
                            <Border DockPanel.Dock="Bottom" Height="25" Background="#181818" BorderThickness="0 1 0 0" BorderBrush="#434343">

                            </Border>
                            <completion:CompletionListBox x:Name="PART_ListBox" BorderThickness="0" Padding="0" Background="{StaticResource CompletionBackgroundBrush}" ScrollViewer.VerticalScrollBarVisibility="Visible" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
                                <completion:CompletionListBox.Style>
                                    <Style TargetType="ListBox">
                                        <Setter Property="ItemContainerStyle">
                                            <Setter.Value>
                                                <Style TargetType="completion:CompletionListBoxItem">
                                                    <Setter Property="Template">
                                                        <Setter.Value>
                                                            <ControlTemplate TargetType="ListBoxItem">
                                                                <Border Padding="{TemplateBinding Padding}" Background="{TemplateBinding Background}" TextElement.Foreground="{TemplateBinding Foreground}">
                                                                    <ContentPresenter/>
                                                                </Border>
                                                            </ControlTemplate>
                                                        </Setter.Value>
                                                    </Setter>
                                                    <Setter Property="ToolTipContentTemplate">
                                                        <Setter.Value>
                                                            <DataTemplate>
                                                                <Border Background="{StaticResource CompletionToolTipBackgroundBrush}" CornerRadius="3" BorderThickness="0.5" BorderBrush="#434343" Padding="10 5" TextElement.Foreground="{StaticResource ScriptForegroundBrush}" TextElement.FontSize="12">
                                                                    <ContentPresenter DataContext="{Binding}" Content="{Binding PopupControl}" />
                                                                </Border>
                                                            </DataTemplate>
                                                        </Setter.Value>
                                                    </Setter>
                                                    <Setter Property="Background" Value="{StaticResource CompletionBackgroundBrush}"></Setter>
                                                    <Setter Property="Foreground" Value="{StaticResource ScriptForegroundBrush}"></Setter>
                                                    <Setter Property="Padding" Value="2"></Setter>
                                                    <Setter Property="IsSelected" Value="{Binding IsSelected,Mode=TwoWay}"></Setter>
                                                    <Setter Property="BorderThickness" Value="0"></Setter>
                                                    <Style.Triggers>
                                                        <Trigger Property="IsSelected" Value="True">
                                                            <Setter Property="Background" Value="#187DBB"></Setter>
                                                            <Setter Property="Foreground" Value="{StaticResource ScriptForegroundBrush}"></Setter>
                                                        </Trigger>
                                                    </Style.Triggers>
                                                </Style>
                                            </Setter.Value>
                                        </Setter>
                                    </Style>
                                </completion:CompletionListBox.Style>
                                <ItemsControl.ItemTemplate>
                                    <DataTemplate>
                                        <StackPanel Orientation="Horizontal">
                                            <Image Width="16" Height="16" Margin="0,0,4,0" Source="{Binding Image}"></Image>
                                            <ContentControl Content="{Binding}" />
                                        </StackPanel>
                                    </DataTemplate>
                                </ItemsControl.ItemTemplate>
                            </completion:CompletionListBox>
                        </DockPanel>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style TargetType="{x:Type folding:FoldingMargin}">
        <Setter Property="FoldingMarkerBackgroundBrush" Value="{StaticResource ScriptBackgroundBrush}"></Setter>
        <Setter Property="FoldingMarkerBrush" Value="{StaticResource ScriptFoldingForegroundBrush}"></Setter>
        <Setter Property="SelectedFoldingMarkerBackgroundBrush" Value="{StaticResource ScriptBackgroundBrush}"></Setter>
        <Setter Property="SelectedFoldingMarkerBrush" Value="{StaticResource ScriptFoldingForegroundBrush}"></Setter>
        <Setter Property="Control.Cursor" Value="/Tango.Scripting.Editors;component/themes/RightArrow.cur"/>
    </Style>

    <Style TargetType="{x:Type editing:LineNumberMargin}">
        <Setter Property="Width" Value="55"></Setter>
        <Setter Property="Foreground" Value="{StaticResource ScriptLineNumberForegroundBrush}"></Setter>
        <Setter Property="Control.Cursor" Value="/Tango.Scripting.Editors;component/themes/RightArrow.cur"/>
    </Style>

    <Style TargetType="{x:Type local:XamlEditor}">
        <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"></Setter>
        <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"></Setter>
        <Setter Property="FontFamily" Value="Consolas"></Setter>
        <Setter Property="FontSize" Value="13"></Setter>
        <Setter Property="SyntaxHighlighting" Value="XML"></Setter>
        <Setter Property="ShowLineNumbers" Value="True"></Setter>        
    </Style>
    
    <Style TargetType="{x:Type local:ScriptEditor}">
        <Setter Property="Background" Value="{StaticResource ScriptBackgroundBrush}"></Setter>
        <Setter Property="Foreground" Value="{StaticResource ScriptForegroundBrush}"></Setter>
        <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"></Setter>
        <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"></Setter>
        <Setter Property="FontFamily" Value="Consolas"></Setter>
        <Setter Property="FontSize" Value="13"></Setter>
        <Setter Property="SyntaxHighlighting" Value="C#"></Setter>
        <Setter Property="ShowLineNumbers" Value="True"></Setter>
        <Setter Property="ContextMenu">
            <Setter.Value>
                <ContextMenu>
                    <ContextMenu.Resources>
                        <Style TargetType="MenuItem" BasedOn="{StaticResource {x:Type MenuItem}}">
                            <Setter Property="Foreground" Value="Gainsboro"></Setter>
                        </Style>
                    </ContextMenu.Resources>
                    <MenuItem Header="Cut" MinWidth="150" Command="Cut">
                        <MenuItem.Icon>
                            <fa:ImageAwesome Icon="Cut" Width="12" Foreground="Gainsboro" Margin="2" />
                        </MenuItem.Icon>
                    </MenuItem>
                    <Separator/>
                    <MenuItem Header="Copy" Command="Copy">
                        <MenuItem.Icon>
                            <fa:ImageAwesome Icon="Copy" Width="12" Foreground="Gainsboro" Margin="2" />
                        </MenuItem.Icon>
                    </MenuItem>
                    <MenuItem Header="Paste" Command="Paste">
                        <MenuItem.Icon>
                            <fa:ImageAwesome Icon="Paste" Width="12" Foreground="Gainsboro" Margin="2" />
                        </MenuItem.Icon>
                    </MenuItem>
                </ContextMenu>
            </Setter.Value>
        </Setter>
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type local:ScriptEditor}">
                    <Border Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}">

                        <Grid>
                            <ScrollViewer
						    Focusable="False"
						    Name="PART_ScrollViewer"
						    CanContentScroll="True"
						    VerticalScrollBarVisibility="{TemplateBinding VerticalScrollBarVisibility}"
						    HorizontalScrollBarVisibility="{TemplateBinding HorizontalScrollBarVisibility}"
						    Content="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=TextArea}"
						    VerticalContentAlignment="Top"
						    HorizontalContentAlignment="Left"
						    Background="{TemplateBinding Background}"
						    Padding="{TemplateBinding Padding}"/>

                            <Popup x:Name="PART_popup" IsOpen="False" AllowsTransparency="True">
                                <Border Background="{StaticResource CompletionToolTipBackgroundBrush}" CornerRadius="3" BorderThickness="0.5" BorderBrush="#434343" Padding="10 5" TextElement.Foreground="{StaticResource ScriptForegroundBrush}" TextElement.FontSize="12">
                                    <ContentControl Content="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=CurrentPopupContent}" />
                                </Border>
                            </Popup>
                        </Grid>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style TargetType="{x:Type popups:MethodPopup}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type popups:MethodPopup}">
                    <Border Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}">

                        <DockPanel>
                            <StackPanel Orientation="Horizontal" VerticalAlignment="Top">
                                <fa:ImageAwesome VerticalAlignment="Center" Icon="ChevronUp" Width="10" Height="10" Foreground="{StaticResource ScriptForegroundBrush}" />
                                <TextBlock VerticalAlignment="Center" Margin="5 0 0 0" Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=CurrentMethodIndex}"></TextBlock>
                                <TextBlock VerticalAlignment="Center" Margin="5 0 0 0">of</TextBlock>
                                <TextBlock VerticalAlignment="Center" Margin="5 0 0 0" Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=Methods.Count}"></TextBlock>
                                <fa:ImageAwesome VerticalAlignment="Center" Margin="5 0 0 0" Icon="ChevronDown" Width="10" Height="10" Foreground="{StaticResource ScriptForegroundBrush}" />
                            </StackPanel>

                            <StackPanel Margin="10 0 0 0">
                                <StackPanel Orientation="Horizontal">
                                    <TextBlock Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=CurrentMethod.ReturnType}" Foreground="{StaticResource ScriptReferenceTypesBrush}"></TextBlock>
                                    <TextBlock Margin="5 0 0 0" Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=CurrentMethod.Class}" Foreground="{StaticResource ScriptReferenceTypesBrush}"></TextBlock>
                                    <TextBlock>.</TextBlock>
                                    <TextBlock Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=CurrentMethod.Name}" Foreground="{StaticResource ScriptReferenceTypesBrush}"></TextBlock>
                                    <TextBlock>(</TextBlock>
                                    <ItemsControl ItemsSource="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=CurrentMethod.Parameters}">
                                        <ItemsControl.ItemsPanel>
                                            <ItemsPanelTemplate>
                                                <StackPanel Orientation="Horizontal"></StackPanel>
                                            </ItemsPanelTemplate>
                                        </ItemsControl.ItemsPanel>
                                        <ItemsControl.ItemTemplate>
                                            <DataTemplate DataType="{x:Type popups:ParameterDescription}">
                                                <StackPanel Orientation="Horizontal">
                                                    <TextBlock Text="{Binding Type}" Foreground="{StaticResource ScriptReferenceTypesBrush}"></TextBlock>
                                                    <TextBlock Margin="5 0 0 0" Text="{Binding Name}"></TextBlock>
                                                    <TextBlock Margin="0 0 5 0" Visibility="{Binding IsLast,Converter={StaticResource BooleanToVisibilityInversedConverter}}">,</TextBlock>
                                                </StackPanel>
                                            </DataTemplate>
                                        </ItemsControl.ItemTemplate>
                                    </ItemsControl>
                                    <TextBlock>)</TextBlock>
                                </StackPanel>

                                <TextBlock Margin="0 5 0 0" Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=CurrentMethod.Description}" TextWrapping="Wrap"></TextBlock>

                                <ItemsControl Margin="0 10 0 0" ItemsSource="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=CurrentMethod.Parameters}">
                                    <ItemsControl.ItemTemplate>
                                        <DataTemplate DataType="{x:Type popups:ParameterDescription}">
                                            <StackPanel Orientation="Horizontal">
                                                <StackPanel.Style>
                                                    <Style TargetType="StackPanel">
                                                        <Setter Property="Visibility" Value="Visible"></Setter>
                                                        <Style.Triggers>
                                                            <DataTrigger Binding="{Binding Description}" Value="{x:Null}">
                                                                <Setter Property="Visibility" Value="Collapsed"></Setter>
                                                            </DataTrigger>
                                                        </Style.Triggers>
                                                    </Style>
                                                </StackPanel.Style>
                                                <TextBlock Text="{Binding Name}"></TextBlock>
                                                <TextBlock>:</TextBlock>
                                                <TextBlock Opacity="0.7" Margin="5 0 0 0" Text="{Binding Description}"></TextBlock>
                                            </StackPanel>
                                        </DataTemplate>
                                    </ItemsControl.ItemTemplate>
                                </ItemsControl>
                            </StackPanel>
                        </DockPanel>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <!--Completion Items-->

    <Style TargetType="{x:Type intellisense:ClassCompletionItemPopup}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type intellisense:ClassCompletionItemPopup}">
                    <Border Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}">
                        <TextBlock TextWrapping="Wrap">
                               <Run Text="class" Foreground="{StaticResource ScriptKeywordBrush}"></Run>
                               <Run Text="{Binding Namespace,Mode=OneWay}"></Run>.<Run Text="{Binding Name,Mode=OneWay}" Foreground="{StaticResource ScriptReferenceTypesBrush}"></Run>
                               <LineBreak/>
                               <Run Text="{Binding Description,Mode=OneWay}"></Run>
                        </TextBlock>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style TargetType="{x:Type intellisense:EnumCompletionItemPopup}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type intellisense:EnumCompletionItemPopup}">
                    <Border Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}">
                        <TextBlock TextWrapping="Wrap">
                               <Run Text="enum" Foreground="{StaticResource ScriptKeywordBrush}"></Run>
                               <Run Text="{Binding Namespace,Mode=OneWay}"></Run>.<Run Text="{Binding Text,Mode=OneWay}" Foreground="{StaticResource ScriptInterfaceBrush}"></Run>
                               <LineBreak/>
                               <Run Text="{Binding Description,Mode=OneWay}"></Run>
                        </TextBlock>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style TargetType="{x:Type intellisense:MethodCompletionItemPopup}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type intellisense:MethodCompletionItemPopup}">
                    <Border Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}">

                        <StackPanel>
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="{Binding ReturnType}" Foreground="{StaticResource ScriptReferenceTypesBrush}"></TextBlock>
                                <TextBlock Margin="5 0 0 0" Text="{Binding Class}" Foreground="{StaticResource ScriptReferenceTypesBrush}"></TextBlock>
                                <TextBlock>.</TextBlock>
                                <TextBlock Text="{Binding Name}"></TextBlock>
                                <TextBlock>(</TextBlock>
                                <ItemsControl ItemsSource="{Binding Parameters}">
                                    <ItemsControl.ItemsPanel>
                                        <ItemsPanelTemplate>
                                            <StackPanel Orientation="Horizontal"></StackPanel>
                                        </ItemsPanelTemplate>
                                    </ItemsControl.ItemsPanel>
                                    <ItemsControl.ItemTemplate>
                                        <DataTemplate>
                                            <StackPanel Orientation="Horizontal">
                                                <TextBlock Text="{Binding Type}" Foreground="{StaticResource ScriptReferenceTypesBrush}"></TextBlock>
                                                <TextBlock Margin="5 0 0 0" Text="{Binding Name}"></TextBlock>
                                                <TextBlock Margin="0 0 5 0" Text="," Visibility="{Binding IsLast,Converter={StaticResource BooleanToVisibilityInversedConverter}}"></TextBlock>
                                            </StackPanel>
                                        </DataTemplate>
                                    </ItemsControl.ItemTemplate>
                                </ItemsControl>
                                <TextBlock>)</TextBlock>

                                <StackPanel Margin="5 0 0 0" Orientation="Horizontal" Visibility="{Binding HasOverloads,Converter={StaticResource BooleanToVisibilityConverter}}">
                                    <TextBlock>(+</TextBlock>
                                    <TextBlock Margin="2 0" Text="{Binding Overloads}"></TextBlock>
                                    <TextBlock>overloads)</TextBlock>
                                </StackPanel>
                            </StackPanel>

                            <TextBlock Text="{Binding Description}"></TextBlock>
                        </StackPanel>

                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style TargetType="{x:Type intellisense:InterfaceCompletionItemPopup}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type intellisense:InterfaceCompletionItemPopup}">
                    <Border Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}">

                        <TextBlock TextWrapping="Wrap">
                               <Run Text="interface" Foreground="#3F8FD6"></Run>
                               <Run Text="{Binding Namespace,Mode=OneWay}"></Run>.<Run Text="{Binding Name,Mode=OneWay}" Foreground="{StaticResource ScriptInterfaceBrush}"></Run>
                               <LineBreak/>
                               <Run Text="{Binding Description,Mode=OneWay}"></Run>
                        </TextBlock>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style TargetType="{x:Type intellisense:NamespaceCompletionItemPopup}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type intellisense:NamespaceCompletionItemPopup}">
                    <Border Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}">

                        <TextBlock TextWrapping="Wrap">
                              <Run Text="namespace" Foreground="{StaticResource ScriptKeywordBrush}"></Run>
                              <Run Text="{Binding Name,Mode=OneWay}"></Run>
                        </TextBlock>

                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style TargetType="{x:Type intellisense:PropertyCompletionItemPopup}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type intellisense:PropertyCompletionItemPopup}">
                    <Border Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}">

                        <StackPanel>
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="{Binding Type}" Foreground="{StaticResource ScriptReferenceTypesBrush}"></TextBlock>
                                <TextBlock Margin="5 0 0 0" Text="{Binding Class}" Foreground="{StaticResource ScriptReferenceTypesBrush}"></TextBlock>
                                <TextBlock>.</TextBlock>
                                <TextBlock Text="{Binding Text}"></TextBlock>
                                <TextBlock Margin="5 0 0 0">
                                    <Run>{</Run>
                                    <Run Foreground="{StaticResource ScriptKeywordBrush}">get</Run><Run>;</Run>
                                    <Run Foreground="{StaticResource ScriptKeywordBrush}">set</Run><Run>;</Run>
                                    <Run>}</Run>
                                </TextBlock>
                            </StackPanel>

                            <TextBlock Text="{Binding Description}"></TextBlock>
                        </StackPanel>

                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style TargetType="{x:Type intellisense:StructCompletionItemPopup}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type intellisense:StructCompletionItemPopup}">
                    <Border Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}">

                        <TextBlock TextWrapping="Wrap">
                               <Run Text="struct" Foreground="#3F8FD6"></Run>
                               <Run Text="{Binding Namespace,Mode=OneWay}"></Run>.<Run Text="{Binding Name,Mode=OneWay}" Foreground="{StaticResource ScriptInterfaceBrush}"></Run>
                               <LineBreak/>
                               <Run Text="{Binding Description,Mode=OneWay}"></Run>
                        </TextBlock>
                        
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>

    <Style TargetType="{x:Type intellisense:FieldCompletionItemPopup}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type intellisense:FieldCompletionItemPopup}">
                    <Border Background="{TemplateBinding Background}"
                            BorderBrush="{TemplateBinding BorderBrush}"
                            BorderThickness="{TemplateBinding BorderThickness}">

                        <StackPanel>
                            <StackPanel Orientation="Horizontal">
                                <TextBlock Text="{Binding Type}" Foreground="{StaticResource ScriptReferenceTypesBrush}"></TextBlock>
                                <TextBlock Margin="5 0 0 0" Text="{Binding Text}"></TextBlock>
                            </StackPanel>

                            <TextBlock Text="{Binding Description}"></TextBlock>
                        </StackPanel>

                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>
    
    
</ResourceDictionary>