ApplySyntax
ApplySyntax copied to clipboard
Not being able to find a syntax should not only be printed in debug mode
While trying to figure out why my rule didn't work and eventually setting "debug": true
, I noticed the following on the console:
ApplySyntax: Syntax file for Bash does not exist at Packages/Shellscript/Bash.sublime-syntax
In my opinion, this is not the kind of message that should require to enable debug mode to be visible. Note that I'm only using custom rules and none of the defaults, but even then I still believe such a message could be useful to see every once in a while for people who do not have the third-party syntax installed that the default configuration wants to set.
For multiple syntaxes ina rule, this should only report whether each syntax can be found either in debug mode or when none of them could be found.
My rule, for comparison:
{
"syntax": "Shellscript/Bash",
"rules": [
{"file_path": ".*/\\.env(\\.[^/]*)?$"},
]
},
(must be ShellScript
)
Yeah, we could consider printing it outside of debug. The idea was that people could enable debug when they were adding and debugging custom commands and then disable debug to turn off noise once they've confirmed their custom rules were working.
The idea is that when you notice a problem, you can enable debug to see what is going on, but I guess we could consider always displaying. I'll evaluate potential annoyances that could occur if we do this. I wonder if default rules, which may not apply to everyone's system, would cause a lot of noise. If so, I may pass on this.
Just fyi, for my AutoSetSyntax
plugin,
- It prints messages to its own output panel rather than the console.
- It prints "dropped" (malformed/useless rules, syntax not found etc) rules when plugin starts.
Example Output Panle Msg
🤠 Howdy! This is AutoSetSyntax 2.11.10. (Panel for Window(2))
🌱 Environment: ST 4150 (windows_x64 dev build) with Python 3.8.12
🔍 Found "Match" implementations: all, any, ratio, some
🔍 Found "Constraint" implementations: contains, contains_regex, first_line_contains, first_line_contains_regex, is_arch, is_extension, is_guesslang_enabled, is_hidden_syntax, is_in_git_repo, is_in_hg_repo, is_in_python_django_project, is_in_ruby_on_rails_project, is_in_svn_repo, is_interpreter, is_line_count, is_name, is_platform, is_platform_arch, is_size, is_syntax, name_contains, name_contains_regex, path_contains, path_contains_regex, relative_exists, selector_matches
📜 Compiled syntax rule collection: SyntaxRuleCollection(version='2.11.10', rules=(SyntaxRule(comment='AutoSetSyntax Debug Information', syntax=Syntax('Packages/Python/Python.sublime-syntax', 'Python', False, 'source.python'), syntaxes_name=('scope:source.python',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.first_line_contains_regex.FirstLineContainsRegexConstraint object>", constraint_name='first_line_contains_regex', args=('^# === AutoSetSyntax Debug Information === #',), kwargs={}, inverted=False),))), SyntaxRule(comment='', syntax=Syntax('Packages/Markdown/Markdown.sublime-syntax', 'Markdown', False, 'text.html.markdown'), syntaxes_name=('scope:text.html.markdown',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('TODO', 'README', 'CHANGELOG'), kwargs={}, inverted=False),))), SyntaxRule(comment='', syntax=Syntax('Packages/User/my_language/requirements-txt/pip-requirements.sublime-syntax', 'pip requirements', False, 'source.pip-requirements'), syntaxes_name=('scope:source.pip-requirements',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.name_contains_regex.NameContainsRegexConstraint object>", constraint_name='name_contains_regex', args=('^requirements(-.*)?.txt$',), kwargs={}, inverted=False),))), SyntaxRule(comment='', syntax=Syntax('Packages/User/my_language/SSH-Config/SSH-Config.sublime-syntax', 'SSH Config', False, 'source.ssh-config'), syntaxes_name=('scope:source.ssh-config',), selector='text.plain | text.xml.config', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.path_contains_regex.PathContainsRegexConstraint object>", constraint_name='path_contains_regex', args=('/\\.ssh/config$',), kwargs={}, inverted=False),))), SyntaxRule(comment='', syntax=Syntax('Packages/INI/INI.sublime-syntax', 'INI', False, 'source.ini'), syntaxes_name=('scope:source.ini',), selector='text.plain | text.xml.config', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^\\[[^\\]]+\\]\\s*$',), kwargs={'threshold': 1}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^[\\w.]+\\s*=',), kwargs={'threshold': 2}, inverted=False))), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^\\[[^\\]]+\\]\\s*$',), kwargs={'threshold': 3}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^[\\w.]+\\s*=',), kwargs={'threshold': 4}, inverted=False)))), SyntaxRule(comment='', syntax=Syntax('Packages/Python/Python.sublime-syntax', 'Python', False, 'source.python'), syntaxes_name=('scope:source.python',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^(?:def|class)\\s',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^import(?!\\s+groovy)(?:$|[\\s(])', '^from\\s+[a-zA-Z.]+\\s+import(?:$|[\\s(])'), kwargs={}, inverted=False)))), SyntaxRule(comment='Basic INI files', syntax=Syntax('Packages/INI/INI.sublime-syntax', 'INI', False, 'source.ini'), syntaxes_name=('scope:source.ini',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('.minttyrc', '.wslconfig'), kwargs={}, inverted=False),))), SyntaxRule(comment='Basic JSON files', syntax=Syntax('Packages/JSON/JSON.sublime-syntax', 'JSON', False, 'source.json'), syntaxes_name=('scope:source.json',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_extension.IsExtensionConstraint object>", constraint_name='is_extension', args=('.css.map', '.geojson', '.js.map', '.jsonc', '.webmanifest'), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('.babelrc', '.bowerrc', '.csslintrc', '.eslintrc', '.jscsrc', '.jshintrc', '.markdownlintrc', '.stylelintrc'), kwargs={}, inverted=False)))), SyntaxRule(comment='Basic YAML files', syntax=Syntax('Packages/YAML/YAML.sublime-syntax', 'YAML', False, 'source.yaml'), syntaxes_name=('scope:source.yaml',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('.clang-format', '.clang-tidy', '.clangd'), kwargs={}, inverted=False),))), SyntaxRule(comment='', syntax=Syntax('Packages/ShellScript/Bash.sublime-syntax', 'Bash', False, 'source.shell.bash'), syntaxes_name=('scope:source.shell.bash',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('profile', '.bash_history'), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.name_contains_regex.NameContainsRegexConstraint object>", constraint_name='name_contains_regex', args=('\\.(?:bash|z(?:shrc|shenv|profile|login|logout))(?:\\.[^/]*)?$',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.first_line_contains_regex.FirstLineContainsRegexConstraint object>", constraint_name='first_line_contains_regex', args=('^\\s*#\\s+shellcheck\\s+shell=(?:bash|zsh)',), kwargs={}, inverted=False)))), SyntaxRule(comment='Linux .env files', syntax=Syntax('Packages/ShellScript/Bash.sublime-syntax', 'Bash', False, 'source.shell.bash'), syntaxes_name=('/DotENV.', 'scope:source.shell.bash'), selector='', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.selector_matches.SelectorMatchesConstraint object>", constraint_name='selector_matches', args=('text.plain',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_hidden_syntax.IsHiddenSyntaxConstraint object>", constraint_name='is_hidden_syntax', args=(), kwargs={}, inverted=False))), MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('.envrc',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.name_contains_regex.NameContainsRegexConstraint object>", constraint_name='name_contains_regex', args=('\\.(?:env)(?:\\.[^/]*)?$',), kwargs={}, inverted=False)))))), SyntaxRule(comment='', syntax=Syntax('Packages/Git Formats/Git Config.sublime-syntax', 'Git Config', False, 'text.git.config'), syntaxes_name=('scope:text.git.config',), selector='- text.git.config', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.path_contains_regex.PathContainsRegexConstraint object>", constraint_name='path_contains_regex', args=('/\\.?git/config$',), kwargs={}, inverted=False),))), SyntaxRule(comment='', syntax=Syntax('Packages/C++/C++.sublime-syntax', 'C++', False, 'source.c++'), syntaxes_name=('scope:source.c++',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('(?:^|\\s)#include\\s*[<"]', '(?:^|\\s)#pragma\\s+(?:once|pack|(?:pop|push)_macro|warning)(?=$|\\s)', '(?:^|\\s)template\\s*<\\s*(?:class|typename)(?=$|\\s)', '\\b(?:const(?:eval|expr|init)|decltype|nullptr|(?:const|dynamic|reinterpret|static)_cast)(?=$|\\s)'), kwargs={}, inverted=False),))), SyntaxRule(comment='', syntax=Syntax('Packages/C#/C#.sublime-syntax', 'C#', False, 'source.cs'), syntaxes_name=('scope:source.cs',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^using\\s',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^namespace\\s',), kwargs={}, inverted=False)))), SyntaxRule(comment='', syntax=Syntax('Packages/Diff/Diff.sublime-syntax', 'Diff', False, 'source.diff'), syntaxes_name=('scope:source.diff',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^\\+{3} ',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^-{3} ',), kwargs={}, inverted=False))), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^@@ -\\d+,\\d+ \\+\\d+,\\d+ @@',), kwargs={}, inverted=False)))), SyntaxRule(comment='', syntax=Syntax('Packages/Go/Go.sublime-syntax', 'Go', False, 'source.go'), syntaxes_name=('scope:source.go',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^(?:package)\\s',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^(?:import|func|type)\\s',), kwargs={}, inverted=False)))), SyntaxRule(comment='', syntax=Syntax('Packages/User/my_language/Jenkinsfile.sublime-syntax', 'Jenkinsfile', False, 'source.groovy.jenkinsfile'), syntaxes_name=('Jenkinsfile', 'scope:source.groovy'), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.name_contains_regex.NameContainsRegexConstraint object>", constraint_name='name_contains_regex', args=('^Jenkinsfile(?=\\b|_)',), kwargs={}, inverted=False),))), SyntaxRule(comment='', syntax=Syntax('Packages/Java/Java.sublime-syntax', 'Java', False, 'source.java'), syntaxes_name=('scope:source.java',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.first_line_contains_regex.FirstLineContainsRegexConstraint object>", constraint_name='first_line_contains_regex', args=('^\\s*import\\s+java\\.',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('\\bimport\\s+java\\.', '\\bSystem\\.out\\.println\\s*\\('), kwargs={'threshold': 2}, inverted=False)))), SyntaxRule(comment='', syntax=Syntax('Packages/JavaScript/JavaScript.sublime-syntax', 'JavaScript', False, 'source.js'), syntaxes_name=('scope:source.js',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_guesslang_enabled.IsGuesslangEnabledConstraint object>", constraint_name='is_guesslang_enabled', args=(), kwargs={}, inverted=True), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('\\bconsole\\.(?:assert|debug|error|info|log|trace|warn)\\s*\\(', '(?:^|\\s)export\\s+default\\s'), kwargs={}, inverted=False)))), SyntaxRule(comment='', syntax=Syntax('Packages/Lua/Lua.sublime-syntax', 'Lua', False, 'source.lua'), syntaxes_name=('scope:source.lua',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('.conkyrc',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_interpreter.IsInterpreterConstraint object>", constraint_name='is_interpreter', args=('lua',), kwargs={}, inverted=False)))), SyntaxRule(comment='Makefile', syntax=Syntax('Packages/Makefile/Makefile.sublime-syntax', 'Makefile', False, 'source.makefile'), syntaxes_name=('scope:source.makefile',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.name_contains_regex.NameContainsRegexConstraint object>", constraint_name='name_contains_regex', args=('^Makefile\\.',), kwargs={'regex_flags': ['IGNORECASE']}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^.PHONY\\s*:',), kwargs={}, inverted=False)))), SyntaxRule(comment='', syntax=Syntax('Packages/Matlab/Matlab.sublime-syntax', 'MATLAB', False, 'source.matlab'), syntaxes_name=('scope:source.matlab',), selector='text.plain | source.objc', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_extension.IsExtensionConstraint object>", constraint_name='is_extension', args=('.m',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^\\s*%',), kwargs={'threshold': 2}, inverted=False)))), SyntaxRule(comment='', syntax=Syntax('Packages/Objective-C/Objective-C.sublime-syntax', 'Objective-C', False, 'source.objc'), syntaxes_name=('scope:source.objc',), selector='text.plain | source.matlab', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_extension.IsExtensionConstraint object>", constraint_name='is_extension', args=('.m',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^\\s*(?:@(?:interface|class|protocol|property|end|synchronised|selector|implementation)\\b|#import\\s+.+\\.h[">])',), kwargs={}, inverted=False)))), SyntaxRule(comment='"Ruby on Rails" project', syntax=Syntax('Packages/Rails/Ruby (Rails).sublime-syntax', 'Ruby (Rails)', False, 'source.ruby.rails'), syntaxes_name=('scope:source.ruby.rails',), selector='source.ruby', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_extension.IsExtensionConstraint object>", constraint_name='is_extension', args=('.rb', '.rake'), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_in_ruby_on_rails_project.IsInRubyOnRailsProjectConstraint object>", constraint_name='is_in_ruby_on_rails_project', args=(), kwargs={}, inverted=False)))), SyntaxRule(comment='', syntax=Syntax('Packages/Ruby/Ruby.sublime-syntax', 'Ruby', False, 'source.ruby'), syntaxes_name=('scope:source.ruby',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_extension.IsExtensionConstraint object>", constraint_name='is_extension', args=('.simplecov',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('Cartfile', 'Cartfile.private', 'Cartfile.resolved', 'config.ru', 'Dangerfile'), kwargs={'case_insensitive': True}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_interpreter.IsInterpreterConstraint object>", constraint_name='is_interpreter', args=('ruby',), kwargs={}, inverted=False)))), SyntaxRule(comment='', syntax=None, syntaxes_name=('scope:text.html.handlebars',), selector='text.plain | text.html', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_extension.IsExtensionConstraint object>", constraint_name='is_extension', args=('.html',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.first_line_contains_regex.FirstLineContainsRegexConstraint object>", constraint_name='first_line_contains_regex', args=('^<template name=',), kwargs={}, inverted=False)))), SyntaxRule(comment='Django templates', syntax=Syntax('Packages/Jinja2/resources/syntax/Jinja.sublime-syntax', 'Jinja', False, 'text.jinja'), syntaxes_name=('scope:text.jinja', 'scope:text.html.jinja'), selector='text.html.basic', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.path_contains.PathContainsConstraint object>", constraint_name='path_contains', args=('/templates/',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_in_python_django_project.IsInPythonDjangoProjectConstraint object>", constraint_name='is_in_python_django_project', args=(), kwargs={}, inverted=False)))), SyntaxRule(comment='Jinja2/Twig HTML files', syntax=Syntax('Packages/Jinja2/resources/syntax/Jinja.sublime-syntax', 'Jinja', False, 'text.jinja'), syntaxes_name=('scope:text.jinja', 'scope:text.html.jinja', 'scope:text.html.twig'), selector='text.html.basic', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('{{', '{%\\s*(?:autoescape|call|elif|else|extends|filter|for|from|if|import|include|macro|set|trans|with)\\b'), kwargs={'threshold': 4}, inverted=False),))), SyntaxRule(comment='', syntax=Syntax('Packages/SQL/SQL.sublime-syntax', 'SQL', False, 'source.sql'), syntaxes_name=('scope:source.sql',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.first_line_contains.FirstLineContainsConstraint object>", constraint_name='first_line_contains', args=('-- phpMyAdmin SQL Dump',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('\\bCREATE\\s+TABLE\\s+IF\\s+NOT\\s+EXISTS\\b',), kwargs={'regex_flags': ['MULTILINE', 'IGNORECASE']}, inverted=False)))), SyntaxRule(comment='', syntax=None, syntaxes_name=('scope:source.typoscript',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('ext_conf_template.txt', 'ext_typoscript_constants.txt', 'ext_typoscript_setup.txt'), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.path_contains_regex.PathContainsRegexConstraint object>", constraint_name='path_contains_regex', args=('^.*/(?:fileadmin|typo3|TypoScript).*/(?:setup|constants)\\.txt$',), kwargs={}, inverted=False)))), SyntaxRule(comment='Apache config', syntax=Syntax('Packages/User/my_language/ApacheConf/ApacheConf.sublime-syntax', 'Apache Conf', False, 'source.apacheconf'), syntaxes_name=('scope:source.apacheconf',), selector='text.plain | source.nginx', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.path_contains_regex.PathContainsRegexConstraint object>", constraint_name='path_contains_regex', args=('\\b(?i:apache|httpd)\\b.*/conf/.*\\.conf$',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('<(?:VirtualHost|Directory|Macro)(?:$|\\s)',), kwargs={}, inverted=False)))), SyntaxRule(comment='NGINX config', syntax=Syntax('Packages/nginx/Syntaxes/nginx.sublime-syntax', 'nginx', False, 'source.nginx'), syntaxes_name=('scope:source.nginx',), selector='text.plain | source.apacheconf', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.path_contains_regex.PathContainsRegexConstraint object>", constraint_name='path_contains_regex', args=('\\b(?i:nginx)\\b.*/conf/.*\\.conf$',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^\\s*(?:location\\s+(?:[~=/a-zA-Z])|(?:fastcgi_param|charset_map)\\s)',), kwargs={}, inverted=False)))), SyntaxRule(comment="Qt's config file", syntax=Syntax('Packages/INI/INI.sublime-syntax', 'INI', False, 'source.ini'), syntaxes_name=('scope:source.ini',), selector='- source.ini', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('qt.conf',), kwargs={}, inverted=False),))), SyntaxRule(comment="Qt's translation file", syntax=Syntax('Packages/XML/XML.sublime-syntax', 'XML', False, 'text.xml'), syntaxes_name=('scope:text.xml',), selector='source.ts', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_extension.IsExtensionConstraint object>", constraint_name='is_extension', args=('.ts',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.first_line_contains_regex.FirstLineContainsRegexConstraint object>", constraint_name='first_line_contains_regex', args=('^\\s*<\\?xml(?:$|\\s)',), kwargs={}, inverted=False)))), SyntaxRule(comment='Sublime Text/Merge changelog', syntax=Syntax('Packages/HTML/HTML.sublime-syntax', 'HTML', False, 'text.html.basic'), syntaxes_name=('scope:text.html.basic',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('changelog.txt',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.relative_exists.RelativeExistsConstraint object>", constraint_name='relative_exists', args=('sublime_text', 'sublime_text.exe', 'sublime_merge', 'sublime_merge.exe'), kwargs={}, inverted=False)))), SyntaxRule(comment='Package Control: Package installation/update messages', syntax=Syntax('Packages/Markdown/Markdown.sublime-syntax', 'Markdown', False, 'text.html.markdown'), syntaxes_name=('scope:text.html.markdown',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.first_line_contains_regex.FirstLineContainsRegexConstraint object>", constraint_name='first_line_contains_regex', args=('^Package Control Messages(?:$|\\s)',), kwargs={}, inverted=False),)))))
✨ Optimized syntax rule collection: SyntaxRuleCollection(version='2.11.10', rules=(SyntaxRule(comment='AutoSetSyntax Debug Information', syntax=Syntax('Packages/Python/Python.sublime-syntax', 'Python', False, 'source.python'), syntaxes_name=('scope:source.python',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.first_line_contains_regex.FirstLineContainsRegexConstraint object>", constraint_name='first_line_contains_regex', args=('^# === AutoSetSyntax Debug Information === #',), kwargs={}, inverted=False),))), SyntaxRule(comment='', syntax=Syntax('Packages/Markdown/Markdown.sublime-syntax', 'Markdown', False, 'text.html.markdown'), syntaxes_name=('scope:text.html.markdown',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('TODO', 'README', 'CHANGELOG'), kwargs={}, inverted=False),))), SyntaxRule(comment='', syntax=Syntax('Packages/User/my_language/requirements-txt/pip-requirements.sublime-syntax', 'pip requirements', False, 'source.pip-requirements'), syntaxes_name=('scope:source.pip-requirements',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.name_contains_regex.NameContainsRegexConstraint object>", constraint_name='name_contains_regex', args=('^requirements(-.*)?.txt$',), kwargs={}, inverted=False),))), SyntaxRule(comment='', syntax=Syntax('Packages/User/my_language/SSH-Config/SSH-Config.sublime-syntax', 'SSH Config', False, 'source.ssh-config'), syntaxes_name=('scope:source.ssh-config',), selector='text.plain | text.xml.config', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.path_contains_regex.PathContainsRegexConstraint object>", constraint_name='path_contains_regex', args=('/\\.ssh/config$',), kwargs={}, inverted=False),))), SyntaxRule(comment='', syntax=Syntax('Packages/INI/INI.sublime-syntax', 'INI', False, 'source.ini'), syntaxes_name=('scope:source.ini',), selector='text.plain | text.xml.config', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^\\[[^\\]]+\\]\\s*$',), kwargs={'threshold': 1}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^[\\w.]+\\s*=',), kwargs={'threshold': 2}, inverted=False))), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^\\[[^\\]]+\\]\\s*$',), kwargs={'threshold': 3}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^[\\w.]+\\s*=',), kwargs={'threshold': 4}, inverted=False)))), SyntaxRule(comment='', syntax=Syntax('Packages/Python/Python.sublime-syntax', 'Python', False, 'source.python'), syntaxes_name=('scope:source.python',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^(?:def|class)\\s',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^import(?!\\s+groovy)(?:$|[\\s(])', '^from\\s+[a-zA-Z.]+\\s+import(?:$|[\\s(])'), kwargs={}, inverted=False)))), SyntaxRule(comment='Basic INI files', syntax=Syntax('Packages/INI/INI.sublime-syntax', 'INI', False, 'source.ini'), syntaxes_name=('scope:source.ini',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('.minttyrc', '.wslconfig'), kwargs={}, inverted=False),))), SyntaxRule(comment='Basic JSON files', syntax=Syntax('Packages/JSON/JSON.sublime-syntax', 'JSON', False, 'source.json'), syntaxes_name=('scope:source.json',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_extension.IsExtensionConstraint object>", constraint_name='is_extension', args=('.css.map', '.geojson', '.js.map', '.jsonc', '.webmanifest'), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('.babelrc', '.bowerrc', '.csslintrc', '.eslintrc', '.jscsrc', '.jshintrc', '.markdownlintrc', '.stylelintrc'), kwargs={}, inverted=False)))), SyntaxRule(comment='Basic YAML files', syntax=Syntax('Packages/YAML/YAML.sublime-syntax', 'YAML', False, 'source.yaml'), syntaxes_name=('scope:source.yaml',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('.clang-format', '.clang-tidy', '.clangd'), kwargs={}, inverted=False),))), SyntaxRule(comment='', syntax=Syntax('Packages/ShellScript/Bash.sublime-syntax', 'Bash', False, 'source.shell.bash'), syntaxes_name=('scope:source.shell.bash',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('profile', '.bash_history'), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.name_contains_regex.NameContainsRegexConstraint object>", constraint_name='name_contains_regex', args=('\\.(?:bash|z(?:shrc|shenv|profile|login|logout))(?:\\.[^/]*)?$',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.first_line_contains_regex.FirstLineContainsRegexConstraint object>", constraint_name='first_line_contains_regex', args=('^\\s*#\\s+shellcheck\\s+shell=(?:bash|zsh)',), kwargs={}, inverted=False)))), SyntaxRule(comment='Linux .env files', syntax=Syntax('Packages/ShellScript/Bash.sublime-syntax', 'Bash', False, 'source.shell.bash'), syntaxes_name=('/DotENV.', 'scope:source.shell.bash'), selector='', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.selector_matches.SelectorMatchesConstraint object>", constraint_name='selector_matches', args=('text.plain',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_hidden_syntax.IsHiddenSyntaxConstraint object>", constraint_name='is_hidden_syntax', args=(), kwargs={}, inverted=False))), MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('.envrc',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.name_contains_regex.NameContainsRegexConstraint object>", constraint_name='name_contains_regex', args=('\\.(?:env)(?:\\.[^/]*)?$',), kwargs={}, inverted=False)))))), SyntaxRule(comment='', syntax=Syntax('Packages/Git Formats/Git Config.sublime-syntax', 'Git Config', False, 'text.git.config'), syntaxes_name=('scope:text.git.config',), selector='- text.git.config', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.path_contains_regex.PathContainsRegexConstraint object>", constraint_name='path_contains_regex', args=('/\\.?git/config$',), kwargs={}, inverted=False),))), SyntaxRule(comment='', syntax=Syntax('Packages/C++/C++.sublime-syntax', 'C++', False, 'source.c++'), syntaxes_name=('scope:source.c++',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('(?:^|\\s)#include\\s*[<"]', '(?:^|\\s)#pragma\\s+(?:once|pack|(?:pop|push)_macro|warning)(?=$|\\s)', '(?:^|\\s)template\\s*<\\s*(?:class|typename)(?=$|\\s)', '\\b(?:const(?:eval|expr|init)|decltype|nullptr|(?:const|dynamic|reinterpret|static)_cast)(?=$|\\s)'), kwargs={}, inverted=False),))), SyntaxRule(comment='', syntax=Syntax('Packages/C#/C#.sublime-syntax', 'C#', False, 'source.cs'), syntaxes_name=('scope:source.cs',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^using\\s',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^namespace\\s',), kwargs={}, inverted=False)))), SyntaxRule(comment='', syntax=Syntax('Packages/Diff/Diff.sublime-syntax', 'Diff', False, 'source.diff'), syntaxes_name=('scope:source.diff',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^\\+{3} ',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^-{3} ',), kwargs={}, inverted=False))), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^@@ -\\d+,\\d+ \\+\\d+,\\d+ @@',), kwargs={}, inverted=False)))), SyntaxRule(comment='', syntax=Syntax('Packages/Go/Go.sublime-syntax', 'Go', False, 'source.go'), syntaxes_name=('scope:source.go',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^(?:package)\\s',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^(?:import|func|type)\\s',), kwargs={}, inverted=False)))), SyntaxRule(comment='', syntax=Syntax('Packages/User/my_language/Jenkinsfile.sublime-syntax', 'Jenkinsfile', False, 'source.groovy.jenkinsfile'), syntaxes_name=('Jenkinsfile', 'scope:source.groovy'), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.name_contains_regex.NameContainsRegexConstraint object>", constraint_name='name_contains_regex', args=('^Jenkinsfile(?=\\b|_)',), kwargs={}, inverted=False),))), SyntaxRule(comment='', syntax=Syntax('Packages/Java/Java.sublime-syntax', 'Java', False, 'source.java'), syntaxes_name=('scope:source.java',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.first_line_contains_regex.FirstLineContainsRegexConstraint object>", constraint_name='first_line_contains_regex', args=('^\\s*import\\s+java\\.',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('\\bimport\\s+java\\.', '\\bSystem\\.out\\.println\\s*\\('), kwargs={'threshold': 2}, inverted=False)))), SyntaxRule(comment='', syntax=Syntax('Packages/JavaScript/JavaScript.sublime-syntax', 'JavaScript', False, 'source.js'), syntaxes_name=('scope:source.js',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_guesslang_enabled.IsGuesslangEnabledConstraint object>", constraint_name='is_guesslang_enabled', args=(), kwargs={}, inverted=True), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('\\bconsole\\.(?:assert|debug|error|info|log|trace|warn)\\s*\\(', '(?:^|\\s)export\\s+default\\s'), kwargs={}, inverted=False)))), SyntaxRule(comment='', syntax=Syntax('Packages/Lua/Lua.sublime-syntax', 'Lua', False, 'source.lua'), syntaxes_name=('scope:source.lua',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('.conkyrc',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_interpreter.IsInterpreterConstraint object>", constraint_name='is_interpreter', args=('lua',), kwargs={}, inverted=False)))), SyntaxRule(comment='Makefile', syntax=Syntax('Packages/Makefile/Makefile.sublime-syntax', 'Makefile', False, 'source.makefile'), syntaxes_name=('scope:source.makefile',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.name_contains_regex.NameContainsRegexConstraint object>", constraint_name='name_contains_regex', args=('^Makefile\\.',), kwargs={'regex_flags': ['IGNORECASE']}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^.PHONY\\s*:',), kwargs={}, inverted=False)))), SyntaxRule(comment='', syntax=Syntax('Packages/Matlab/Matlab.sublime-syntax', 'MATLAB', False, 'source.matlab'), syntaxes_name=('scope:source.matlab',), selector='text.plain | source.objc', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_extension.IsExtensionConstraint object>", constraint_name='is_extension', args=('.m',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^\\s*%',), kwargs={'threshold': 2}, inverted=False)))), SyntaxRule(comment='', syntax=Syntax('Packages/Objective-C/Objective-C.sublime-syntax', 'Objective-C', False, 'source.objc'), syntaxes_name=('scope:source.objc',), selector='text.plain | source.matlab', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_extension.IsExtensionConstraint object>", constraint_name='is_extension', args=('.m',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^\\s*(?:@(?:interface|class|protocol|property|end|synchronised|selector|implementation)\\b|#import\\s+.+\\.h[">])',), kwargs={}, inverted=False)))), SyntaxRule(comment='"Ruby on Rails" project', syntax=Syntax('Packages/Rails/Ruby (Rails).sublime-syntax', 'Ruby (Rails)', False, 'source.ruby.rails'), syntaxes_name=('scope:source.ruby.rails',), selector='source.ruby', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_extension.IsExtensionConstraint object>", constraint_name='is_extension', args=('.rb', '.rake'), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_in_ruby_on_rails_project.IsInRubyOnRailsProjectConstraint object>", constraint_name='is_in_ruby_on_rails_project', args=(), kwargs={}, inverted=False)))), SyntaxRule(comment='', syntax=Syntax('Packages/Ruby/Ruby.sublime-syntax', 'Ruby', False, 'source.ruby'), syntaxes_name=('scope:source.ruby',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_extension.IsExtensionConstraint object>", constraint_name='is_extension', args=('.simplecov',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('Cartfile', 'Cartfile.private', 'Cartfile.resolved', 'config.ru', 'Dangerfile'), kwargs={'case_insensitive': True}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_interpreter.IsInterpreterConstraint object>", constraint_name='is_interpreter', args=('ruby',), kwargs={}, inverted=False)))), SyntaxRule(comment='Django templates', syntax=Syntax('Packages/Jinja2/resources/syntax/Jinja.sublime-syntax', 'Jinja', False, 'text.jinja'), syntaxes_name=('scope:text.jinja', 'scope:text.html.jinja'), selector='text.html.basic', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.path_contains.PathContainsConstraint object>", constraint_name='path_contains', args=('/templates/',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_in_python_django_project.IsInPythonDjangoProjectConstraint object>", constraint_name='is_in_python_django_project', args=(), kwargs={}, inverted=False)))), SyntaxRule(comment='Jinja2/Twig HTML files', syntax=Syntax('Packages/Jinja2/resources/syntax/Jinja.sublime-syntax', 'Jinja', False, 'text.jinja'), syntaxes_name=('scope:text.jinja', 'scope:text.html.jinja', 'scope:text.html.twig'), selector='text.html.basic', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('{{', '{%\\s*(?:autoescape|call|elif|else|extends|filter|for|from|if|import|include|macro|set|trans|with)\\b'), kwargs={'threshold': 4}, inverted=False),))), SyntaxRule(comment='', syntax=Syntax('Packages/SQL/SQL.sublime-syntax', 'SQL', False, 'source.sql'), syntaxes_name=('scope:source.sql',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.first_line_contains.FirstLineContainsConstraint object>", constraint_name='first_line_contains', args=('-- phpMyAdmin SQL Dump',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('\\bCREATE\\s+TABLE\\s+IF\\s+NOT\\s+EXISTS\\b',), kwargs={'regex_flags': ['MULTILINE', 'IGNORECASE']}, inverted=False)))), SyntaxRule(comment='Apache config', syntax=Syntax('Packages/User/my_language/ApacheConf/ApacheConf.sublime-syntax', 'Apache Conf', False, 'source.apacheconf'), syntaxes_name=('scope:source.apacheconf',), selector='text.plain | source.nginx', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.path_contains_regex.PathContainsRegexConstraint object>", constraint_name='path_contains_regex', args=('\\b(?i:apache|httpd)\\b.*/conf/.*\\.conf$',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('<(?:VirtualHost|Directory|Macro)(?:$|\\s)',), kwargs={}, inverted=False)))), SyntaxRule(comment='NGINX config', syntax=Syntax('Packages/nginx/Syntaxes/nginx.sublime-syntax', 'nginx', False, 'source.nginx'), syntaxes_name=('scope:source.nginx',), selector='text.plain | source.apacheconf', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.path_contains_regex.PathContainsRegexConstraint object>", constraint_name='path_contains_regex', args=('\\b(?i:nginx)\\b.*/conf/.*\\.conf$',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.contains_regex.ContainsRegexConstraint object>", constraint_name='contains_regex', args=('^\\s*(?:location\\s+(?:[~=/a-zA-Z])|(?:fastcgi_param|charset_map)\\s)',), kwargs={}, inverted=False)))), SyntaxRule(comment="Qt's config file", syntax=Syntax('Packages/INI/INI.sublime-syntax', 'INI', False, 'source.ini'), syntaxes_name=('scope:source.ini',), selector='- source.ini', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('qt.conf',), kwargs={}, inverted=False),))), SyntaxRule(comment="Qt's translation file", syntax=Syntax('Packages/XML/XML.sublime-syntax', 'XML', False, 'text.xml'), syntaxes_name=('scope:text.xml',), selector='source.ts', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_extension.IsExtensionConstraint object>", constraint_name='is_extension', args=('.ts',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.first_line_contains_regex.FirstLineContainsRegexConstraint object>", constraint_name='first_line_contains_regex', args=('^\\s*<\\?xml(?:$|\\s)',), kwargs={}, inverted=False)))), SyntaxRule(comment='Sublime Text/Merge changelog', syntax=Syntax('Packages/HTML/HTML.sublime-syntax', 'HTML', False, 'text.html.basic'), syntaxes_name=('scope:text.html.basic',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('changelog.txt',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.relative_exists.RelativeExistsConstraint object>", constraint_name='relative_exists', args=('sublime_text', 'sublime_text.exe', 'sublime_merge', 'sublime_merge.exe'), kwargs={}, inverted=False)))), SyntaxRule(comment='Package Control: Package installation/update messages', syntax=Syntax('Packages/Markdown/Markdown.sublime-syntax', 'Markdown', False, 'text.html.markdown'), syntaxes_name=('scope:text.html.markdown',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.first_line_contains_regex.FirstLineContainsRegexConstraint object>", constraint_name='first_line_contains_regex', args=('^Package Control Messages(?:$|\\s)',), kwargs={}, inverted=False),)))))
💀 Dropped rules during optimizing: (SyntaxRule(comment='', syntax=None, syntaxes_name=('scope:text.html.handlebars',), selector='text.plain | text.html', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.all.AllMatch object>", match_name='all', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_extension.IsExtensionConstraint object>", constraint_name='is_extension', args=('.html',), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.first_line_contains_regex.FirstLineContainsRegexConstraint object>", constraint_name='first_line_contains_regex', args=('^<template name=',), kwargs={}, inverted=False)))), SyntaxRule(comment='', syntax=None, syntaxes_name=('scope:source.typoscript',), selector='text.plain', on_events=None, root_rule=MatchRule(match="<AutoSetSyntax.plugin.rules.matches.any.AnyMatch object>", match_name='any', args=(), kwargs={}, rules=(ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.is_name.IsNameConstraint object>", constraint_name='is_name', args=('ext_conf_template.txt', 'ext_typoscript_constants.txt', 'ext_typoscript_setup.txt'), kwargs={}, inverted=False), ConstraintRule(constraint="<AutoSetSyntax.plugin.rules.constraints.path_contains_regex.PathContainsRegexConstraint object>", constraint_name='path_contains_regex', args=('^.*/(?:fileadmin|typo3|TypoScript).*/(?:setup|constants)\\.txt$',), kwargs={}, inverted=False)))))
🎉 Plugin is ready now!
🤝 Connected to guesslang server: ws://localhost:30000
💬 Guesslang server says: Welcome!
❌ Cannot help View(20, "D:/jfcherng/Desktop/repos/sdlc/hub-rest-api-python/bd_cli/commands/bdaas/bdaas_upload.py") because {'event': "<ListenerEvent.LOAD('load')>", 'reason': 'no matching rule'}
❌ Cannot help View(22, "D:/jfcherng/Desktop/repos/sdlc/hub-rest-api-python/bd_cli/helpers/scan.py") because {'event': "<ListenerEvent.LOAD('load')>", 'reason': 'no matching rule'}