summaryrefslogtreecommitdiff
path: root/editors
diff options
context:
space:
mode:
Diffstat (limited to 'editors')
-rw-r--r--editors/InType/Prado.itBundle/info.itInfo158
-rw-r--r--editors/InType/Prado.itBundle/snippets/button.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/button_image.itSnippet9
-rw-r--r--editors/InType/Prado.itBundle/snippets/button_link.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/cache.itSnippet11
-rw-r--r--editors/InType/Prado.itBundle/snippets/captcha.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/check.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/col_bound.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/col_button.itSnippet9
-rw-r--r--editors/InType/Prado.itBundle/snippets/col_checkbox.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/col_dropdown.itSnippet12
-rw-r--r--editors/InType/Prado.itBundle/snippets/col_dropdown2.itSnippet11
-rw-r--r--editors/InType/Prado.itBundle/snippets/col_edit.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/col_link.itSnippet10
-rw-r--r--editors/InType/Prado.itBundle/snippets/col_literal.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/col_tpl.itSnippet11
-rw-r--r--editors/InType/Prado.itBundle/snippets/color.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/comment.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/content.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/datalist.itSnippet16
-rw-r--r--editors/InType/Prado.itBundle/snippets/date.itSnippet9
-rw-r--r--editors/InType/Prado.itBundle/snippets/exp_asset.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/exp_bind.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/exp_code.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/exp_directive.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/exp_eq.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/exp_localize.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/exp_param.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/form.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/grid.itSnippet17
-rw-r--r--editors/InType/Prado.itBundle/snippets/head.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/hidden.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/holder.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/holder_content.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/image.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/item.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/js.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/js_loader.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/js_prado.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/js_url.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/jslog.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/key.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/label.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/label_text.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/link.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/link_block.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/link_image.itSnippet9
-rw-r--r--editors/InType/Prado.itBundle/snippets/list.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/list.txt0
-rw-r--r--editors/InType/Prado.itBundle/snippets/list_bullet.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/list_check.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/list_dropdown.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/list_radio.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/multi.itSnippet10
-rw-r--r--editors/InType/Prado.itBundle/snippets/pager.itSnippet9
-rw-r--r--editors/InType/Prado.itBundle/snippets/panel.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/panel_tab.itSnippet10
-rw-r--r--editors/InType/Prado.itBundle/snippets/pass.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/radio.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/repeater.itSnippet10
-rw-r--r--editors/InType/Prado.itBundle/snippets/step.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/tab.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/text.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/text_html.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/text_multiline.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/tpl.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/tpl_alt.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/tpl_edit.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/tpl_empty.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/tpl_finish.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/tpl_footer.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/tpl_header.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/tpl_select.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/tpl_sep.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/tpl_side.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/tpl_start.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/tpl_step.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/upload.itSnippet6
-rw-r--r--editors/InType/Prado.itBundle/snippets/val_captcha.itSnippet10
-rw-r--r--editors/InType/Prado.itBundle/snippets/val_compare1.itSnippet12
-rw-r--r--editors/InType/Prado.itBundle/snippets/val_compare2.itSnippet12
-rw-r--r--editors/InType/Prado.itBundle/snippets/val_custom.itSnippet11
-rw-r--r--editors/InType/Prado.itBundle/snippets/val_data_type.itSnippet10
-rw-r--r--editors/InType/Prado.itBundle/snippets/val_email.itSnippet9
-rw-r--r--editors/InType/Prado.itBundle/snippets/val_list.itSnippet11
-rw-r--r--editors/InType/Prado.itBundle/snippets/val_range.itSnippet12
-rw-r--r--editors/InType/Prado.itBundle/snippets/val_regexp.itSnippet10
-rw-r--r--editors/InType/Prado.itBundle/snippets/val_required.itSnippet9
-rw-r--r--editors/InType/Prado.itBundle/snippets/view.itSnippet8
-rw-r--r--editors/InType/Prado.itBundle/snippets/wizard.itSnippet16
-rw-r--r--editors/InType/Prado.itBundle/syntaxes/prado.itGrammar588
-rw-r--r--editors/InType/wei.itTheme363
92 files changed, 1838 insertions, 0 deletions
diff --git a/editors/InType/Prado.itBundle/info.itInfo b/editors/InType/Prado.itBundle/info.itInfo
new file mode 100644
index 00000000..481daada
--- /dev/null
+++ b/editors/InType/Prado.itBundle/info.itInfo
@@ -0,0 +1,158 @@
+{
+ menu:
+ [
+ { item: "bundle.Prado.language.prado" }
+ ------------------------------------
+ {
+ title: 'Web Controls'
+ menu:
+ [
+ { item: "bundle.Prado.snippet.form" }
+ { item: "bundle.Prado.snippet.head" }
+ ------------------------------------
+ { item: "bundle.Prado.snippet.button" }
+ { item: "bundle.Prado.snippet.button_image" }
+ { item: "bundle.Prado.snippet.button_link" }
+ { item: "bundle.Prado.snippet.check" }
+ { item: "bundle.Prado.snippet.radio" }
+ ------------------------------------
+ { item: "bundle.Prado.snippet.text" }
+ { item: "bundle.Prado.snippet.text_html" }
+ { item: "bundle.Prado.snippet.text_multiline" }
+ { item: "bundle.Prado.snippet.pass" }
+ { item: "bundle.Prado.snippet.key" }
+ { item: "bundle.Prado.snippet.captcha" }
+ ------------------------------------
+ { item: "bundle.Prado.snippet.link" }
+ { item: "bundle.Prado.snippet.link_image" }
+ { item: "bundle.Prado.snippet.link_block" }
+ ------------------------------------
+ { item: "bundle.Prado.snippet.date" }
+ { item: "bundle.Prado.snippet.color" }
+ { item: "bundle.Prado.snippet.image" }
+ { item: "bundle.Prado.snippet.label_text" }
+ { item: "bundle.Prado.snippet.label" }
+ { item: "bundle.Prado.snippet.upload" }
+ { item: "bundle.Prado.snippet.hidden" }
+ ]
+ }
+ {
+ title: 'Panels/Content'
+ menu:
+ [
+ {
+ title: 'Template Props'
+ menu:
+ [
+ { item: "bundle.Prado.snippet.tpl" }
+ { item: "bundle.Prado.snippet.tpl_alt" }
+ { item: "bundle.Prado.snippet.tpl_header" }
+ { item: "bundle.Prado.snippet.tpl_footer" }
+ { item: "bundle.Prado.snippet.tpl_empty" }
+ ------------------------------------
+ { item: "bundle.Prado.snippet.tpl_start" }
+ { item: "bundle.Prado.snippet.tpl_step" }
+ { item: "bundle.Prado.snippet.tpl_finish" }
+ { item: "bundle.Prado.snippet.tpl_side" }
+ ------------------------------------
+ { item: "bundle.Prado.snippet.tpl_sep" }
+ { item: "bundle.Prado.snippet.tpl_edit" }
+ { item: "bundle.Prado.snippet.tpl_select" }
+ ]
+ }
+ ------------------------------------
+ { item: "bundle.Prado.snippet.content" }
+ { item: "bundle.Prado.snippet.holder_content" }
+ { item: "bundle.Prado.snippet.holder" }
+ ------------------------------------
+ { item: "bundle.Prado.snippet.multi" }
+ { item: "bundle.Prado.snippet.view" }
+ ------------------------------------
+ { item: "bundle.Prado.snippet.wizard" }
+ { item: "bundle.Prado.snippet.step" }
+ ------------------------------------
+ { item: "bundle.Prado.snippet.panel" }
+ { item: "bundle.Prado.snippet.panel_tab" }
+ { item: "bundle.Prado.snippet.tab" }
+ ------------------------------------
+ { item: "bundle.Prado.snippet.cache" }
+ ]
+ }
+ {
+ title: 'Javascript'
+ menu:
+ [
+ { item: "bundle.Prado.snippet.js" }
+ { item: "bundle.Prado.snippet.js_url" }
+ { item: "bundle.Prado.snippet.js_prado" }
+ { item: "bundle.Prado.snippet.js_loader" }
+ { item: "bundle.Prado.snippet.js_loader" }
+ { item: "bundle.Prado.snippet.jslog" }
+ ]
+ }
+ {
+ title: 'Validators'
+ menu:
+ [
+ { item: "bundle.Prado.snippet.val_captcha" }
+ { item: "bundle.Prado.snippet.val_compare1" }
+ { item: "bundle.Prado.snippet.val_compare2" }
+ { item: "bundle.Prado.snippet.val_custom" }
+ { item: "bundle.Prado.snippet.val_data_type" }
+ { item: "bundle.Prado.snippet.val_email" }
+ { item: "bundle.Prado.snippet.val_list" }
+ { item: "bundle.Prado.snippet.val_range" }
+ { item: "bundle.Prado.snippet.val_regexp" }
+ { item: "bundle.Prado.snippet.val_required" }
+ ]
+ }
+ {
+ title: 'List Controls'
+ menu:
+ [
+ { item: "bundle.Prado.snippet.list" }
+ { item: "bundle.Prado.snippet.list.txt" }
+ { item: "bundle.Prado.snippet.list_bullet" }
+ { item: "bundle.Prado.snippet.list_check" }
+ { item: "bundle.Prado.snippet.list_dropdown" }
+ { item: "bundle.Prado.snippet.list_radio" }
+ { item: "bundle.Prado.snippet.item" }
+ ]
+ }
+ {
+ title: 'Data Controls'
+ menu:
+ [
+ { item: "bundle.Prado.snippet.repeater" }
+ { item: "bundle.Prado.snippet.datalist" }
+ { item: "bundle.Prado.snippet.grid" }
+ { item: "bundle.Prado.snippet.pager" }
+ ------------------------------------
+ { item: "bundle.Prado.snippet.col_tpl" }
+ { item: "bundle.Prado.snippet.col_bound" }
+ { item: "bundle.Prado.snippet.col_button" }
+ { item: "bundle.Prado.snippet.col_checkbox" }
+ { item: "bundle.Prado.snippet.col_dropdown" }
+ { item: "bundle.Prado.snippet.col_dropdown2" }
+ { item: "bundle.Prado.snippet.col_edit" }
+ { item: "bundle.Prado.snippet.col_link" }
+ { item: "bundle.Prado.snippet.col_literal" }
+ ]
+ }
+ {
+ title: 'Expressions'
+ menu:
+ [
+ { item: "bundle.Prado.snippet.exp_eq" }
+ { item: "bundle.Prado.snippet.exp_asset" }
+ { item: "bundle.Prado.snippet.exp_param" }
+ { item: "bundle.Prado.snippet.exp_bind" }
+ { item: "bundle.Prado.snippet.exp_localize" }
+ { item: "bundle.Prado.snippet.exp_directive" }
+ { item: "bundle.Prado.snippet.exp_code" }
+ ------------------------------------
+ { item: "bundle.Prado.snippet.comment" }
+ ]
+ }
+ ]
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/button.itSnippet b/editors/InType/Prado.itBundle/snippets/button.itSnippet
new file mode 100644
index 00000000..6a681fd3
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/button.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Click Button'
+ tab_trigger: 'button'
+ scope: 'text.html.prado'
+ content: '<com:TButton${1: ID="${2:button}"}
+ Text="${3:button}"
+ OnClick="${4:$2_Clicked}"/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/button_image.itSnippet b/editors/InType/Prado.itBundle/snippets/button_image.itSnippet
new file mode 100644
index 00000000..18d1d495
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/button_image.itSnippet
@@ -0,0 +1,9 @@
+{
+ title: 'Image Button'
+ tab_trigger: 'button'
+ scope: 'text.html.prado'
+ content: '<com:TImageButton${1: ID="${2:button}"}
+ ImageUrl="${3:image}"${4:
+ Text="${5:button}"}
+ OnClick="${6:$2_Clicked}"/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/button_link.itSnippet b/editors/InType/Prado.itBundle/snippets/button_link.itSnippet
new file mode 100644
index 00000000..338af895
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/button_link.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Link Button'
+ tab_trigger: 'button'
+ scope: 'text.html.prado'
+ content: '<com:TLinkButton${1: ID="${2:button}"}
+ Text="${3:link button}"
+ OnClick="${4:$2_Clicked}"/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/cache.itSnippet b/editors/InType/Prado.itBundle/snippets/cache.itSnippet
new file mode 100644
index 00000000..83ccd59a
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/cache.itSnippet
@@ -0,0 +1,11 @@
+{
+ title: 'Output Cache'
+ tab_trigger: 'cache'
+ scope: 'text.html.prado'
+ content: '<com:TOutputCache${1: ID="${2:cache}"}${3:
+ Duration="${4:60}"}${5:
+ VaryByParam="${6:param}"}${7:
+ OnCheckDependency="${8:$2_CheckDependency}"}>
+ $0
+</com:TOutputCache>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/captcha.itSnippet b/editors/InType/Prado.itBundle/snippets/captcha.itSnippet
new file mode 100644
index 00000000..2a5b1f97
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/captcha.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'CAPTCHA'
+ tab_trigger: 'captcha'
+ scope: 'text.html.prado'
+ content: '<com:TCaptcha${1: ID="${2:captcha}"}${3: TokenImageTheme ="${4:24}"}/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/check.itSnippet b/editors/InType/Prado.itBundle/snippets/check.itSnippet
new file mode 100644
index 00000000..3f032f9b
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/check.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'CheckBox'
+ tab_trigger: 'check'
+ scope: 'text.html.prado'
+ content: '<com:TCheckBox${1: ID="${2:check}"}${3: Text="${4:text}"}/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/col_bound.itSnippet b/editors/InType/Prado.itBundle/snippets/col_bound.itSnippet
new file mode 100644
index 00000000..ea6d0e15
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/col_bound.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Bound Column'
+ tab_trigger: 'col'
+ scope: 'text.html.prado'
+ content: '<com:TBoundColumn${1: ID="${2:column}"}
+ HeaderText="${3:$2 header}"
+ DataField="${4:field}"/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/col_button.itSnippet b/editors/InType/Prado.itBundle/snippets/col_button.itSnippet
new file mode 100644
index 00000000..6fcfbfb7
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/col_button.itSnippet
@@ -0,0 +1,9 @@
+{
+ title: 'Button Column'
+ tab_trigger: 'col'
+ scope: 'text.html.prado'
+ content: '<com:TButtonColumn${1: ID="${2:column}"}
+ HeaderText="${3:$2 header}"
+ DataTextField="${4:field}"${5:
+ CommandName="${6:command}"/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/col_checkbox.itSnippet b/editors/InType/Prado.itBundle/snippets/col_checkbox.itSnippet
new file mode 100644
index 00000000..8a779080
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/col_checkbox.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'CheckBox Column'
+ tab_trigger: 'col'
+ scope: 'text.html.prado'
+ content: '<com:TCheckBoxColumn${1: ID="${2:column}"}
+ HeaderText="${3:$2 header}"
+ DataField="${4:field}"/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/col_dropdown.itSnippet b/editors/InType/Prado.itBundle/snippets/col_dropdown.itSnippet
new file mode 100644
index 00000000..e77c0958
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/col_dropdown.itSnippet
@@ -0,0 +1,12 @@
+{
+ title: 'DropDown Column (source)'
+ tab_trigger: 'col'
+ scope: 'text.html.prado'
+ content: '<com:TDropDownListColumn${1: ID="${2:column}"}
+ HeaderText="${3:$2 header}"
+ DataTextField="${4:text field}"
+ DataValueField="${6:value field}"
+ ListDataSource="${7:source field}"
+ ListTextField="${8:list text field}"
+ ListValueField="${9:list value field}"/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/col_dropdown2.itSnippet b/editors/InType/Prado.itBundle/snippets/col_dropdown2.itSnippet
new file mode 100644
index 00000000..96c19ed9
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/col_dropdown2.itSnippet
@@ -0,0 +1,11 @@
+{
+ title: 'DropDown Column (items)'
+ tab_trigger: 'col'
+ scope: 'text.html.prado'
+ content: '<com:TDropDownListColumn${1: ID="${2:column}"}
+ HeaderText="${3:$2 header}"
+ DataTextField="${4:text field}"
+ DataValueField="${6:value field}">
+ <com:TListItem Value="${7:value}" Text="${8:text}" />$0
+</com:TDropDownListColumn>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/col_edit.itSnippet b/editors/InType/Prado.itBundle/snippets/col_edit.itSnippet
new file mode 100644
index 00000000..3fa0dbcd
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/col_edit.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'Edit Column'
+ tab_trigger: 'col'
+ scope: 'text.html.prado'
+ content: '<com:TEditCommandColumn${1: ButtonType="${2:PushButton}"/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/col_link.itSnippet b/editors/InType/Prado.itBundle/snippets/col_link.itSnippet
new file mode 100644
index 00000000..62209be2
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/col_link.itSnippet
@@ -0,0 +1,10 @@
+{
+ title: 'HyperLink Column'
+ tab_trigger: 'col'
+ scope: 'text.html.prado'
+ content: '<com:THyperLinkColumn${1: ID="${2:column}"}
+ DataTextField="${3:text field}"${4:
+ DataTextFormatString="${5:format}"}
+ DataNavigateUrlField="${6:url field}"${7:
+ DataNavigateUrlFormatString="${8:format}"}/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/col_literal.itSnippet b/editors/InType/Prado.itBundle/snippets/col_literal.itSnippet
new file mode 100644
index 00000000..3064837c
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/col_literal.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Literal Column'
+ tab_trigger: 'col'
+ scope: 'text.html.prado'
+ content: '<com:TLiteralColumn${1: ID="${2:column}"}
+ DataField="${3:text field}"${4:
+ DataFormatString="${5:format}"}/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/col_tpl.itSnippet b/editors/InType/Prado.itBundle/snippets/col_tpl.itSnippet
new file mode 100644
index 00000000..6b5cd979
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/col_tpl.itSnippet
@@ -0,0 +1,11 @@
+{
+ title: 'Template Column'
+ tab_trigger: 'col'
+ scope: 'text.html.prado'
+ content: '<com:TTemplateColumn${1: ID="${2:column}"}>
+ <prop:HeaderTemplate>${3:$2 header}</prop:HeaderTemplate>
+ <prop:ItemTemplate>
+ ${4:<!-- content for column $2 -->}
+ </prop:ItemTemplate>
+</com:TTemplateColumn>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/color.itSnippet b/editors/InType/Prado.itBundle/snippets/color.itSnippet
new file mode 100644
index 00000000..eb30aa9f
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/color.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'Color Picker'
+ tab_trigger: 'color'
+ scope: 'text.html.prado'
+ content: '<com:TColorPicker${1: ID="${2:color}"}${3: Mode="${4:Full}"}/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/comment.itSnippet b/editors/InType/Prado.itBundle/snippets/comment.itSnippet
new file mode 100644
index 00000000..18e0dfab
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/comment.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Comment (server)'
+ tab_trigger: '---'
+ scope: 'text.html.prado'
+ content: '<!---
+${0:$SELECTED_TEXT}
+--->'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/content.itSnippet b/editors/InType/Prado.itBundle/snippets/content.itSnippet
new file mode 100644
index 00000000..c9fa6e0f
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/content.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Content'
+ tab_trigger: 'content'
+ scope: 'text.html.prado'
+ content: '<com:TContent ID="${1:content}">
+ $0
+</com:TContent>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/datalist.itSnippet b/editors/InType/Prado.itBundle/snippets/datalist.itSnippet
new file mode 100644
index 00000000..b1930839
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/datalist.itSnippet
@@ -0,0 +1,16 @@
+{
+ title: 'Data List'
+ tab_trigger: 'datalist'
+ scope: 'text.html.prado'
+ content: '<com:TDataList ID="${1:datalist}"${2:
+ DataKeyField="${3:id}"}${4:
+ OnEditCommand="${5:$1_OnEdit}"}${6:
+ OnCancelCommand="${7:$1_OnCancel}"}${8:
+ OnUpdateCommand="${9:$1_OnUpdate}"}${10:
+ OnDeleteCommand="${11:$1_OnDelete}"}${12:
+ OnSelectedIndexChanged="${13:$1_OnSelect}"}>
+ ${14:<prop:ItemTemplate>
+ $0
+ </prop:ItemTemplate>}
+</com:TDataList>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/date.itSnippet b/editors/InType/Prado.itBundle/snippets/date.itSnippet
new file mode 100644
index 00000000..79c151c2
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/date.itSnippet
@@ -0,0 +1,9 @@
+{
+ title: 'Date Picker'
+ tab_trigger: 'date'
+ scope: 'text.html.prado'
+ content: '<com:TDatePicker${1: ID="${2:date}"}
+ DateFormat="${3:yyyy-MM-dd}"${4:
+ Mode="${5:ImageButton}"}${6:
+ InputMode="${7:DropDownList}"}/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/exp_asset.itSnippet b/editors/InType/Prado.itBundle/snippets/exp_asset.itSnippet
new file mode 100644
index 00000000..ab54b6d1
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/exp_asset.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'Asset Tag'
+ tab_trigger: '~'
+ scope: 'text.html.prado'
+ content: '<%~ ${0:$SELECTED_TEXT} %>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/exp_bind.itSnippet b/editors/InType/Prado.itBundle/snippets/exp_bind.itSnippet
new file mode 100644
index 00000000..50339717
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/exp_bind.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'Data Bind Tag'
+ tab_trigger: '#'
+ scope: 'text.html.prado'
+ content: '<%# ${0:$SELECTED_TEXT} %>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/exp_code.itSnippet b/editors/InType/Prado.itBundle/snippets/exp_code.itSnippet
new file mode 100644
index 00000000..72d4a1cd
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/exp_code.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'Code Block Tag'
+ tab_trigger: '%'
+ scope: 'text.html.prado'
+ content: '<%% ${0:$SELECTED_TEXT} %>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/exp_directive.itSnippet b/editors/InType/Prado.itBundle/snippets/exp_directive.itSnippet
new file mode 100644
index 00000000..22ab0029
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/exp_directive.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'Directive Tag'
+ tab_trigger: '@'
+ scope: 'text.html.prado'
+ content: '<%@ ${0:$SELECTED_TEXT} %>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/exp_eq.itSnippet b/editors/InType/Prado.itBundle/snippets/exp_eq.itSnippet
new file mode 100644
index 00000000..19484d5d
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/exp_eq.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'Expression Tag'
+ tab_trigger: '='
+ scope: 'text.html.prado'
+ content: '<%= ${0:$SELECTED_TEXT} %>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/exp_localize.itSnippet b/editors/InType/Prado.itBundle/snippets/exp_localize.itSnippet
new file mode 100644
index 00000000..c65ba3ae
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/exp_localize.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'Localization Tag'
+ tab_trigger: '['
+ scope: 'text.html.prado'
+ content: '<%[ ${0:$SELECTED_TEXT} ]%>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/exp_param.itSnippet b/editors/InType/Prado.itBundle/snippets/exp_param.itSnippet
new file mode 100644
index 00000000..5bfa9109
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/exp_param.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'Parameter Tag'
+ tab_trigger: '$'
+ scope: 'text.html.prado'
+ content: '<%$ ${0:$SELECTED_TEXT} %>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/form.itSnippet b/editors/InType/Prado.itBundle/snippets/form.itSnippet
new file mode 100644
index 00000000..c17d64eb
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/form.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Form'
+ tab_trigger: 'form'
+ scope: 'text.html.prado'
+ content: '<com:TForm${1: ID="${2:form}"}>
+ $0
+</com:TForm>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/grid.itSnippet b/editors/InType/Prado.itBundle/snippets/grid.itSnippet
new file mode 100644
index 00000000..7f2bd7dc
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/grid.itSnippet
@@ -0,0 +1,17 @@
+{
+ title: 'Data Grid'
+ tab_trigger: 'grid'
+ scope: 'text.html.prado'
+ content: '<com:TDataGrid ID="${1:datalist}"${2:
+ DataKeyField="${3:id}"}
+ AutoGenerateColumns="${4:false}"
+ AllowSorting="${5:false}"
+ AllowPaging="${6:false}"
+ OnItemCreated="${7:$1_OnItemCreated}"
+ OnEditCommand="${8:$1_OnEdit}"
+ OnCancelCommand="${9:$1_OnCancel}"
+ OnUpdateCommand="${10:$1_OnUpdate}"
+ OnDeleteCommand="${11:$1_OnDelete}">
+ $0
+</com:TDataGrid>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/head.itSnippet b/editors/InType/Prado.itBundle/snippets/head.itSnippet
new file mode 100644
index 00000000..2a65fc13
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/head.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Head'
+ tab_trigger: 'head'
+ scope: 'text.html.prado'
+ content: '<com:THead${1: Title="${2:title}"}>
+ $0
+</com:THead>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/hidden.itSnippet b/editors/InType/Prado.itBundle/snippets/hidden.itSnippet
new file mode 100644
index 00000000..5d116ad5
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/hidden.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'Hidden'
+ tab_trigger: 'hidden'
+ scope: 'text.html.prado'
+ content: '<com:THiddenField${1: ID="${2:hidden}"}/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/holder.itSnippet b/editors/InType/Prado.itBundle/snippets/holder.itSnippet
new file mode 100644
index 00000000..287c1c08
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/holder.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'Place Holder'
+ tab_trigger: 'holder'
+ scope: 'text.html.prado'
+ content: '<com:TPlaceHolder ID="${1:holder}" />$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/holder_content.itSnippet b/editors/InType/Prado.itBundle/snippets/holder_content.itSnippet
new file mode 100644
index 00000000..647ce69a
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/holder_content.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'Content Holder'
+ tab_trigger: 'holder'
+ scope: 'text.html.prado'
+ content: '<com:TContentPlaceHolder ID="${1:content}" />$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/image.itSnippet b/editors/InType/Prado.itBundle/snippets/image.itSnippet
new file mode 100644
index 00000000..6925d0ad
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/image.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Image'
+ tab_trigger: 'image'
+ scope: 'text.html.prado'
+ content: '<com:TImage${1: ID="${2:image}"}
+ ImageUrl="${1:image}"
+ AlternateText="${2:text}"/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/item.itSnippet b/editors/InType/Prado.itBundle/snippets/item.itSnippet
new file mode 100644
index 00000000..ebf19642
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/item.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'List Item'
+ tab_trigger: 'item'
+ scope: 'text.html.prado'
+ content: '<com:TListItem Value="${1:value}"${2: Text="${3:text}"}/>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/js.itSnippet b/editors/InType/Prado.itBundle/snippets/js.itSnippet
new file mode 100644
index 00000000..25bfbede
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/js.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Script (block)'
+ tab_trigger: 'js'
+ scope: 'text.html.prado'
+ content: '<com:TClientScript${1: ID="${2:script}"}>
+ $0
+</com:TClientScript>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/js_loader.itSnippet b/editors/InType/Prado.itBundle/snippets/js_loader.itSnippet
new file mode 100644
index 00000000..2b6c32b5
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/js_loader.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Script Loader'
+ tab_trigger: 'js'
+ scope: 'text.html.prado'
+ content: '<com:TClientScriptLoader
+ PackagePath="${1:mylib}"${2:
+ PackageScripts="${3:package}"}/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/js_prado.itSnippet b/editors/InType/Prado.itBundle/snippets/js_prado.itSnippet
new file mode 100644
index 00000000..1cef82e5
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/js_prado.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'Script (prado)'
+ tab_trigger: 'js'
+ scope: 'text.html.prado'
+ content: '<com:TClientScript PradoScripts="${1:prado}" />$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/js_url.itSnippet b/editors/InType/Prado.itBundle/snippets/js_url.itSnippet
new file mode 100644
index 00000000..e7d97b6a
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/js_url.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'Script (url)'
+ tab_trigger: 'js'
+ scope: 'text.html.prado'
+ content: '<com:TClientScript ScriptUrl="${1:url}" />$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/jslog.itSnippet b/editors/InType/Prado.itBundle/snippets/jslog.itSnippet
new file mode 100644
index 00000000..eb4023bd
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/jslog.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'Javascript Logger'
+ tab_trigger: 'jslog'
+ scope: 'text.html.prado'
+ content: '<com:TJavascriptLogger${1: ToggleKey="${2:j}"}/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/key.itSnippet b/editors/InType/Prado.itBundle/snippets/key.itSnippet
new file mode 100644
index 00000000..8dfca4ab
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/key.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'Virtual Keyboard'
+ tab_trigger: 'key'
+ scope: 'text.html.prado'
+ content: '<com:TKeyboard ForControl="${1:controlID}"/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/label.itSnippet b/editors/InType/Prado.itBundle/snippets/label.itSnippet
new file mode 100644
index 00000000..b26e64d4
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/label.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'Label (control)'
+ tab_trigger: 'label'
+ scope: 'text.html.prado'
+ content: '<com:TLabel Text="${1:label}"${2: ForControl="${3:controlID}"}/>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/label_text.itSnippet b/editors/InType/Prado.itBundle/snippets/label_text.itSnippet
new file mode 100644
index 00000000..a9a4e0e1
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/label_text.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'Label'
+ tab_trigger: 'label'
+ scope: 'text.html.prado'
+ content: '<com:TLabel${1: ID="${label}"} Text="${3:label}"/>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/link.itSnippet b/editors/InType/Prado.itBundle/snippets/link.itSnippet
new file mode 100644
index 00000000..fc1d8fb2
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/link.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Hyper Link (url)'
+ tab_trigger: 'link'
+ scope: 'text.html.prado'
+ content: '<com:THyperLink${1: ID="${2:link}"}
+ NavigateUrl="${3:url}"
+ Text="${4:text}"/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/link_block.itSnippet b/editors/InType/Prado.itBundle/snippets/link_block.itSnippet
new file mode 100644
index 00000000..e19fa250
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/link_block.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Hyper Link (block)'
+ tab_trigger: 'link'
+ scope: 'text.html.prado'
+ content: '<com:THyperLink${1: ID="${2:link}"} NavigateUrl="${3:url}">
+ $0
+</com:THyperLink>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/link_image.itSnippet b/editors/InType/Prado.itBundle/snippets/link_image.itSnippet
new file mode 100644
index 00000000..809152d5
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/link_image.itSnippet
@@ -0,0 +1,9 @@
+{
+ title: 'Hyper Link (image)'
+ tab_trigger: 'link'
+ scope: 'text.html.prado'
+ content: '<com:THyperLink${1: ID="${2:link}"}
+ NavigateUrl="${3:url}"
+ ImageUrl="${4:image}"
+ Text="${5:$4}"/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/list.itSnippet b/editors/InType/Prado.itBundle/snippets/list.itSnippet
new file mode 100644
index 00000000..b30e45d2
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/list.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'List Box'
+ tab_trigger: 'list'
+ scope: 'text.html.prado'
+ content: '<com:TListBox${1: ID="${2:list}"}${3: SelectionMode="${4:Multiple}"}>
+ $0
+</com:TListBox>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/list.txt b/editors/InType/Prado.itBundle/snippets/list.txt
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/list.txt
diff --git a/editors/InType/Prado.itBundle/snippets/list_bullet.itSnippet b/editors/InType/Prado.itBundle/snippets/list_bullet.itSnippet
new file mode 100644
index 00000000..bbdb041a
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/list_bullet.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Bullet List'
+ tab_trigger: 'list'
+ scope: 'text.html.prado'
+ content: '<com:TBulletedList${1: ID="${2:bullet}"}${3: DisplayMode="${4:HyperLink}"}>
+ $0
+</com:TBulletedList>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/list_check.itSnippet b/editors/InType/Prado.itBundle/snippets/list_check.itSnippet
new file mode 100644
index 00000000..ed46b7a3
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/list_check.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Check Button List'
+ tab_trigger: 'list'
+ scope: 'text.html.prado'
+ content: '<com:TCheckButtonList${1: ID="${2:checklist}"}>
+ $0
+</com:TCheckButtonList>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/list_dropdown.itSnippet b/editors/InType/Prado.itBundle/snippets/list_dropdown.itSnippet
new file mode 100644
index 00000000..57d7fa38
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/list_dropdown.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Drop Down List'
+ tab_trigger: 'list'
+ scope: 'text.html.prado'
+ content: '<com:TDropDownList${1: ID="${2:dropdown}"}>
+ $0
+</com:TDropDownList>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/list_radio.itSnippet b/editors/InType/Prado.itBundle/snippets/list_radio.itSnippet
new file mode 100644
index 00000000..063897f0
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/list_radio.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Radio Button List'
+ tab_trigger: 'list'
+ scope: 'text.html.prado'
+ content: '<com:TRadioButtonList${1: ID="${2:radiolist}"}>
+ $0
+</com:TRadioButtonList>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/multi.itSnippet b/editors/InType/Prado.itBundle/snippets/multi.itSnippet
new file mode 100644
index 00000000..5c723985
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/multi.itSnippet
@@ -0,0 +1,10 @@
+{
+ title: 'Multi-View'
+ tab_trigger: 'multi'
+ scope: 'text.html.prado'
+ content: '<com:TMultiView${1: ID="${2:multi}"}${3: ActiveViewIndex="${4:0}"}>
+ <com:TView ID="${5:view}">
+ $0
+ </com:TView>
+</com:TMultiView>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/pager.itSnippet b/editors/InType/Prado.itBundle/snippets/pager.itSnippet
new file mode 100644
index 00000000..b3f20353
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/pager.itSnippet
@@ -0,0 +1,9 @@
+{
+ title: 'Pager'
+ tab_trigger: 'pager'
+ scope: 'text.html.prado'
+ content: '<com:TPager${1: ID="${2:pager}"}
+ ControlToPaginate="${3:controlID}"
+ OnPageIndexChanged="${4:$2_IndexChanged}"${5:
+ Mode="${6:Numeric}"}/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/panel.itSnippet b/editors/InType/Prado.itBundle/snippets/panel.itSnippet
new file mode 100644
index 00000000..acf1ca2c
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/panel.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Panel'
+ tab_trigger: 'panel'
+ scope: 'text.html.prado'
+ content: '<com:TPanel>
+ $0
+</com:TPanel>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/panel_tab.itSnippet b/editors/InType/Prado.itBundle/snippets/panel_tab.itSnippet
new file mode 100644
index 00000000..29bdb4c8
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/panel_tab.itSnippet
@@ -0,0 +1,10 @@
+{
+ title: 'Tab Panel'
+ tab_trigger: 'panel'
+ scope: 'text.html.prado'
+ content: '<com:TTabPanel${1: ID="${2:panel}"}${3: ActiveViewIndex="${4:0}"}>
+ <com:TTabView Caption="${5:tab}">
+ <!-- content for $5 -->
+ </com:TTabView>$0
+</com:TTabPanel>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/pass.itSnippet b/editors/InType/Prado.itBundle/snippets/pass.itSnippet
new file mode 100644
index 00000000..38957e8d
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/pass.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'Password TextBox'
+ tab_trigger: 'pass'
+ scope: 'text.html.prado'
+ content: '<com:TTextBox${1: ID="${2:text}"} TextMode="Password"/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/radio.itSnippet b/editors/InType/Prado.itBundle/snippets/radio.itSnippet
new file mode 100644
index 00000000..a40d7b4f
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/radio.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'RadioButton'
+ tab_trigger: 'radio'
+ scope: 'text.html.prado'
+ content: '<com:TRadioButton${1: ID="${2:radio}"} GroupName="${3:group}"${4: Text="${5:text}"}/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/repeater.itSnippet b/editors/InType/Prado.itBundle/snippets/repeater.itSnippet
new file mode 100644
index 00000000..2a9da94c
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/repeater.itSnippet
@@ -0,0 +1,10 @@
+{
+ title: 'Repeater'
+ tab_trigger: 'repeater'
+ scope: 'text.html.prado'
+ content: '<com:TRepeater ID="${1:repeater}">
+ ${2:<prop:ItemTemplate>
+ $0
+ </prop:ItemTemplate>}
+</com:TRepeater>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/step.itSnippet b/editors/InType/Prado.itBundle/snippets/step.itSnippet
new file mode 100644
index 00000000..4a482ea8
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/step.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Wizard Step'
+ tab_trigger: 'step'
+ scope: 'text.html.prado'
+ content: '<com:TWizardStep Title="${1:step}" StepType="${2:Start}">
+ $0
+</com:TWizardStep>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/tab.itSnippet b/editors/InType/Prado.itBundle/snippets/tab.itSnippet
new file mode 100644
index 00000000..5d8bd9b2
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/tab.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Tab'
+ tab_trigger: 'tab'
+ scope: 'text.html.prado'
+ content: '<com:TTabView Caption="${1:tab}">
+ $0
+</com:TTabView>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/text.itSnippet b/editors/InType/Prado.itBundle/snippets/text.itSnippet
new file mode 100644
index 00000000..113509b2
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/text.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'TextBox'
+ tab_trigger: 'text'
+ scope: 'text.html.prado'
+ content: '<com:TTextBox${1: ID="${2:text}"}${3: Text="${4:text}"}/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/text_html.itSnippet b/editors/InType/Prado.itBundle/snippets/text_html.itSnippet
new file mode 100644
index 00000000..aac68504
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/text_html.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'HTML TextBox'
+ tab_trigger: 'text'
+ scope: 'text.html.prado'
+ content: '<com:THtmlArea${1: ID="${2:text}"}${3: Text="${4:text}"}/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/text_multiline.itSnippet b/editors/InType/Prado.itBundle/snippets/text_multiline.itSnippet
new file mode 100644
index 00000000..0a977f4a
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/text_multiline.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Multiple Line TextBox'
+ tab_trigger: 'text'
+ scope: 'text.html.prado'
+ content: '<com:TTextBox${1: ID="${2:text}"}${3:
+ Text="${4:text}"}
+ TextMode="MultiLine"/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/tpl.itSnippet b/editors/InType/Prado.itBundle/snippets/tpl.itSnippet
new file mode 100644
index 00000000..a9b3abcf
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/tpl.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Template Property'
+ tab_trigger: 'tpl'
+ scope: 'text.html.prado'
+ content: '<prop:${1:Item}Template>
+ $0
+</prop:$1Template>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/tpl_alt.itSnippet b/editors/InType/Prado.itBundle/snippets/tpl_alt.itSnippet
new file mode 100644
index 00000000..0cd152b0
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/tpl_alt.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Alt Item Template'
+ tab_trigger: 'tpl'
+ scope: 'text.html.prado'
+ content: '<prop:AlternatingItemTemplate>
+ $0
+</prop:AlternatingItemTemplate>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/tpl_edit.itSnippet b/editors/InType/Prado.itBundle/snippets/tpl_edit.itSnippet
new file mode 100644
index 00000000..6f890be3
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/tpl_edit.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Edit Item'
+ tab_trigger: 'tpl'
+ scope: 'text.html.prado'
+ content: '<prop:EditItemTemplate>
+ $0
+</prop:EditItemTemplate>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/tpl_empty.itSnippet b/editors/InType/Prado.itBundle/snippets/tpl_empty.itSnippet
new file mode 100644
index 00000000..ed3f695c
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/tpl_empty.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Empty'
+ tab_trigger: 'tpl'
+ scope: 'text.html.prado'
+ content: '<prop:EmptyTemplate>
+ $0
+</prop:EmptyTemplate>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/tpl_finish.itSnippet b/editors/InType/Prado.itBundle/snippets/tpl_finish.itSnippet
new file mode 100644
index 00000000..56cf2670
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/tpl_finish.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Wizard Finish'
+ tab_trigger: 'tpl'
+ scope: 'text.html.prado'
+ content: '<prop:FinishNavigationTemplate>
+ $0
+</prop:FinishNavigationTemplate>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/tpl_footer.itSnippet b/editors/InType/Prado.itBundle/snippets/tpl_footer.itSnippet
new file mode 100644
index 00000000..d5915064
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/tpl_footer.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Footer'
+ tab_trigger: 'tpl'
+ scope: 'text.html.prado'
+ content: '<prop:FooterTemplate>
+ $0
+</prop:FooterTemplate>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/tpl_header.itSnippet b/editors/InType/Prado.itBundle/snippets/tpl_header.itSnippet
new file mode 100644
index 00000000..ab42f1a4
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/tpl_header.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Header'
+ tab_trigger: 'tpl'
+ scope: 'text.html.prado'
+ content: '<prop:HeaderTemplate>
+ $0
+</prop:HeaderTemplate>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/tpl_select.itSnippet b/editors/InType/Prado.itBundle/snippets/tpl_select.itSnippet
new file mode 100644
index 00000000..7365aaab
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/tpl_select.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Selected'
+ tab_trigger: 'tpl'
+ scope: 'text.html.prado'
+ content: '<prop:SelectedItemTemplate>
+ $0
+</prop:SelectedItemTemplate>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/tpl_sep.itSnippet b/editors/InType/Prado.itBundle/snippets/tpl_sep.itSnippet
new file mode 100644
index 00000000..29bc5f1c
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/tpl_sep.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Separator'
+ tab_trigger: 'tpl'
+ scope: 'text.html.prado'
+ content: '<prop:SeparatorTemplate>
+ $0
+</prop:SeparatorTemplate>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/tpl_side.itSnippet b/editors/InType/Prado.itBundle/snippets/tpl_side.itSnippet
new file mode 100644
index 00000000..48c8ac4a
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/tpl_side.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Wizard Side Bar'
+ tab_trigger: 'tpl'
+ scope: 'text.html.prado'
+ content: '<prop:SideBarTemplate>
+ $0
+</prop:SideBarTemplate>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/tpl_start.itSnippet b/editors/InType/Prado.itBundle/snippets/tpl_start.itSnippet
new file mode 100644
index 00000000..6d75a24c
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/tpl_start.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Wizard Start'
+ tab_trigger: 'tpl'
+ scope: 'text.html.prado'
+ content: '<prop:StartNavigationTemplate>
+ $0
+</prop:StartNavigationTemplate>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/tpl_step.itSnippet b/editors/InType/Prado.itBundle/snippets/tpl_step.itSnippet
new file mode 100644
index 00000000..83e25ba6
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/tpl_step.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'Wizard Step'
+ tab_trigger: 'tpl'
+ scope: 'text.html.prado'
+ content: '<prop:StepNavigationTemplate>
+ $0
+</prop:StepNavigationTemplate>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/upload.itSnippet b/editors/InType/Prado.itBundle/snippets/upload.itSnippet
new file mode 100644
index 00000000..4f55dc0b
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/upload.itSnippet
@@ -0,0 +1,6 @@
+{
+ title: 'File Upload'
+ tab_trigger: 'upload'
+ scope: 'text.html.prado'
+ content: '<com:TFileUpload${1: ID="${2:file}"} OnFileUpload="${3:$2_OnFileUploaded}"/>$0'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/val_captcha.itSnippet b/editors/InType/Prado.itBundle/snippets/val_captcha.itSnippet
new file mode 100644
index 00000000..88d5c5ea
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/val_captcha.itSnippet
@@ -0,0 +1,10 @@
+{
+ title: 'Captcha Validator'
+ tab_trigger: 'val'
+ scope: 'text.html.prado'
+ content: '<com:TCaptchaValidator${1: ID="${2:val}"}
+ ControlToValidate="${3:controlID}"
+ CaptchaControl="${4:anotherControl}"
+ ErrorMessage="${7:error}"${8:
+ Display="${9:Dynamic}"}/>$0'
+}
diff --git a/editors/InType/Prado.itBundle/snippets/val_compare1.itSnippet b/editors/InType/Prado.itBundle/snippets/val_compare1.itSnippet
new file mode 100644
index 00000000..a913f7df
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/val_compare1.itSnippet
@@ -0,0 +1,12 @@
+{
+ title: 'Compare Validator (value)'
+ tab_trigger: 'val'
+ scope: 'text.html.prado'
+ content: '<com:TCompareValidator${1: ID="${2:val}"}
+ ControlToValidate="${3:controlID}"
+ DataType="${4:Integer}"
+ ValueToCompare="${5:0}"
+ Operator="${6:Equal}"
+ ErrorMessage="${7:error}"${8:
+ Display="${9:Dynamic}"}/>$0'
+}
diff --git a/editors/InType/Prado.itBundle/snippets/val_compare2.itSnippet b/editors/InType/Prado.itBundle/snippets/val_compare2.itSnippet
new file mode 100644
index 00000000..14c79799
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/val_compare2.itSnippet
@@ -0,0 +1,12 @@
+{
+ title: 'Compare Validator (control)'
+ tab_trigger: 'val'
+ scope: 'text.html.prado'
+ content: '<com:TCompareValidator${1: ID="${2:val}"}
+ ControlToValidate="${3:controlID}"
+ ControlToCompare="${4:anotherControl}"
+ DataType="${5:Integer}"
+ Operator="${6:Equal}"
+ ErrorMessage="${7:error}"${8:
+ Display="${9:Dynamic}"}/>$0'
+}
diff --git a/editors/InType/Prado.itBundle/snippets/val_custom.itSnippet b/editors/InType/Prado.itBundle/snippets/val_custom.itSnippet
new file mode 100644
index 00000000..5f6ecbce
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/val_custom.itSnippet
@@ -0,0 +1,11 @@
+{
+ title: 'Custom Validator'
+ tab_trigger: 'val'
+ scope: 'text.html.prado'
+ content: '<com:TCustomValidator${1: ID="${2:val}"}
+ ControlToValidate="${3:controlID}"
+ OnServerValidate="${4:Validate_$2}"${5:
+ ClientValidationFunction="${6:validate_$2}"}
+ ErrorMessage="${7:error}"${8:
+ Display="${9:Dynamic}"}/>$0'
+}
diff --git a/editors/InType/Prado.itBundle/snippets/val_data_type.itSnippet b/editors/InType/Prado.itBundle/snippets/val_data_type.itSnippet
new file mode 100644
index 00000000..330c3502
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/val_data_type.itSnippet
@@ -0,0 +1,10 @@
+{
+ title: 'Data Type Validator'
+ tab_trigger: 'val'
+ scope: 'text.html.prado'
+ content: '<com:TDataTypeValidator${1: ID="${2:val}"}
+ ControlToValidate="${3:controlID}"
+ DataType="${4:Integer}"
+ ErrorMessage="${5:error}"${6:
+ Display="${7:Dynamic}"}/>$0'
+}
diff --git a/editors/InType/Prado.itBundle/snippets/val_email.itSnippet b/editors/InType/Prado.itBundle/snippets/val_email.itSnippet
new file mode 100644
index 00000000..8d0ca7cf
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/val_email.itSnippet
@@ -0,0 +1,9 @@
+{
+ title: 'Email Address Validator'
+ tab_trigger: 'val'
+ scope: 'text.html.prado'
+ content: '<com:TEmailAddressValidator${1: ID="${2:val}"}
+ ControlToValidate="${3:controlID}"
+ ErrorMessage="${4:error}"${5:
+ Display="${6:Dynamic}"}/>$0'
+}
diff --git a/editors/InType/Prado.itBundle/snippets/val_list.itSnippet b/editors/InType/Prado.itBundle/snippets/val_list.itSnippet
new file mode 100644
index 00000000..9a96e9fd
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/val_list.itSnippet
@@ -0,0 +1,11 @@
+{
+ title: 'List Control Validator'
+ tab_trigger: 'val'
+ scope: 'text.html.prado'
+ content: '<com:TListControlValidator${1: ID="${2:val}"}
+ ControlToValidate="${3:controlID}"${4:
+ MinSelection="${5:1}"}${6:
+ MaxSelection="${7:5}"}
+ ErrorMessage="${8:error}"${9:
+ Display="${10:Dynamic}"}/>$0'
+}
diff --git a/editors/InType/Prado.itBundle/snippets/val_range.itSnippet b/editors/InType/Prado.itBundle/snippets/val_range.itSnippet
new file mode 100644
index 00000000..5a1e8246
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/val_range.itSnippet
@@ -0,0 +1,12 @@
+{
+ title: 'Range Validator'
+ tab_trigger: 'val'
+ scope: 'text.html.prado'
+ content: '<com:TRangeValidator${1: ID="${2:val}"}
+ ControlToValidate="${3:controlID}"
+ DataType="${4:Integer}"${5:
+ MinValue="${6:0}"}${7:
+ MaxValue="${8:10}"}
+ ErrorMessage="${9:error}"${10:
+ Display="${11:Dynamic}"}/>$0'
+}
diff --git a/editors/InType/Prado.itBundle/snippets/val_regexp.itSnippet b/editors/InType/Prado.itBundle/snippets/val_regexp.itSnippet
new file mode 100644
index 00000000..bb81e425
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/val_regexp.itSnippet
@@ -0,0 +1,10 @@
+{
+ title: 'Regular Expression Validator'
+ tab_trigger: 'val'
+ scope: 'text.html.prado'
+ content: '<com:TRegularExpressionValidator${1: ID="${2:val}"}
+ ControlToValidate="${3:controlID}"
+ RegularExpression="${4:[\w\d]{4,6\}}"
+ ErrorMessage="${5:error}"${6:
+ Display="${7:Dynamic}"}/>$0'
+}
diff --git a/editors/InType/Prado.itBundle/snippets/val_required.itSnippet b/editors/InType/Prado.itBundle/snippets/val_required.itSnippet
new file mode 100644
index 00000000..f6a1745b
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/val_required.itSnippet
@@ -0,0 +1,9 @@
+{
+ title: 'Required Field Validator'
+ tab_trigger: 'val'
+ scope: 'text.html.prado'
+ content: '<com:TRequiredFieldValidator${1: ID="${2:val}"}
+ ControlToValidate="${3:controlID}"
+ ErrorMessage="${7:error}"${8:
+ Display="${9:Dynamic}"}/>$0'
+}
diff --git a/editors/InType/Prado.itBundle/snippets/view.itSnippet b/editors/InType/Prado.itBundle/snippets/view.itSnippet
new file mode 100644
index 00000000..f163e87b
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/view.itSnippet
@@ -0,0 +1,8 @@
+{
+ title: 'View Panel'
+ tab_trigger: 'view'
+ scope: 'text.html.prado'
+ content: '<com:TView ID="${1:view}">
+ $0
+</com:TView>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/snippets/wizard.itSnippet b/editors/InType/Prado.itBundle/snippets/wizard.itSnippet
new file mode 100644
index 00000000..5cbd08de
--- /dev/null
+++ b/editors/InType/Prado.itBundle/snippets/wizard.itSnippet
@@ -0,0 +1,16 @@
+{
+ title: 'Wizard'
+ tab_trigger: 'wizard'
+ scope: 'text.html.prado'
+ content: '<com:TWizard ID="${1:wizard}">
+ <com:TWizardStep Title="${2:step 1}" StepType="${3:Start}">
+ <!-- content in $2 -->
+ </com:TWizardStep>
+ <com:TWizardStep Title="${4:step 2}" StepType="${3:Step}">
+ <!-- content in $4 -->
+ </com:TWizardStep>
+ <com:TWizardStep Title="${5:finish}" StepType="${6:Finish}">
+ <!-- content in $5 -->
+ </com:TWizardStep>$0
+</com:TWizard>'
+} \ No newline at end of file
diff --git a/editors/InType/Prado.itBundle/syntaxes/prado.itGrammar b/editors/InType/Prado.itBundle/syntaxes/prado.itGrammar
new file mode 100644
index 00000000..a556b3d4
--- /dev/null
+++ b/editors/InType/Prado.itBundle/syntaxes/prado.itGrammar
@@ -0,0 +1,588 @@
+{
+ file_types: ['page', 'tpl', 'skin']
+ key_equivalent: 'Ctrl+Alt+Shift+P'
+ title: 'Prado'
+ folding_start_marker :
+ /
+ (<(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)\b.*?>
+ |<!--(?!.*--\s*>)
+ |\{\{?(if|foreach|capture|literal|foreach|php|section|strip)
+ |\{\s*($|\?>\s*$|\/\/|\/\*(.*\*\/\s*$|(?!.*?\*\/)))
+ |<com:(TRepeater|TDataGrid|TPanel|TControl|TPlaceHolder|TContent)\b.*?>
+ )
+ /x
+ folding_stop_marker :
+ /
+ (<\/(?i:head|body|table|thead|tbody|tfoot|tr|div|select|fieldset|style|script|ul|ol|form|dl)>
+ |^(?!.*?<!--).*?--\s*>
+ |\{\{?\/(if|foreach|capture|literal|foreach|php|section|strip)
+ |^[^{]*\}
+ |<\/com:(TRepeater|TDataGrid|TPanel|TControl|TPlaceHolder|TContent)>
+ )
+ /x
+ patterns:
+ [
+ /** PRADO ClientScript component, embedded js **/
+ {
+ begin: /(?:^\s+)?<(com:TClientScript)\b(?![^>]*\/>)/
+ begin_captures:
+ {
+ 1: { name: 'entity.prado.control-name' }
+ }
+ end: /<(\/com:TClientScript)>(?:\s*\n)?/
+ end_captures :
+ {
+ 1: { name: 'entity.prado.control-name' }
+ }
+ name: 'source.css.embedded.html'
+ patterns:
+ [
+ { include: '#prado-attibutes' }
+ {
+ begin: />/
+ end: /(?=<\/com:TClientScript)/
+ patterns:
+ [
+ { include: '#embedded-code' }
+ { include: 'source.js' }
+ ]
+ }
+ ]
+ }
+ /** PRADO Components and properties **/
+ {
+ begin: /(<\/?)(com:[\w.]+)/
+ begin_captures:
+ {
+ 1: { name: 'entity.prado.tag' }
+ 2: { name: 'entity.prado.control-name' }
+ }
+ end: /(?!%)(\/?>)/
+ end_captures:
+ {
+ 1: { name: 'entity.prado.tag' }
+ }
+ name: 'source.prado.tag'
+ patterns: [ { include: '#prado-attibutes' } ]
+ }
+ {
+ begin: /(<\/?)(prop:[\w.]+)/
+ begin_captures:
+ {
+ 1: { name: 'storage.prado.tag' }
+ 2: { name: 'storage.prado.property-name' }
+ }
+ end: /(?!%)(\/?>)/
+ end_captures:
+ {
+ 1: { name: 'storage.prado.tag' }
+ }
+ name: 'source.prado.property'
+ patterns: [ { include: '#prado-attibutes' } ]
+ }
+ {
+ begin: /<!---/
+ end: /--->/
+ name: 'comment.block.prado'
+ }
+ {
+ include: '#expressions'
+ }
+
+ /** copied from html.itGrammar **/
+
+ /******************************************************/
+ /* meta.tag.preprocessor.xml.html */
+ /******************************************************/
+ {
+ begin : /<\?(xml)/
+ captures : {
+ 1 : {
+ name : 'entity.name.tag.xml.html'
+ }
+ }
+ end : /\?>/
+ name : 'meta.tag.preprocessor.xml.html'
+ patterns : [
+ {
+ include : '#tag-generic-attribute'
+ }
+ {
+ include : '#string-double-quoted'
+ }
+ {
+ include : '#string-single-quoted'
+ }
+ ]
+ }
+ /******************************************************/
+ /* comment.block.html */
+ /******************************************************/
+ {
+ begin : /<!--/
+ end : /--\s*>/
+ name : 'comment.block.html'
+ patterns : [ { include: '#expressions' }]
+ }
+ /******************************************************/
+ /* meta.tag.sgml.html */
+ /******************************************************/
+ {
+ begin : /<!/
+ end : />/
+ name : 'meta.tag.sgml.html'
+ patterns : [
+ /******************************************************/
+ /* meta.tag.sgml.doctype.html */
+ /******************************************************/
+ {
+ begin : /(DOCTYPE)/
+ captures : {
+ 1 : {
+ name : 'entity.name.tag.doctype.html'
+ }
+ }
+ end : /(?=>)/
+ name : 'meta.tag.sgml.doctype.html'
+ patterns : [
+ /******************************************************/
+ /* string.quoted.double.doctype.identifiers-and-DTD */
+ /******************************************************/
+ {
+ match : /"[^">]*"/
+ name : 'string.quoted.double.doctype.identifiers-and-DTDs.html'
+ }
+ ]
+ }
+ /******************************************************/
+ /* constant.other.inline-data.html */
+ /******************************************************/
+ {
+ begin : /\[CDATA\[/
+ end : /]](?=>)/
+ name : 'constant.other.inline-data.html'
+ }
+ /******************************************************/
+ /* invalid.illegal.bad-comments-or-CDATA.html */
+ /******************************************************/
+ {
+ match : /(\s*)(?!--|>)\S(\s*)/
+ name : 'invalid.illegal.bad-comments-or-CDATA.html'
+ }
+ ]
+ }
+ /******************************************************/
+ /* source.css.embedded.html */
+ /******************************************************/
+ {
+ begin : /(?:^\s+)?<((?i:style))\b(?![^>]*\/>)/
+ captures : {
+ 1 : {
+ name : 'entity.name.tag.style.html'
+ }
+ }
+ end : /<\/((?i:style))>(?:\s*\n)?/
+ name : 'source.css.embedded.html'
+ patterns : [
+ {
+ include : '#tag-stuff'
+ }
+ {
+ begin : />/
+ end : /(?=<\/(?i:style))/
+ patterns : [
+ {
+ include : '#embedded-code'
+ }
+ {
+ include : 'source.css'
+ }
+ ]
+ }
+ ]
+ }
+ /******************************************************/
+ /* source.js.embedded.html */
+ /******************************************************/
+ {
+ begin : /(?:^\s+)?<((?i:script))\b(?![^>]*\/>)/
+ captures : {
+ 1 : {
+ name : 'entity.name.tag.script.html'
+ }
+ }
+ end : /(?<=<\/(script|SCRIPT))>(?:\s*\n)?/
+ name : 'source.js.embedded.html'
+ patterns : [
+ {
+ include : '#tag-stuff'
+ }
+ {
+ begin : /(?<!<\/(?:script|SCRIPT))>/
+ end : /<\/((?i:script))/
+ patterns : [
+ /******************************************************/
+ /* comment.line.double-slash.js */
+ /******************************************************/
+ {
+ match : /\/\/.*?((?=<\/script)|$\n?)/
+ name : 'comment.line.double-slash.js'
+ }
+ /******************************************************/
+ /* comment.block.js */
+ /******************************************************/
+ {
+ begin : /\/\*/
+ end : /\*\/|(?=<\/script)/
+ name : 'comment.block.js'
+ }
+ {
+ include : '#embedded-code'
+ }
+ {
+ include : 'source.js'
+ }
+ ]
+ }
+ ]
+ }
+ /******************************************************/
+ /* meta.tag.structure.any.html */
+ /******************************************************/
+ {
+ begin : /<\/?((?i:body|head|html)\b)/
+ captures : {
+ 1 : {
+ name : 'entity.name.tag.structure.any.html'
+ }
+ }
+ end : />/
+ name : 'meta.tag.structure.any.html'
+ patterns : [
+ {
+ include : '#tag-stuff'
+ }
+ ]
+ }
+ /******************************************************/
+ /* meta.tag.block.any.html */
+ /******************************************************/
+ {
+ begin : /<\/?((?i:address|blockquote|dd|div|dl|dt|fieldset|form|frame|frameset|h1|h2|h3|h4|h5|h6|iframe|noframes|object|ol|p|ul|applet|center|dir|hr|menu|pre)\b)/
+ captures : {
+ 1 : {
+ name : 'entity.name.tag.block.any.html'
+ }
+ }
+ end : />/
+ name : 'meta.tag.block.any.html'
+ patterns : [
+ {
+ include : '#tag-stuff'
+ }
+ ]
+ }
+ /******************************************************/
+ /* meta.tag.inline.any.html */
+ /******************************************************/
+ {
+ begin : /<\/?((?i:a|abbr|acronym|area|b|base|basefont|bdo|big|br|button|caption|cite|code|col|colgroup|del|dfn|em|font|head|html|i|img|input|ins|isindex|kbd|label|legend|li|link|map|meta|noscript|optgroup|option|param|q|s|samp|script|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|title|tr|tt|u|var)\b)/
+ captures : {
+ 1 : {
+ name : 'entity.name.tag.inline.any.html'
+ }
+ }
+ end : />/
+ name : 'meta.tag.inline.any.html'
+ patterns : [
+ {
+ include : '#tag-stuff'
+ }
+ ]
+ }
+ /******************************************************/
+ /* meta.tag.other.html */
+ /******************************************************/
+ {
+ begin : /<\/?([a-zA-Z0-9:]+)/
+ captures : {
+ 1 : {
+ name : 'entity.name.tag.other.html'
+ }
+ }
+ end : />/
+ name : 'meta.tag.other.html'
+ patterns : [
+ {
+ include : '#tag-stuff'
+ }
+ ]
+ }
+ {
+ include : '#entities'
+ }
+ /******************************************************/
+ /* invalid.illegal.incomplete.html */
+ /******************************************************/
+ {
+ match : /<>/
+ name : 'invalid.illegal.incomplete.html'
+ }
+ /******************************************************/
+ /* invalid.illegal.bad-angle-bracket.html */
+ /******************************************************/
+ {
+ match : /<(?=\W)|>/
+ name : 'invalid.illegal.bad-angle-bracket.html'
+ }
+ ]
+ repository:
+ {
+ embedded-code:
+ {
+ patterns: [ { include: '#expressions' } ]
+ }
+ expressions:
+ {
+ patterns:
+ [
+ {
+ begin: /<%[%=]/
+ end: /%>/
+ name: 'constant.prado.php-expression'
+ patterns: [ { include: 'source.php' } ]
+ }
+ {
+ begin: /<%#/
+ end: /%>/
+ name: 'constant.prado.data-bind'
+ patterns: [ { include: 'source.php' } ]
+ }
+ {
+ begin: /(<%\$)/
+ begin_captures:
+ {
+ 1: { name: 'constant.prado.parameter' }
+ }
+ end: /(%>)/
+ end_captures:
+ {
+ 1: { name: 'constant.prado.parameter' }
+ }
+ name : 'storage.prado.parameter'
+ patterns:
+ [
+ {
+ match: /.*\S+(?=\s*%>)/
+ name: 'markup.bold.prado.parameter'
+ }
+ ]
+ }
+ {
+ begin: /(<%~)\s*/
+ begin_captures:
+ {
+ 1: { name: 'constant.prado.asset' }
+ }
+ end: /\s*(%>)/
+ end_captures:
+ {
+ 1: { name: 'constant.prado.asset' }
+ }
+ name : 'storage.prado.asset'
+ patterns:
+ [
+ {
+ match: /.*\S+(?=\s*%>)/
+ name: 'markup.underline.prado.asset'
+ }
+ ]
+ }
+ {
+ begin: /(<%\[)\s*/
+ begin_captures:
+ {
+ 1: { name: 'constant.prado.localization' }
+ }
+ end: /\s*(\]%>)/
+ end_captures:
+ {
+ 1: { name: 'constant.prado.localization' }
+ }
+ name: 'string.prado.localization'
+ patterns:
+ [
+ {
+ match: /.*\S+(?=\s*\]%>)/
+ name: 'markup.italic.prado.localization'
+ }
+ ]
+ }
+ {
+ begin: /<%@/
+ end: /%>/
+ name: 'constant.prado.directive'
+ patterns: [ { include: '#prado-attibutes' } ]
+ }
+ ]
+ }
+ prado-controls:
+ {
+ patterns:
+ [
+ {
+ begin: /<com:TWizard/
+ end: /<\/com:TWizard>/
+ name: 'meta.prado.wizard'
+ }
+ ]
+ }
+ entities : {
+ patterns : [
+ /******************************************************/
+ /* constant.character.entity.html */
+ /******************************************************/
+ {
+ match : /&([a-zA-Z0-9]+|#[0-9]+|#x[0-9a-fA-F]+);/
+ name : 'constant.character.entity.html'
+ }
+ /******************************************************/
+ /* invalid.illegal.bad-ampersand.html */
+ /******************************************************/
+ {
+ match : /&/
+ name : 'invalid.illegal.bad-ampersand.html'
+ }
+ ]
+ }
+ string-double-quoted:
+ {
+ begin: /"/
+ end: /"/
+ name: 'string.quoted.double.html'
+ patterns: [ { include: '#embedded-code' } ]
+ }
+ string-single-quoted:
+ {
+ begin: /'/
+ end: /'/
+ name: 'string.quoted.single.html'
+ patterns: [ { include: '#embedded-code' } ]
+ }
+ event-attribute:
+ {
+ begin: /\b((?i)on[\w.]+)\b\s*=/
+ captures:
+ {
+ 1: { name: 'storage.prado.event-attribute' }
+ }
+ end: /(?<='|")/
+ name: 'meta.prado.event-attribute'
+ patterns: [ { include: '#attribute-value' } ]
+ }
+
+ prado-attribute:
+ {
+ begin: /([\w.]+)\s*=/
+ captures:
+ {
+ 1: { name: 'storage.prado.attribute-name' }
+ }
+ end: /(?<='|")/
+ name: 'meta.prado.attribute'
+ patterns: [ { include: '#attribute-value' } ]
+ }
+ attribute-value:
+ {
+ patterns:
+ [
+ { include : '#string-double-quoted' }
+ { include : '#string-single-quoted' }
+ { include: '#embedded-code' }
+ ]
+ }
+ prado-attibutes:
+ {
+ patterns:
+ [
+ { include: '#event-attribute' }
+ { include: '#prado-attribute' }
+ { include: '#embedded-code' }
+ ]
+ }
+
+ /** copied from html.itGrammar **/
+
+ tag-generic-attribute : {
+ match : /\b([a-zA-Z\-:]+)/
+ name : 'entity.other.attribute-name.html'
+ }
+ tag-id-attribute : {
+ begin : /\b(id)\b\s*=/
+ captures : {
+ 1 : {
+ name : 'entity.other.attribute-name.id.html'
+ }
+ }
+ end : /(?<='|")/
+ name : 'meta.attribute-with-value.id.html'
+ patterns : [
+ /******************************************************/
+ /* string.quoted.double.html */
+ /******************************************************/
+ {
+ begin : /"/
+ content_name : 'meta.toc-list.id.html'
+ end : /"/
+ name : 'string.quoted.double.html'
+ patterns : [
+ {
+ include : '#embedded-code'
+ }
+ {
+ include : '#entities'
+ }
+ ]
+ }
+ /******************************************************/
+ /* string.quoted.single.html */
+ /******************************************************/
+ {
+ begin : /'/
+ content_name : 'meta.toc-list.id.html'
+ end : /'/
+ name : 'string.quoted.single.html'
+ patterns : [
+ {
+ include : '#embedded-code'
+ }
+ {
+ include : '#entities'
+ }
+ ]
+ }
+ ]
+ }
+ tag-stuff :
+ {
+ patterns : [
+ {
+ include : '#tag-id-attribute'
+ }
+ {
+ include : '#tag-generic-attribute'
+ }
+ {
+ include : '#string-double-quoted'
+ }
+ {
+ include : '#string-single-quoted'
+ }
+ {
+ include : '#embedded-code'
+ }
+ ]
+ }
+ }
+ scope_name: 'text.html.prado'
+} \ No newline at end of file
diff --git a/editors/InType/wei.itTheme b/editors/InType/wei.itTheme
new file mode 100644
index 00000000..f0f79b7d
--- /dev/null
+++ b/editors/InType/wei.itTheme
@@ -0,0 +1,363 @@
+{
+ title : 'Wei'
+ settings : [
+ {
+ settings : {
+ background : '#0C1021'
+ caret : '#FFFFFFA6'
+ foreground : '#F8F8F8'
+ invisibles : '#FFFFFF40'
+ line_highlight : '#FFFFFF0F'
+ active_margin : '#7F90AA'
+ passive_margin : '#202C4A'
+ selection : '#253B76'
+ area_background : '#070A14'
+ area_borders : '#070A14'
+ }
+ }
+ /******************************************************/
+ /* Comment */
+ /******************************************************/
+ {
+ title : 'Comment'
+ scope : 'comment'
+ settings : {
+ font_style : 'italic'
+ foreground : '#99EE22'
+ }
+ }
+ /******************************************************/
+ /* Constant */
+ /******************************************************/
+ {
+ title : 'Constant'
+ scope : 'constant'
+ settings : {
+ font_style : ''
+ foreground : '#8AEFF4'
+ }
+ }
+ /******************************************************/
+ /* Entity */
+ /******************************************************/
+ {
+ title : 'Entity'
+ scope : 'entity'
+ settings : {
+ font_style : ''
+ foreground : '#FF7700'
+ }
+ }
+ /******************************************************/
+ /* Keyword */
+ /******************************************************/
+ {
+ title : 'Keyword'
+ scope : 'keyword'
+ settings : {
+ font_style : ''
+ foreground : '#FBDE2D'
+ }
+ }
+ /******************************************************/
+ /* Storage */
+ /******************************************************/
+ {
+ title : 'Storage'
+ scope : 'storage'
+ settings : {
+ font_style : ''
+ foreground : '#FBDE2D'
+ }
+ }
+ /******************************************************/
+ /* String */
+ /******************************************************/
+ {
+ title : 'String'
+ scope : 'string, meta.verbatim'
+ settings : {
+ font_style : ''
+ foreground : '#FF77FF'
+ }
+ }
+ /******************************************************/
+ /* Support */
+ /******************************************************/
+ {
+ title : 'Support'
+ scope : 'support'
+ settings : {
+ font_style : ''
+ foreground : '#8DA6CE'
+ }
+ }
+ /******************************************************/
+ /* Variable */
+ /******************************************************/
+ {
+ title : 'Variable'
+ scope : 'variable'
+ settings : {
+ font_style : ''
+ }
+ }
+ /******************************************************/
+ /* Invalid – Deprecated */
+ /******************************************************/
+ {
+ title : 'Invalid – Deprecated'
+ scope : 'invalid.deprecated'
+ settings : {
+ font_style : 'italic'
+ foreground : '#AB2A1D'
+ }
+ }
+ /******************************************************/
+ /* Invalid – Illegal */
+ /******************************************************/
+ {
+ title : 'Invalid – Illegal'
+ scope : 'invalid.illegal'
+ settings : {
+ background : '#9D1E15'
+ foreground : '#F8F8F8'
+ }
+ }
+ /******************************************************/
+ /* Superclass */
+ /******************************************************/
+ {
+ title : 'Superclass'
+ scope : 'entity.other.inherited-class'
+ settings : {
+ font_style : 'italic'
+ foreground : '#FF6400'
+ }
+ }
+ /******************************************************/
+ /* String interpolation */
+ /******************************************************/
+ {
+ title : 'String interpolation'
+ scope : 'string constant.other.placeholder'
+ settings : {
+ font_style : ''
+ foreground : '#FF6400'
+ }
+ }
+ /******************************************************/
+ /* meta.function-call.py */
+ /******************************************************/
+ {
+ title : 'meta.function-call.py'
+ scope : 'meta.function-call.py'
+ settings : {
+ font_style : ''
+ foreground : '#BECDE6'
+ }
+ }
+ /******************************************************/
+ /* meta.tag */
+ /******************************************************/
+ {
+ title : 'meta.tag'
+ scope : 'meta.tag, meta.tag entity'
+ settings : {
+ foreground : '#7F90AA'
+ }
+ }
+ /******************************************************/
+ /* entity.name.section */
+ /******************************************************/
+ {
+ title : 'entity.name.section'
+ scope : 'entity.name.section'
+ settings : {
+ font_style : ''
+ foreground : '#FFFFFF'
+ }
+ }
+ /******************************************************/
+ /* OCaml variant */
+ /******************************************************/
+ {
+ title : 'OCaml variant'
+ scope : 'keyword.type.variant'
+ settings : {
+ foreground : '#D5E0F3'
+ }
+ }
+ /******************************************************/
+ /* OCaml operator */
+ /******************************************************/
+ {
+ title : 'OCaml operator'
+ scope : 'source.ocaml keyword.operator.symbol'
+ settings : {
+ foreground : '#F8F8F8'
+ }
+ }
+ /******************************************************/
+ /* OCaml infix operator */
+ /******************************************************/
+ {
+ title : 'OCaml infix operator'
+ scope : 'source.ocaml keyword.operator.symbol.infix'
+ settings : {
+ font_style : ''
+ foreground : '#8DA6CE'
+ }
+ }
+ /******************************************************/
+ /* OCaml prefix operator */
+ /******************************************************/
+ {
+ title : 'OCaml prefix operator'
+ scope : 'source.ocaml keyword.operator.symbol.prefix'
+ settings : {
+ font_style : ''
+ foreground : '#8DA6CE'
+ }
+ }
+ /******************************************************/
+ /* OCaml f-p infix operator */
+ /******************************************************/
+ {
+ title : 'OCaml f-p infix operator'
+ scope : 'source.ocaml keyword.operator.symbol.infix.floating-point'
+ settings : {
+ font_style : 'underline'
+ }
+ }
+ /******************************************************/
+ /* OCaml f-p prefix operator */
+ /******************************************************/
+ {
+ title : 'OCaml f-p prefix operator'
+ scope : 'source.ocaml keyword.operator.symbol.prefix.floating-point'
+ settings : {
+ font_style : 'underline'
+ }
+ }
+ /******************************************************/
+ /* OCaml f-p constant */
+ /******************************************************/
+ {
+ title : 'OCaml f-p constant'
+ scope : 'source.ocaml constant.numeric.floating-point'
+ settings : {
+ font_style : 'underline'
+ }
+ }
+ /******************************************************/
+ /* LaTeX environment */
+ /******************************************************/
+ {
+ title : 'LaTeX environment'
+ scope : 'text.tex.latex meta.function.environment'
+ settings : {
+ background : '#FFFFFF08'
+ }
+ }
+ /******************************************************/
+ /* LaTeX environment (nested) */
+ /******************************************************/
+ {
+ title : 'LaTeX environment (nested)'
+ scope : 'text.tex.latex meta.function.environment meta.function.environment'
+ settings : {
+ background : '#7A96FA08'
+ }
+ }
+ /******************************************************/
+ /* Latex support */
+ /******************************************************/
+ {
+ title : 'Latex support'
+ scope : 'text.tex.latex support.function'
+ settings : {
+ font_style : ''
+ foreground : '#FBDE2D'
+ }
+ }
+ /******************************************************/
+ /* PList unquoted string */
+ /******************************************************/
+ {
+ title : 'PList unquoted string'
+ scope : 'source.plist string.unquoted, source.plist keyword.operator'
+ settings : {
+ foreground : '#FFFFFF'
+ }
+ }
+
+ /******************************************************/
+ /* Markup: Heading */
+ /******************************************************/
+ {
+ title : 'Markup: Heading'
+ scope : 'markup.heading'
+ settings : {
+ font_style : 'bold'
+ foreground : '#FBDE2D'
+ }
+ }
+ /******************************************************/
+ /* Markup: Quote */
+ /******************************************************/
+ {
+ title : 'Markup: Quote'
+ scope : 'markup.quote'
+ settings : {
+ font_style : 'italic'
+ foreground : '#FBDE2D'
+ }
+ }
+ /******************************************************/
+ /* Markup: List */
+ /******************************************************/
+ {
+ title : 'Markup: List'
+ scope : 'markup.list'
+ settings : {
+ foreground : '#61CE3C'
+ }
+ }
+
+ /******************************************************/
+ /* Markup: Bold */
+ /******************************************************/
+ {
+ title : 'Markup: Bold'
+ scope : 'markup.bold'
+ settings : {
+ font_style : 'bold'
+ }
+ }
+
+ /******************************************************/
+ /* Markup: Italic */
+ /******************************************************/
+ {
+ title : 'Markup: Italic'
+ scope : 'markup.italic'
+ settings : {
+ font_style : 'italic'
+ }
+ }
+
+ /******************************************************/
+ /* Markup: Underline */
+ /******************************************************/
+ {
+ title : 'Markup: Underline'
+ scope : 'markup.underline'
+ settings : {
+ font_style : 'underline'
+ }
+ }
+
+ ]
+ uuid : 'A2C6BAA7-90D0-4147-BBF5-96B0CD92D109'
+} \ No newline at end of file