From f4d03e0016aaff2b0cd8852ff1bb6741582b241f Mon Sep 17 00:00:00 2001 From: Tanimodori Date: Fri, 25 Oct 2019 00:32:22 +0800 Subject: [PATCH 1/2] Fixed: @defined is not a macro. --- syntaxes/systemtap.tmLanguage.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/syntaxes/systemtap.tmLanguage.json b/syntaxes/systemtap.tmLanguage.json index ce18e0a..cdc0103 100644 --- a/syntaxes/systemtap.tmLanguage.json +++ b/syntaxes/systemtap.tmLanguage.json @@ -396,7 +396,7 @@ ] }, "macro": { - "begin": "(@(?:defined|define))", + "begin": "(@define(?!d))", "end": "(? Date: Fri, 25 Oct 2019 00:33:13 +0800 Subject: [PATCH 2/2] Better probe syntax --- syntaxes/systemtap.tmLanguage.json | 44 ++++++++++++++++-------------- 1 file changed, 24 insertions(+), 20 deletions(-) diff --git a/syntaxes/systemtap.tmLanguage.json b/syntaxes/systemtap.tmLanguage.json index cdc0103..74c7bbd 100644 --- a/syntaxes/systemtap.tmLanguage.json +++ b/syntaxes/systemtap.tmLanguage.json @@ -152,7 +152,7 @@ }, "array": {}, "function_dec": { - "begin": "(function)\\s+([\\w.]+)", + "begin": "(function)\\s([\\w.]+)", "end": "(?=\\%?{)", "beginCaptures": { "1": { @@ -164,12 +164,7 @@ }, "patterns": [ { - "begin": "(?:(?<=:)\\s*([^\\s\\:]+))?(\\()", - "beginCaptures": { - "1": { - "name": "storage.type.built-in.systemtap" - } - }, + "begin": "(\\()", "end": "(?=[)])", "patterns": [ { @@ -185,36 +180,45 @@ ] }, "probe_dec": { - "begin": "(probe)\\s([\\w.]+)", + "begin": "(probe)\\s+(?![#\\{]+)", "end": "(?=\\{)", "beginCaptures": { "1": { "name": "keyword.control.systemtap" - }, - "2": { - "name": "entity.name.function.definition.systemtap" } }, "patterns": [ + { + "include": "#comment" + }, + { + "match": "(process|function|module|statement|begin|end|syscall|return|call|never)(?![@a-zA-Z0-9_$])", + "name": "keyword.control.systemtap" + }, + { + "match": "([\\w]+)", + "name": "entity.name.function.definition.systemtap" + }, + { + "match": "(\\.)", + "name": "punctuation.separator.dot.systemtap" + }, { "begin": "(\\()", "end": "(?=[)])", "patterns": [ { - "include": "#string_context" - }, - { - "include": "#number" + "include": "#expr" }, { - "match": "(?<=:)([^\\s,):]+)", - "name": "storage.type.built-in.systemtap" - }, - { - "match": "[^\\s,):]+", + "match": "[^\\s,)]+", "name": "variable.parameter" } ] + }, + { + "match": "([*!?])", + "name": "keyword.operator.systemtap" } ] },