diff --git a/syntax/q.tmLanguage b/syntax/q.tmLanguage index fd126c9..8ce5732 100644 --- a/syntax/q.tmLanguage +++ b/syntax/q.tmLanguage @@ -181,7 +181,7 @@ name other.assignment.q match - (?=([^a-zA-Z0-9]|\b))([a-zA-Z]+[a-zA-Z0-9_]*)\s*([,+\-*%@$!?<>=~|&\#]?)(::|:) + (?<=([^a-zA-Z0-9])|(?<=\b))([a-zA-Z]+[a-zA-Z0-9_]*)\s*([,+\-*%@$!?<>=~|&\#]?)(::|:) captures @@ -384,7 +384,7 @@ name constant.numeric.complex.q match - (?=(\W|\b))([-]?[0-9]+[bhijf]?(\.[0-9]+[m]?)?|0x[a-fA-F0-9]+)(?=(\W|\b)|_) + ((?<=(\W))|(?<=_)|(?<=\b))([-]?[0-9]+[bhijf]?(\.[0-9]+[m]?)?|0x[a-fA-F0-9]+)(?=(\W|\b)|_) @@ -394,7 +394,7 @@ name constant.numeric.complex.real.q match - (?=(\W|\b))([-]?[0-9]+e[-]?[0-9]+)(?=(\W|\b)) + ((?<=\W)|(?<=_)|(?<=\b))([-]?[0-9]+e[-]?[0-9]+)(?=(\W|\b)) @@ -404,7 +404,7 @@ name constant.numeric.complex.null.q match - (?=(\W|\b))(0n|0N[ghijepmdznuvt]?)(?=(\W|\b)) + ((?<=\W)|(?<=_)|(?<=\b))(0n|0N[ghijepmdznuvt]?)(?=(\W|\b)) @@ -414,7 +414,7 @@ name constant.numeric.complex.inf.q match - (?=(\W|\b))(0w|0W[hijepdznuvt]?)(?=(\W|\b)) + ((?<=\W)|(?<=_)|(?<=\b))(0w|0W[hijepdznuvt]?)(?=(\W|\b)) @@ -424,7 +424,7 @@ name support.function.q match - [!$@\\/_#?|',`\\:] + [!$@\\/#?|',`\\:] comment @@ -434,6 +434,22 @@ match \.(?=\W) + + comment + placeholder for variable names with underscores + name + source.q + match + [a-zA-Z][a-zA-Z0-9_]+ + + + comment + drop (underscore) + name + support.function.q + match + (?<=[0-9\s])_ +