From f2b997d7e231438cf9af798fdb056dc34e3a6b23 Mon Sep 17 00:00:00 2001
From: Jared Carey <jared.carey@elastic.co>
Date: Sun, 20 Aug 2017 14:39:50 -0600
Subject: [PATCH 1/2] highlighting for scripted metric agg scripts

Adding detection for [scripted metric aggregations](https://www.elastic.co/guide/en/elasticsearch/reference/master/search-aggregations-metrics-scripted-metric-aggregation.html)

```json
POST ledger/_search?size=0
{
    "query" : {
        "match_all" : {}
    },
    "aggs": {
        "profit": {
            "scripted_metric": {
                "init_script" : "params._agg.transactions = []",
                "map_script" : "params._agg.transactions.add(doc.type.value == 'sale' ? doc.amount.value : -1 * doc.amount.value)",
                "combine_script" : "double profit = 0; for (t in params._agg.transactions) { profit += t } return profit",
                "reduce_script" : "double profit = 0; for (a in params._aggs) { profit += a } return profit"
            }
        }
    }
}
```
---
 .../public/src/sense_editor/mode/x_json_highlight_rules.js      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/core_plugins/console/public/src/sense_editor/mode/x_json_highlight_rules.js b/src/core_plugins/console/public/src/sense_editor/mode/x_json_highlight_rules.js
index e22587c756ad3..48dc3eae299b5 100644
--- a/src/core_plugins/console/public/src/sense_editor/mode/x_json_highlight_rules.js
+++ b/src/core_plugins/console/public/src/sense_editor/mode/x_json_highlight_rules.js
@@ -7,7 +7,7 @@ var jsonRules = function (root) {
   rules[root] = [
       {
         token: ["variable", "whitespace", "ace.punctuation.colon", "whitespace", "punctuation.start_triple_quote"],
-        regex: '("script"|"inline")(\\s*?)(:)(\\s*?)(""")',
+        regex: '("script"|"inline"|"init_script"|"map_script"|"combine_script"|"reduce_script")(\\s*?)(:)(\\s*?)(""")',
         next: "script-start",
         merge: false,
         push: true

From 46f2ee7e6501ce6787a780063aa6af536767210f Mon Sep 17 00:00:00 2001
From: Jared Carey <jared.carey@elastic.co>
Date: Tue, 22 Aug 2017 12:27:25 -0600
Subject: [PATCH 2/2] Update x_json_highlight_rules.js

---
 .../public/src/sense_editor/mode/x_json_highlight_rules.js      | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/core_plugins/console/public/src/sense_editor/mode/x_json_highlight_rules.js b/src/core_plugins/console/public/src/sense_editor/mode/x_json_highlight_rules.js
index 48dc3eae299b5..e998c1733ed7f 100644
--- a/src/core_plugins/console/public/src/sense_editor/mode/x_json_highlight_rules.js
+++ b/src/core_plugins/console/public/src/sense_editor/mode/x_json_highlight_rules.js
@@ -7,7 +7,7 @@ var jsonRules = function (root) {
   rules[root] = [
       {
         token: ["variable", "whitespace", "ace.punctuation.colon", "whitespace", "punctuation.start_triple_quote"],
-        regex: '("script"|"inline"|"init_script"|"map_script"|"combine_script"|"reduce_script")(\\s*?)(:)(\\s*?)(""")',
+        regex: '("([^"]*_)?script"|"inline")(\\s*?)(:)(\\s*?)(""")',
         next: "script-start",
         merge: false,
         push: true