sublime 的Bracket Highlighter插件配置文件

{
    //Debug logging
    "debug_enable": false,

    // When only either the left or right bracket can be found
    // this defines if the unmatched bracket should be shown.
    "show_unmatched" : true,

    // Do the opposite of "show_unmatched" for the languages listed below
    "show_unmatched_exceptions": [],

    // Enable high visibility by default when sublime starts up
    // If sublime is already running and this gets changed,
    // you will not see any changes (restart requrired to see change)
    "high_visibility_enabled_by_default": false,

    // High visibility style and color for high visibility mode
    // (solid|outline|underline)
    // ST3 has additional options of (thin_underline|squiggly|stippled)
    "high_visibility_style": "outline",

    // (scope|__default__|__bracket__)
    "high_visibility_color": "__bracket__",

    // Match brackets only when the cursor is touching the inside of the bracket
    "match_only_adjacent": false,

    // Character threshold to search
    "search_threshold": 5000,

    // Ignore threshold
    "ignore_threshold": false,

    // Set mode for string escapes to ignore (regex|string)
    "bracket_string_escape_mode": "string",

    // Set max number of multi-select brackets that will be searched automatically
    "auto_selection_threshold" : 10,

    // Enable this to completely kill highlighting if "auto_selection_threshold"
    // is exceeded.  Default is to highlight up to the "auto_selection_threshold".
    "kill_highlight_on_threshold": true,

    // Disable gutter icons when doing multi-select
    "no_multi_select_icons": false,

    // Rules that define the finding and matching of brackets
    // that are contained in a common scope.
    // Useful for bracket pairs that are the same but
    // share a common scope.  Brackets are found by
    // Finding the extent of the scope and using regex
    // to look at the beginning and end to identify bracket.
    // Use only if they cannot be targeted with traditional bracket
    // rules.
    "scope_brackets": [
        // Quotes
        {
            "name": "py_single_quote",
            "open": "u?r?((?:'')?')",
            "close": "((?:'')?')",
            "style": "single_quote",
            "scopes": ["string"],
            "language_filter": "whitelist",
            "language_list": ["Python"],
            "sub_bracket_search": "true",
            "enabled": true
        },
        {
            "name": "py_double_quote",
            "open": "u?r?((?:\"\")?\")",
            "close": "((?:\"\")?\")",
            "style": "double_quote",
            "scopes": ["string"],
            "language_filter": "whitelist",
            "language_list": ["Python"],
            "sub_bracket_search": "true",
            "enabled": true
        },
        {
            "name": "single_quote",
            "open": "(')",
            "close": "(')",
            "style": "single_quote",
            "scopes": ["string"],
            "language_filter": "blacklist",
            "language_list": ["Plain text", "Hex"],
            "sub_bracket_search": "true",
            "enabled": true
        },
        {
            "name": "double_quote",
            "open": "(\")",
            "close": "(\")",
            "style": "double_quote",
            "scopes": ["string"],
            "language_filter": "blacklist",
            "language_list": ["Plain text", "Hex"],
            "sub_bracket_search": "true",
            "enabled": true
        },
        // Regex for different Languages
        {
            "name": "jsregex",
            "open": " *(/)",
            "close": "(/)[igm]*",
            "style": "regex",
            "scopes": ["string"],
            "language_filter": "whitelist",
            "language_list": ["JavaScript"],
            "sub_bracket_search": "true",
            "enabled": true
        },
        {
            "name": "perlregex",
            "open": "(?:m|s|tr)(.|\n)",
            "close": "(.|\n)(?:[igmos]*)",
            "style": "regex",
            "scopes": ["string.regexp"],
            "language_filter": "whitelist",
            "language_list": ["Perl"],
            "sub_bracket_search": "true",
            "enabled": true
        },
        {
            "name": "rubyregex",
            "open": " *(/)",
            "close": "(/)[imxo]*",
            "style": "regex",
            "scopes": ["string"],
            "language_filter": "whitelist",
            "language_list": ["Ruby", "RSpec"],
            "sub_bracket_search": "true",
            "enabled": true
        },
        // Markdown
        {
            "name": "mditalic",
            "open": "(\\*|_)",
            "close": "(\\*|_)",
            "style": "default",
            "scopes": ["markup.italic"],
            "language_filter": "whitelist",
            "language_list": ["Markdown"],
            "sub_bracket_search": "true",
            "enabled": true
        },
        {
            "name": "mdbold",
            "open": "(\\*\\*|__)",
            "close": "(\\*\\*|__)",
            "style": "default",
            "scopes": ["markup.bold"],
            "language_filter": "whitelist",
            "language_list": ["Markdown"],
            "sub_bracket_search": "true",
            "enabled": true
        }
    ],

    // Rule definitions for finding and matching brackets.
    // Brackets are found by using regex and can use scope
    // qualifiers exclude certain matches.
    // Once all matches are found, the closest pair surrounding
    // the cursor are selected.
    "brackets": [
        // Basic brackets
        {
            "name": "curly",
            "open": "(\\{)",
            "close": "(\\})",
            "style": "curly",
            "scope_exclude": ["string", "comment"],
            "scope_exclude_exceptions": ["text.tex string.other.math"],
            "language_filter": "blacklist",
            "language_list": ["Plain text", "Hex"],
            "find_in_sub_search": "true",
            "ignore_string_escape": true,
            "enabled": true
        },
        {
            "name": "round",
            "open": "(\\()",
            "close": "(\\))",
            "style": "round",
            "scope_exclude_exceptions": ["text.tex string.other.math"],
            "scope_exclude": ["string", "comment", "punctuation.definition.case-pattern.shell"],
            "language_filter": "blacklist",
            "language_list": ["Plain text", "Hex"],
            "find_in_sub_search": "true",
            "ignore_string_escape": true,
            "enabled": true
        },
        {
            "name": "square",
            "open": "(\\[)",
            "close": "(\\])",
            "style": "square",
            "scope_exclude": ["string", "comment"],
            "scope_exclude_exceptions": ["text.tex string.other.math"],
            "language_filter": "blacklist",
            "language_list": ["Plain text", "Hex"],
            "find_in_sub_search": "true",
            "ignore_string_escape": true,
            "enabled": true
        },
        // HTML
        {
            "name": "html",
            "open": "(<)(?=[\\w\\:\\-]+(?:(?:\\s+[\\w\\-:]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^>\\s]+))?)*)\\s*\\/?>|\\/[\\w\\:\\-]+[^>]*>)",
            "close": "(?<=<)(?:[\\w\\:\\-]+(?:(?:\\s+[\\w\\-:]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^>\\s]+))?)*)\\s*\\/?|\\/[\\w\\:\\-]+[^>]*)(>)",
            "style": "tag",
            "scope_exclude": ["string", "comment"],
            "language_filter": "whitelist",
            "language_list": ["HTML", "HTML 5", "XML", "PHP", "Handlebars"],
            "plugin_library": "bh_modules.tags",
            "find_in_sub_search": "only",
            "enabled": false
        },
        // CFML
        {
            "name": "cfml",
            "open": "(<)(?=[\\w\\:\\-]+(?:(?:\\s+[\\w\\-\\.:]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^>\\s]+))?)*|(?:(?<=cfif)|(?<=cfelseif))[^>]+)\\s*\\/?>|\\/[\\w\\:\\-]+[^>]*>)",
            "close": "(?<=<)(?:[\\w\\:\\-]+(?:(?:\\s+[\\w\\-\\.:]+(?:\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^>\\s]+))?)*|(?:(?<=cfif)|(?<=cfelseif))[^>]+)\\s*\\/?|\\/[\\w\\:\\-]+[^>]*)(>)",
            "style": "tag",
            "scope_exclude": ["string", "comment"],
            "language_filter": "whitelist",
            "language_list": ["HTML+CFML", "ColdFusion", "ColdFusionCFC"],
            "plugin_library": "bh_modules.tags",
            "find_in_sub_search": "only",
            "enabled": false
        },
        // PHP Angle
        {
            "name": "php_angle",
            "open": "(<\\?)(?:php)?",
            "close": "(\\?>)",
            "style": "angle",
            "scope_exclude": ["string", "comment", "keyword.operator"],
            "language_filter": "whitelist",
            "language_list": ["HTML", "HTML 5", "PHP"],
            "enabled": true
        },
        // Angle
        {
            "name": "angle",
            "open": "(<)(?!\\?)",
            "close": "(?<!\\?)(>)",
            "style": "angle",
            "scope_exclude": ["string", "comment", "keyword.operator", "source.ruby.rails.embedded.html", "source.ruby.embedded.html"],
            "language_filter": "whitelist",
            "language_list": ["HTML", "HTML 5", "XML", "PHP", "HTML (Rails)", "HTML (Jinja Templates)", "HTML (Twig)", "HTML+CFML", "ColdFusion", "ColdFusionCFC", "laravel-blade", "Handlebars", "AngularJS"],
            "plugin_library": "bh_modules.tags",
            "enabled": true
        },
        // CSSedit groups
        {
            "name": "cssedit_groups",
            "open": "(/\\* *@group .*\\*/)",
            "close": "(/\\* *@end *\\*/)",
            "style": "default",
            "scope_exclude": [],
            "language_filter": "whitelist",
            "language_list": ["CSS"],
            "enabled": true
        },
        // Ruby embedded HTML
        {
            "name": "ruby_embedded_html",
            "open": "((?:(?<=<%)|(?<=^)|(?<==))\\s*\\b(?:if|begin)\\b|(?:(?<=<%)|(?<=^))\\s*\\b(?:case|for|until|unless|while|class|module|def\\b[\\p{Ll}\\p{Lu}]*)|\\bdo)\\b",
            "close": "\\b(end)\\b",
            "style": "default",
            "scope_exclude": ["text.html", "source", "comment", "string"],
            "scope_exclude_exceptions": ["source.ruby.rails.embedded.html", "source.ruby.embedded.html"],
            "plugin_library": "bh_modules.rubykeywords",
            "language_filter": "whitelist",
            "language_list": ["HTML", "HTML 5", "PHP", "HTML (Rails)"],
            "enabled": true
        },
        // Ruby conditional statements
        {
            "name": "ruby",
            "open": "((?:(?<=^)|(?<==))\\s*\\b(?:if|begin)\\b|^\\s*\\b(?:case|for|until|unless|while|class|module|def\\b[\\p{Ll}\\p{Lu}]*)|\\bdo)\\b",
            "close": "\\b(end)\\b",
            "style": "default",
            "scope_exclude": ["string", "comment"],
            "plugin_library": "bh_modules.rubykeywords",
            "language_filter": "whitelist",
            "language_list": ["Ruby", "RSpec", "Ruby on Rails"],
            "enabled": true
        },
        // C/C++ compile switches
        {
            "name": "c_compile_switch",
            "open": "(\\#(?:if|ifdef|ifndef))\\b",
            "close": "(\\#endif)\\b",
            "style": "c_define",
            "scope_exclude": ["string", "comment"],
            "language_filter": "whitelist",
            "language_list": ["C++", "C", "Objective-C", "CCpp"],
            "enabled": true
        },
        // PHP conditional keywords
        {
            "name": "php_keywords",
            "open": "(?:^\\s*|<\\?(?:php)?\\s*)?\\b(if|foreach|for|while|switch)\\b(?=.*:\\s*(?:\\?>\\s*)?$)",
            "close": "(?:^\\s*|<\\?(?:php)?\\s*)?\\b(endif|endfor|endforeach|endwhile|endswitch)\\b(?=\\s*;\\s*(?:\\?>\\s*)?$)",
            "style": "default",
            "language_filter": "whitelist",
            "scope_exclude": ["string", "comment"],
            "plugin_library": "bh_modules.phpkeywords",
            "language_list": ["HTML", "HTML 5", "XML", "PHP", "HTML+CFML", "ColdFusion", "ColdFusionCFC"],
            "enabled": true
        },
        // Erlang conditional statements
        {
            "name": "erlang",
            "open": "\\s*(\\b(?:if|case|begin|try|fun(?=\\s*\\()|receive)\\b)",
            "close": "\\b(end)\\b",
            "style": "default",
            "scope_exclude": ["string", "comment"],
            "language_filter": "whitelist",
            "plugin_library": "bh_modules.erlangcase",
            "language_list": ["Erlang", "HTML (Erlang)"],
            "enabled": true
        },
        //Bash
        {
            "name": "bash",
            "open": "(?:(?<!\\\\\\n)(?:;|^|&|\\|)\\s*)\\b(if|case|while|select|until|for)\\s",
            "close": "(?:(?<!\\\\\\n)(?:;|^)\\s*)\\b(fi|esac|done)(?=;|\\s|$)",
            "style": "default",
            "scope_exclude": ["string", "comment"],
            "plugin_library": "bh_modules.bashsupport",
            "language_filter": "whitelist",
            "language_list": ["Shell-Unix-Generic"],
            "enabled": true
        },
        //Fish shell
        {
            "name": "fish",
            "open": "(?:(?<!\\\\\\n)(?:;|^|&|\\||and|or|not)\\s*)\\b(begin|if|while|for|switch|function)(?:;|\\s)",
            "close": "(?:(?<!\\\\\\n)(?:;|^)\\s*)\\b(end)(?=;|\\s|$)",
            "style": "default",
            "scope_exclude": ["string", "comment"],
            "language_filter": "whitelist",
            "language_list": ["fish"],
            "enabled": true
        }
    ],

    // user_scope_brackets and user_brackets will be appended
    // to the tail of scope_brackets and brackets respectively
    // If you have custom rules that you don't want to commit to
    // the offial list, and do not need to be inserted before
    // one of the offical defintions, this is a good place to
    // put yours rules and keep in sync with the defaults.
    "user_scope_brackets": [],
    "user_brackets": [],

    // Define region highlight styles
    "bracket_styles": {
        // "default" and "unmatched" styles are special
        // styles. If they are not defined here,
        // they will be generated internally with
        // internal defaults.

        // "default" style defines attributes that
        // will be used for any style that does not
        // explicitly define that attribute.  So if
        // a style does not define a color, it will
        // use the color from the "default" style.
        "default": {
            "icon": "dot",
            // BH1's original default color for reference
            // "color": "entity.name.class",
            "color": "brackethighlighter.default",
            "style": "hightlight"
        },

        // This particular style is used to highlight
        // unmatched bracekt pairs.  It is a special
        // style.
        "unmatched": {
            "icon": "question",
            "color": "brackethighlighter.unmatched",
            "style": "hightlight"
        },
        // User defined region styles
        "curly": {
            "icon": "curly_bracket",
            "color": "brackethighlighter.curly",
            "style": "hightlight"
        },
        "round": {
            "icon": "round_bracket",
            "color": "brackethighlighter.round",
            "style": "hightlight"
        },
        "square": {
            "icon": "square_bracket",
            "color": "brackethighlighter.square",
            "style": "hightlight"
        },
        "angle": {
            "icon": "angle_bracket",
            "color": "brackethighlighter.angle",
            "style": "hightlight"
        },
        "tag": {
            "icon": "tag",
            "endpoints": true,
            "color": "brackethighlighter.tag",
            "style": "hightlight"
        },
        "c_define": {
            "icon": "hash",
            "color": "brackethighlighter.c_define",
            "style": "hightlight"
        },
        "single_quote": {
            "icon": "single_quote",
            "color": "brackethighlighter.quote",
            "style": "hightlight"
        },
        "double_quote": {
            "icon": "double_quote",
            "color": "brackethighlighter.quote",
            "style": "hightlight"
        },
        "regex": {
            "icon": "regex",
            "color": "brackethighlighter.quote",
            "style": "hightlight"
        }
    },

    /* Plugin settings */

    // Style to use for matched tags
    "tag_style": "tag",

    // Scopes to exclude from tag searches
    "tag_scope_exclude": ["string", "comment"],

    // Determine which style of tag-matching to use in which syntax
    "tag_mode": {
        "xhtml": ["XML"],
        "html": ["HTML", "HTML 5", "PHP", "HTML (Jinja Templates)", "HTML (Rails)", "HTML (Twig)", "laravel-blade", "Handlebars", "AngularJS"],
        "cfml": ["HTML+CFML", "ColdFusion", "ColdFusionCFC"]
    }
}


猜你喜欢

转载自blog.csdn.net/u012950413/article/details/78126459