diff options
author | Thomas Aglassinger <roskakori@users.sourceforge.net> | 2016-03-22 20:16:48 +0100 |
---|---|---|
committer | Thomas Aglassinger <roskakori@users.sourceforge.net> | 2016-03-22 20:16:48 +0100 |
commit | 895d02d4202b0962d3be6a9d06d6da38626e1d95 (patch) | |
tree | 55c0f26cf854140851016d9e3acd4198dfc7b612 | |
parent | 1d5aed09f1f7fcfa27c73d03ffc1a61e686658da (diff) | |
download | pygments-895d02d4202b0962d3be6a9d06d6da38626e1d95.tar.gz |
Fixed minus operator for Transact-SQL.
-rw-r--r-- | pygments/lexers/_tsql_builtins.py | 2 | ||||
-rw-r--r-- | pygments/lexers/sql.py | 6 | ||||
-rw-r--r-- | tests/examplefiles/test_transact-sql.txt | 4 |
3 files changed, 7 insertions, 5 deletions
diff --git a/pygments/lexers/_tsql_builtins.py b/pygments/lexers/_tsql_builtins.py index 7e2f4a3e..4eae8aa7 100644 --- a/pygments/lexers/_tsql_builtins.py +++ b/pygments/lexers/_tsql_builtins.py @@ -26,7 +26,7 @@ OPERATORS = ( '>', '>=', '+', - '+=' + '+=', '-', '-=', '*', diff --git a/pygments/lexers/sql.py b/pygments/lexers/sql.py index f6539c36..a4cbc941 100644 --- a/pygments/lexers/sql.py +++ b/pygments/lexers/sql.py @@ -494,13 +494,13 @@ class TransactSqlLexer(RegexLexer): filenames = ['*.sql'] mimetypes = ['text/x-tsql'] + # Use re.UNICODE to allow non ASCII letters in names. flags = re.IGNORECASE | re.UNICODE tokens = { 'root': [ (r'\s+', Whitespace), (r'--.*?\n', Comment.Single), (r'/\*', Comment.Multiline, 'multiline-comments'), - (r'(-=|-)', Operator), # HACK: For some reason these operators do not work as part of OPERATORS. (words(_tsql_builtins.OPERATORS), Operator), (words(_tsql_builtins.OPERATOR_WORDS, suffix=r'\b'), Operator.Word), (words(_tsql_builtins.TYPES, suffix=r'\b'), Name.Class), @@ -520,8 +520,8 @@ class TransactSqlLexer(RegexLexer): (r'@@\w+', Name.Builtin), (r'@\w+', Name.Variable), (r'(\w+)(:)', bygroups(Name.Label, Punctuation)), - (r'#?#?\w+', Name), - (r'\?', Name.Variable.Magic), # Parameter for prepared statements + (r'#?#?\w+', Name), # names for temp tables and anything else + (r'\?', Name.Variable.Magic), # parameter for prepared statements ], 'multiline-comments': [ (r'/\*', Comment.Multiline, 'multiline-comments'), diff --git a/tests/examplefiles/test_transact-sql.txt b/tests/examplefiles/test_transact-sql.txt index 90e06c34..5e737ff4 100644 --- a/tests/examplefiles/test_transact-sql.txt +++ b/tests/examplefiles/test_transact-sql.txt @@ -29,9 +29,11 @@ declare @TextToFind nvarchar(100) = N'some text across multiple lines'; -set @TextToFind = 'hello' + ' world'; +set @TextToFind varchar(32) = 'hello' + ' world'; set @TextTiFind += '!'; +declare @Count int = 17 * (3 - 5); + delete from [server].[database].[schema].[table] where |