Server IP : 85.214.239.14 / Your IP : 52.15.92.58 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/self/root/lib/python3/dist-packages/pygments/lexers/ |
Upload File : |
""" pygments.lexers.qlik ~~~~~~~~~~~~~~~~~~~~ Lexer for the qlik scripting language :copyright: Copyright 2006-2022 by the Pygments team, see AUTHORS. :license: BSD, see LICENSE for details. """ import re from pygments.lexer import RegexLexer, include, bygroups, words from pygments.token import Comment, Keyword, Name, Number, Operator, \ Punctuation, String, Text from pygments.lexers._qlik_builtins import OPERATORS_LIST, STATEMENT_LIST, \ SCRIPT_FUNCTIONS, CONSTANT_LIST __all__ = ["QlikLexer"] class QlikLexer(RegexLexer): """ Lexer for qlik code, including .qvs files .. versionadded:: 2.12 """ name = "Qlik" aliases = ["qlik", "qlikview", "qliksense", "qlikscript"] filenames = ["*.qvs", "*.qvw"] flags = re.IGNORECASE tokens = { # Handle multi-line comments "comment": [ (r"\*/", Comment.Multiline, "#pop"), (r"[^*]+", Comment.Multiline), ], # Handle numbers "numerics": [ (r"\b\d+\.\d+(e\d+)?[fd]?\b", Number.Float), (r"\b\d+\b", Number.Integer), ], # Handle variable names in things "interp": [ ( r"(\$\()(\w+)(\))", bygroups(String.Interpol, Name.Variable, String.Interpol), ), ], # Handle strings "string": [ (r"'", String, "#pop"), include("interp"), (r"[^'$]+", String), (r"\$", String), ], # "assignment": [ (r";", Punctuation, "#pop"), include("root"), ], "field_name_quote": [ (r'"', String.Symbol, "#pop"), include("interp"), (r"[^\"$]+", String.Symbol), (r"\$", String.Symbol), ], "field_name_bracket": [ (r"\]", String.Symbol, "#pop"), include("interp"), (r"[^\]$]+", String.Symbol), (r"\$", String.Symbol), ], "function": [(r"\)", Punctuation, "#pop"), include("root")], "root": [ # Whitespace and comments (r"\s+", Text.Whitespace), (r"/\*", Comment.Multiline, "comment"), (r"//.*\n", Comment.Single), # variable assignment (r"(let|set)(\s+)", bygroups(Keyword.Declaration, Text.Whitespace), "assignment"), # Word operators (words(OPERATORS_LIST["words"], prefix=r"\b", suffix=r"\b"), Operator.Word), # Statements (words(STATEMENT_LIST, suffix=r"\b"), Keyword), # Table names (r"[a-z]\w*:", Keyword.Declaration), # Constants (words(CONSTANT_LIST, suffix=r"\b"), Keyword.Constant), # Functions (words(SCRIPT_FUNCTIONS, suffix=r"(?=\s*\()"), Name.Builtin, "function"), # interpolation - e.g. $(variableName) include("interp"), # Quotes denote a field/file name (r'"', String.Symbol, "field_name_quote"), # Square brackets denote a field/file name (r"\[", String.Symbol, "field_name_bracket"), # Strings (r"'", String, "string"), # Numbers include("numerics"), # Operator symbols (words(OPERATORS_LIST["symbols"]), Operator), # Strings denoted by single quotes (r"'.+?'", String), # Words as text (r"\b\w+\b", Text), # Basic punctuation (r"[,;.()\\/]", Punctuation), ], }