From fb7b23e627fabe5f4bc33d8ee7ce20c58126311a Mon Sep 17 00:00:00 2001 From: Joshua Saxby Date: Wed, 11 Mar 2015 18:42:21 +0000 Subject: [PATCH 1/6] started adding missing sql keywords and types --- lib/ace/mode/sql_highlight_rules.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/ace/mode/sql_highlight_rules.js b/lib/ace/mode/sql_highlight_rules.js index f9ff39d9..31e8846b 100644 --- a/lib/ace/mode/sql_highlight_rules.js +++ b/lib/ace/mode/sql_highlight_rules.js @@ -38,7 +38,8 @@ var SqlHighlightRules = function() { var keywords = ( "select|insert|update|delete|from|where|and|or|group|by|order|limit|offset|having|as|case|" + - "when|else|end|type|left|right|join|on|outer|desc|asc|union" + "when|else|end|type|left|right|join|on|outer|desc|asc|union|create|table|primary key|if|not|" + + "foreign key|" ); var builtinConstants = ( @@ -46,7 +47,8 @@ var SqlHighlightRules = function() { ); var builtinFunctions = ( - "count|min|max|avg|sum|rank|now|coalesce" + "count|min|max|avg|sum|rank|now|coalesce|int|numeric|decimal|date|boolean|varchar|char|bigint|" + + "float|double" ); var keywordMapper = this.createKeywordMapper({ From 38e3452313adeeea0089927b14656a4b0ce998a8 Mon Sep 17 00:00:00 2001 From: Joshua Saxby Date: Wed, 11 Mar 2015 21:05:54 +0000 Subject: [PATCH 2/6] added SQL data types --- lib/ace/mode/sql_highlight_rules.js | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/lib/ace/mode/sql_highlight_rules.js b/lib/ace/mode/sql_highlight_rules.js index 31e8846b..ee32dce2 100644 --- a/lib/ace/mode/sql_highlight_rules.js +++ b/lib/ace/mode/sql_highlight_rules.js @@ -38,23 +38,28 @@ var SqlHighlightRules = function() { var keywords = ( "select|insert|update|delete|from|where|and|or|group|by|order|limit|offset|having|as|case|" + - "when|else|end|type|left|right|join|on|outer|desc|asc|union|create|table|primary key|if|not|" + - "foreign key|" + "when|else|end|type|left|right|join|on|outer|desc|asc|union|create|table|primary|key|if|" + + "foreign|not|references|default|null" ); var builtinConstants = ( - "true|false|null" + "true|false" ); var builtinFunctions = ( - "count|min|max|avg|sum|rank|now|coalesce|int|numeric|decimal|date|boolean|varchar|char|bigint|" + - "float|double" + "count|min|max|avg|sum|rank|now|coalesce" + ); + + var dataTypes = ( + "int|numeric|decimal|date|varchar|char|bigint|" + + "float|double|bit|binary|text|set|timestamp|money|real|number" ); var keywordMapper = this.createKeywordMapper({ "support.function": builtinFunctions, "keyword": keywords, - "constant.language": builtinConstants + "constant.language": builtinConstants, + "storage.type": dataTypes }, "identifier", true); this.$rules = { @@ -89,6 +94,9 @@ var SqlHighlightRules = function() { }, { token : "text", regex : "\\s+" + }, { + token : "entity.name.function", + regex : "\\s+" } ] }; this.normalizeRules(); From 0216e8bbfdb5de7fb7e92caec3de662d5a4ea147 Mon Sep 17 00:00:00 2001 From: Joshua Saxby Date: Wed, 11 Mar 2015 21:27:36 +0000 Subject: [PATCH 3/6] formatting --- lib/ace/mode/sql_highlight_rules.js | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/ace/mode/sql_highlight_rules.js b/lib/ace/mode/sql_highlight_rules.js index ee32dce2..5030ecc7 100644 --- a/lib/ace/mode/sql_highlight_rules.js +++ b/lib/ace/mode/sql_highlight_rules.js @@ -51,8 +51,8 @@ var SqlHighlightRules = function() { ); var dataTypes = ( - "int|numeric|decimal|date|varchar|char|bigint|" + - "float|double|bit|binary|text|set|timestamp|money|real|number" + "int|numeric|decimal|date|varchar|char|bigint|float|double|bit|binary|text|set|timestamp|" + + "money|real|number" ); var keywordMapper = this.createKeywordMapper({ @@ -94,9 +94,6 @@ var SqlHighlightRules = function() { }, { token : "text", regex : "\\s+" - }, { - token : "entity.name.function", - regex : "\\s+" } ] }; this.normalizeRules(); From fcb4023e5200e0bea54456668d5267af7f6a8548 Mon Sep 17 00:00:00 2001 From: Joshua Saxby Date: Fri, 27 Mar 2015 22:10:02 +0000 Subject: [PATCH 4/6] add some new types and change the type of existing keywords --- lib/ace/mode/sql_highlight_rules.js | 13 +++++++------ lib/ace/snippets/mask.js | 7 +++++++ lib/ace/snippets/mask.snippets | 0 3 files changed, 14 insertions(+), 6 deletions(-) create mode 100644 lib/ace/snippets/mask.js create mode 100644 lib/ace/snippets/mask.snippets diff --git a/lib/ace/mode/sql_highlight_rules.js b/lib/ace/mode/sql_highlight_rules.js index 5030ecc7..a74bce26 100644 --- a/lib/ace/mode/sql_highlight_rules.js +++ b/lib/ace/mode/sql_highlight_rules.js @@ -38,8 +38,7 @@ var SqlHighlightRules = function() { var keywords = ( "select|insert|update|delete|from|where|and|or|group|by|order|limit|offset|having|as|case|" + - "when|else|end|type|left|right|join|on|outer|desc|asc|union|create|table|primary|key|if|" + - "foreign|not|references|default|null" + "when|else|end|type|left|right|join|on|outer|desc|asc|union|create|table" ); var builtinConstants = ( @@ -51,15 +50,14 @@ var SqlHighlightRules = function() { ); var dataTypes = ( - "int|numeric|decimal|date|varchar|char|bigint|float|double|bit|binary|text|set|timestamp|" + - "money|real|number" + "int|numeric|decimal|date|varchar|char|bigint|float|double|bit|binary|text|timestamp|" + + "money|real|number|integer|timezone|smallint" ); var keywordMapper = this.createKeywordMapper({ "support.function": builtinFunctions, "keyword": keywords, - "constant.language": builtinConstants, - "storage.type": dataTypes + "constant.language": builtinConstants }, "identifier", true); this.$rules = { @@ -91,6 +89,9 @@ var SqlHighlightRules = function() { }, { token : "paren.rparen", regex : "[\\)]" + }, { + token : "keyword.keyword", + regex : "(primary key)|if|(foreign key)|not|references|default|null|set|(drop database)|(drop table)" }, { token : "text", regex : "\\s+" diff --git a/lib/ace/snippets/mask.js b/lib/ace/snippets/mask.js new file mode 100644 index 00000000..7fbca678 --- /dev/null +++ b/lib/ace/snippets/mask.js @@ -0,0 +1,7 @@ +define(function(require, exports, module) { +"use strict"; + +exports.snippetText = require("../requirejs/text!./mask.snippets"); +exports.scope = "mask"; + +}); diff --git a/lib/ace/snippets/mask.snippets b/lib/ace/snippets/mask.snippets new file mode 100644 index 00000000..e69de29b From cc401771142d31ae0f3132d01470fac797697647 Mon Sep 17 00:00:00 2001 From: Joshua Saxby Date: Fri, 27 Mar 2015 22:11:41 +0000 Subject: [PATCH 5/6] Revert "add some new types and change the type of existing keywords" This reverts commit fcb4023e5200e0bea54456668d5267af7f6a8548. --- lib/ace/mode/sql_highlight_rules.js | 13 ++++++------- lib/ace/snippets/mask.js | 7 ------- lib/ace/snippets/mask.snippets | 0 3 files changed, 6 insertions(+), 14 deletions(-) delete mode 100644 lib/ace/snippets/mask.js delete mode 100644 lib/ace/snippets/mask.snippets diff --git a/lib/ace/mode/sql_highlight_rules.js b/lib/ace/mode/sql_highlight_rules.js index a74bce26..5030ecc7 100644 --- a/lib/ace/mode/sql_highlight_rules.js +++ b/lib/ace/mode/sql_highlight_rules.js @@ -38,7 +38,8 @@ var SqlHighlightRules = function() { var keywords = ( "select|insert|update|delete|from|where|and|or|group|by|order|limit|offset|having|as|case|" + - "when|else|end|type|left|right|join|on|outer|desc|asc|union|create|table" + "when|else|end|type|left|right|join|on|outer|desc|asc|union|create|table|primary|key|if|" + + "foreign|not|references|default|null" ); var builtinConstants = ( @@ -50,14 +51,15 @@ var SqlHighlightRules = function() { ); var dataTypes = ( - "int|numeric|decimal|date|varchar|char|bigint|float|double|bit|binary|text|timestamp|" + - "money|real|number|integer|timezone|smallint" + "int|numeric|decimal|date|varchar|char|bigint|float|double|bit|binary|text|set|timestamp|" + + "money|real|number" ); var keywordMapper = this.createKeywordMapper({ "support.function": builtinFunctions, "keyword": keywords, - "constant.language": builtinConstants + "constant.language": builtinConstants, + "storage.type": dataTypes }, "identifier", true); this.$rules = { @@ -89,9 +91,6 @@ var SqlHighlightRules = function() { }, { token : "paren.rparen", regex : "[\\)]" - }, { - token : "keyword.keyword", - regex : "(primary key)|if|(foreign key)|not|references|default|null|set|(drop database)|(drop table)" }, { token : "text", regex : "\\s+" diff --git a/lib/ace/snippets/mask.js b/lib/ace/snippets/mask.js deleted file mode 100644 index 7fbca678..00000000 --- a/lib/ace/snippets/mask.js +++ /dev/null @@ -1,7 +0,0 @@ -define(function(require, exports, module) { -"use strict"; - -exports.snippetText = require("../requirejs/text!./mask.snippets"); -exports.scope = "mask"; - -}); diff --git a/lib/ace/snippets/mask.snippets b/lib/ace/snippets/mask.snippets deleted file mode 100644 index e69de29b..00000000 From 0bf729d88f0b35208dd670a15f408f64b9ee35af Mon Sep 17 00:00:00 2001 From: Joshua Saxby Date: Fri, 27 Mar 2015 22:21:42 +0000 Subject: [PATCH 6/6] added important keywords and data types missed out --- lib/ace/mode/sql_highlight_rules.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/ace/mode/sql_highlight_rules.js b/lib/ace/mode/sql_highlight_rules.js index 5030ecc7..31e77c82 100644 --- a/lib/ace/mode/sql_highlight_rules.js +++ b/lib/ace/mode/sql_highlight_rules.js @@ -39,7 +39,7 @@ var SqlHighlightRules = function() { var keywords = ( "select|insert|update|delete|from|where|and|or|group|by|order|limit|offset|having|as|case|" + "when|else|end|type|left|right|join|on|outer|desc|asc|union|create|table|primary|key|if|" + - "foreign|not|references|default|null" + "foreign|not|references|default|null|inner|cross|natural|database|drop|grant" ); var builtinConstants = ( @@ -52,7 +52,7 @@ var SqlHighlightRules = function() { var dataTypes = ( "int|numeric|decimal|date|varchar|char|bigint|float|double|bit|binary|text|set|timestamp|" + - "money|real|number" + "money|real|number|integer" ); var keywordMapper = this.createKeywordMapper({