, and even custom brackets. This was orig" /> , and even custom brackets. This was orig" /> , and even custom brackets. This was orig"/>

Bracket and tag highlighter for Sublime Text

Overview

Donate via PayPal Discord Build Package Control Downloads License

BracketHighlighter

Bracket Highlighter matches a variety of brackets such as: [], (), {}, "", '', <tag></tag>, and even custom brackets.

This was originally forked from pyparadigm's SublimeBrackets and SublimeTagmatcher (both are no longer available). I forked this to fix some issues I had and to add some features I had wanted. I also wanted to improve the efficiency of the matching.

Moving forward, I have thrown away all of the code and have completely rewritten the entire code base to allow for a more flexibility, faster, and more feature rich experience.

screenshot

Feature List

  • Customizable to highlight almost any bracket.
  • Customizable bracket highlight style.
  • High visibility bracket highlight mode.
  • Selectively disable or enable specific matching of tags, brackets, or quotes.
  • Selectively use an allowlist or blocklist for matching specific tags, brackets, or quotes based on language.
  • When bound to a shortcut, allow option to show line count and char count between match in the status bar.
  • Highlight basic brackets within strings.
  • Works with multi-select.
  • Configurable custom gutter icons.
  • Toggle bracket escape mode for string brackets (regex|string).
  • Bracket plugins that can jump between bracket ends, select content, remove brackets and/or content, wrap selections with brackets, swap brackets, swap quotes (handling quote escaping between the main quotes), fold/unfold content between brackets, toggle through tag attribute selection, select both the opening and closing tag name to change both simultaneously, etc.

Documentation

https://facelessuser.github.io/BracketHighlighter/

License

Released under the MIT license.

Copyright (c) 2013 - 2021 Isaac Muse [email protected]

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Comments
  • Feature requests to allow using your plugin from another plugin

    Feature requests to allow using your plugin from another plugin

    Description

    You have helped me in the past by having a bh_async_key as well as a bh_key for synchronous behavior. That helped me define a command in terms of one of your commands.

    I have made use of your plugin tonight inside the sublemacspro plugin. I have been meaning to do this for ages and I had good success with that tonight.

    However, I encountered several issues which I wonder if you'd be willing to discuss.

    1. Is there a way to stop "Jump to Right/Left Bracket" from moving outside the brackets if already at the LEFT or RIGHT end? That is, if you're already at the RIGHT side and "Jump to Right Bracket" is there a way to get it not to move?

    2. I looked at the documentation and cannot figure out if I can easily add support for Ruby's backquote character. It should, as far as I know, be treated the same as a regular quoted string. I think it's easy and wonder if you can point me to the right documentation and also explain whether I can do it from within my plugin.

    3. Is there an API you can expose that allows me to ask the question "is the character at point a bracket highlighter open or close tag, bracket, string?" Because if so, that would just be perfect. What I have now is not perfect (see below).

    My reasons for this are to implement forward/backward s-expression for emacs. Right now I walk the buffer looking at characters, and then when I find bracket characters like one of "[{(", I invoke your code and it gets me to the other side. But what I'd really like to do is, be able to encounter a "begin" in ruby code and have it skip over to the matching "end". And currently, since my code is triggered when it encounters a "{" (for example), in Latex mode, when it encounters the "{" in \begin{equation} it actually goes to the match \end{equation} because bracket highlighter works its magic, but only because I encountered the "{".

    I hope this is clear what I am looking for.

    Support Info

    • ST ver.: 3125
    • Platform: osx
    • Arch: x64
    • Plugin ver.: 2.23.1
    • Install via PC: True
    • mdpopups ver.: 1.12.0
    • backrefs ver.: 1.0.post1
    • markdown ver.: 2.6.6
    • pygments ver.: 2.1a0
    • jinja2 ver.: 2.8

    Steps to Reproduce Issue

    No real steps here. Just a discussion.

    opened by canoeberry 35
  • Highlight the block of code with vertical line as in Geany

    Highlight the block of code with vertical line as in Geany

    At first, thank you for your amazing plugin!!

    I would like to ask if it's possible to mark the block of selected code not only with underscores on brackets but also with vertical line on the left of it, like in Geany. (see orange line on the left)

    Example:

    highlight_as_geany

    If it's not possible at the moment, could you please implement this feature in the near future? In case I missed it, my apologies but could you please then show the piece of code that could do it?

    Thanks

    opened by iliajie 32
  • no bracket icons in gutter but tags gets highlighted correctly

    no bracket icons in gutter but tags gets highlighted correctly

    Requirements

    Do not delete this. Template must be followed or the issue will be marked Invalid and closed.

    Please mark if you have done done this. Mark by placing an x in the box: - [ ] -> - [x]. Support will not be offered without this.

    • [x] Search past issues and read the area of the documentation related to your specific question, issue, or request. Often the answer to your question is already found there. You may also find the feature you are requesting already exists. It is okay if after doing this you are still confused, just mention what you didn't understand in the documentation below so we can make it better.

    Description

    For bugs, provide errors from console, examples etc. For feature requests, describe the desired feature. Be as detailed as possible. Vague issues/requests will be marked with Insufficient Details for about a week. If not corrected, they will be marked Stale for about a week and then closed.


    Issue Support Info

    For bugs, run the following command from the menu: Preferences->Package Settings->BracketHighlighter->Support Info. Post the result here. Omit for feature requests.

    • ST ver.: 3120
    • Platform: osx
    • Arch: x64
    • Plugin ver.: 2.21.5
    • Install via PC: True
    • mdpopups ver.: 1.10.0
    • backrefs ver.: 1.0.post1
    • markdown ver.: 2.6.6
    • pygments ver.: 2.1a0
    • jinja2 ver.: 2.8

    Steps to Reproduce Issue

    1- the tag is picked up correctly, but no icons in the gutter 2- style & script doesnt have any (no icons , no underline) , only <> is being highlighted.

    • this is a vue component file ".vue"

    test

    <template>
        <div class="Alert Alert--{{ type | capitalize }}" v-show="show">
            <slot></slot>
            <span class="Alert__close" @click="hideAlert()">x</span>
        </div>
    </template>
    
    <style>
        body {
            padding: 100px;
            margin: 0;
        }
        .Alert {
            background-color: #aaa;
            margin: 0 auto;
            color:  white;
            padding: 1rem;
            display: inline-block;
            position: relative;
            border-radius: 4px;
            width: 25%;
        }
        .Alert--Success {
            background-color: #2ecc71;
        }
        .Alert--Error {
            background-color: #e74c3c;
        }
        .Alert__close {
            position: absolute;
            top: 10px;
            right: 10px;
            font-weight: bold;
            cursor: pointer;
        }
    </style>
    
    <script>
        export default {
            props: ['type'],
    
            data: function() {
                return {
                    show: true
                };
            },
    
            methods: {
                hideAlert: function() {
                    this.show = false;
                }
            }
        }
    </script>
    
    opened by ctf0 31
  • Retina Icons

    Retina Icons

    Hi, I designed a first version of all the icons for retina displays. I would really appreciate any comments to improve them. Regarding the typography, I used Source code Pro. Thanks!

    opened by vemec 29
  • Not finding an specific function end in Lua

    Not finding an specific function end in Lua

    Description

    Using Lua (Roblox Lua), this kind of opening/closing function is not being recognized:

    Item.MouseLeave:connect(function() 
    	-- anything...
    end)
    

    image

    T: bug 
    opened by rogeriodec 28
  • Added a lot of new icons

    Added a lot of new icons

    Added all of the icons that you asked me to add. :)

    Still haven't tested cause I wasn't able to figure it out, so I suggest you test it before accepting. :)

    • Eduan
    opened by greduan 28
  • Sublime Text 3 bracketHighlighter dont know how to color bracket underlines

    Sublime Text 3 bracketHighlighter dont know how to color bracket underlines

    I dont know how to change the underline color of the brackets using brackethiglighter i did check http://facelessuser.github.io/BracketHighlighter/customize/#configuring-highlight-style but i dont understand it im new to Sublime Text 3 and BH

    opened by ghost 27
  • Recently BracketHighlighter doesn't (fill in blank) [new release]

    Recently BracketHighlighter doesn't (fill in blank) [new release]

    This is for the inevitable issues resulting in the recent push. I just pushed BracketHighlighter version 2 to the master, and things are going to seem a bit different, so before you file an issue please read the readme https://github.com/facelessuser/BracketHighlighter/blob/master/readme.md

    If you are just confused on how to do something after reading the readme, please post here and do not create an issue unless there is actually an issue.

    Thanks, I hope you enjoy BracketHighligher 2.

    opened by facelessuser 26
  • Allow specification of arbitrary brackets

    Allow specification of arbitrary brackets

    I'm a Ruby developer and would love to be able to have "def" and "end" tags highlighted for method definitions to help see them aligned properly. Things like this:

    if ... end

    def foo end

    while ... end

    until .. end

    Would this be possible with this plugin or is it out of scope?

    Thanks!

    opened by ryanlecompte 24
  • Lua - wrong scope highlighting in while loop

    Lua - wrong scope highlighting in while loop

    It looks like while loop scope is highlighted wrong with the built-in Lua syntax. The second end keyword is excessive and is not part of the while loop. And there is the same problem with for loop.

    opened by bofm 20
  • Closing TAG mark wrong opening tag

    Closing TAG mark wrong opening tag

    If i click on open tag, right closing tag is market out. But if i click on closing tag, first opening tag above is marked out.

    Right opening tag is market with underline (default sublime tagOptions marker)

    • ST ver.: 3126
    • Platform: osx
    • Arch: x64
    • Plugin ver.: 2.23.3
    • Install via PC: True
    • mdpopups ver.: 1.13.1
    • backrefs ver.: 1.0.post1
    • markdown ver.: 2.6.6
    • pygments ver.: 2.1a0
    • jinja2 ver.: 2.8

    Info has been copied to the clipboard.

    Same part of code with correct markup, when i click on opening tag snimka obrazovky 2017-03-24 o 2 55 45

    Wrong markup, when i click on closing tag snimka obrazovky 2017-03-24 o 2 55 52

    little different problem on "a" tag:

    when i click on opening tag looks good snimka obrazovky 2017-03-24 o 3 08 24

    but when i click on closing "" tag is marked only with rounded border, and again default underlined markup is present... next to line number i have "?"

    snimka obrazovky 2017-03-24 o 3 08 32
    opened by gavalierm 20
  • BH broken after last update (4142 and 4143)

    BH broken after last update (4142 and 4143)

    Description

    The problem is on the screenshots. The package just doesn't work correctly anymore.

    image image image

    Support Info

    • ST ver.: 4143
    • Platform: windows
    • Arch: x64
    • Plugin ver.: 2.30.1
    • Install via PC: True
    • mdpopups ver.: 4.2.2
    • backrefs ver.: 5.0
    • markdown ver.: 3.2.2
    • pygments ver.: 2.1a0
    • jinja2 ver.: 2.10.1

    Steps to Reproduce Issue

    1. Use BracketHighlighter with previous actual ST build
    2. Update to the latest ST version (4142 and then 4143 next day, don't know which one broke BH)
    3. Try, for example, PHP lang and multi-line array with square brackets.
    S: triage 
    opened by rusproject 6
  • Ruby endless method syntax

    Ruby endless method syntax

    Description

    New Ruby endless method syntax breaks the Bracket Highlighter:

    def method_name() = method_definition
    

    It would appear that the Bracket Highlighter is looking for an end keyword to pair with the def. However, the new endless method syntax does not require this end.

    Screenshot 2022-01-30 at 14 22 28

    Support Info

    • ST ver.: 4126
    • Platform: osx
    • Arch: x64
    • Plugin ver.: 2.29.2
    • Install via PC: True
    • mdpopups ver.: 4.2.1
    • backrefs ver.: 5.0
    • markdown ver.: 3.2.2
    • pygments ver.: 2.1a0
    • jinja2 ver.: 2.10.1
    S: triage 
    opened by samrjenkins 3
  • Feature requests: toggle to select only the beginning and end lines of the brackets or only lines of their content

    Feature requests: toggle to select only the beginning and end lines of the brackets or only lines of their content

    There is an example with an if / end in Lua:

    image

    The inner instructions (print) have 2 tabs ident, I want to fix them to only 1 tab. So I press ctrl+alt+super+s (Select text between brackets):

    image

    In this case, it's selecting also the first line (if), but I need only lines 2 and 3 (print): image

    In a reverse case, I would like to select only the start and end lines (if / end), for example, to get rid of them and leave only the inner lines (print):

    image

    P: maybe T: feature C: plugins 
    opened by rogeriodec 1
  • Swap Quotes fails (or works inconsistently) for embedded/interpolated Ruby strings

    Swap Quotes fails (or works inconsistently) for embedded/interpolated Ruby strings

    Description

    The "Swap Quotes" function, intended to switch a double-quoted string to a single-quoted string or vice versa, sometimes does nothing, but results in an error dumped to the console. (This does not always occur with every attempt to swap quotes -- sometimes it works. It is inconsistent.)

    This is with Sublime Text v3.2.2, build 3211 (which states "no updates available") and BracketHighlighter v2.29.0 (believed to be the most recent version because Package Control says no updates are available).

    This occurs in Ruby files (.rb suffix). I am just using the built-in Ruby support in Sublime Text 3, no additional plugins or packages. It seems to occur most-often when I attempt to swap the quotes of a string that is inside another string's interpolation. For example, in the following statement:

    config.x.error_source = "#{ENV.fetch('HOSTNAME', "name-of-app")}-#{ENV.fetch('ENVIRONMENT', Rails.env)}"

    attempting to swap the quotes of 'HOSTNAME', "name-of-app", or 'ENVIRONMENT' will all fail. This is true for both the single-quoted strings like 'HOSTNAME' as well as the double-quoted string "name-of-app".

    Swap Quotes also sometimes fails on strings that are not part of another string's interpolation. For example, attempting to swap the outer double-quotes of the example string above for single-quotes does work on the first try (resulting in '#{ENV.fetch(\'HOSTNAME\', "name-of-app")}-#{ENV.fetch(\'ENVIRONMENT\', Rails.env)}', but attempting to then re-swap those single-quotes back to double-quotes also fails.

    Support Info

    • ST ver.: 3211
    • Platform: osx
    • Arch: x64
    • Plugin ver.: 2.29.0
    • Install via PC: True
    • mdpopups ver.: 3.7.5
    • backrefs ver.: Version could not be acquired!
    • markdown ver.: 3.1.1
    • pygments ver.: 2.1a0
    • jinja2 ver.: 2.10.1

    Steps to Reproduce Issue

    1. With a ruby file open, place the cursor inside a single-quoted string, especially one that is inside another string's interpolation.
    2. From the Tools menu, choose Packages --> BracketHighlighter --> Swap Quotes (or use your configured keyboard shortcut.

    Expected Behavior

    The single-quotes around the string should be replaced with double-quotes.

    Actual Behavior

    No visible change is made in the open file, but the following error sometimes appears on the Sublime Text console:

      File "/Applications/Sublime Text.app/Contents/MacOS/sublime_plugin.py", line 1082, in run_
        return self.run(edit, **args)
      File "/Users/andyrusterholz/Library/Application Support/Sublime Text 3/Installed Packages/BracketHighlighter.sublime-package/bh_core.py", line 889, in run
      File "/Users/andyrusterholz/Library/Application Support/Sublime Text 3/Installed Packages/BracketHighlighter.sublime-package/bh_core.py", line 895, in execute
      File "/Users/andyrusterholz/Library/Application Support/Sublime Text 3/Installed Packages/BracketHighlighter.sublime-package/bh_core.py", line 400, in match
      File "/Users/andyrusterholz/Library/Application Support/Sublime Text 3/Installed Packages/BracketHighlighter.sublime-package/bh_core.py", line 140, in init_match
      File "/Users/andyrusterholz/Library/Application Support/Sublime Text 3/Installed Packages/BracketHighlighter.sublime-package/bh_core.py", line 127, in refresh_rules
      File "/Users/andyrusterholz/Library/Application Support/Sublime Text 3/Installed Packages/BracketHighlighter.sublime-package/bh_rules.py", line 206, in load_rules
      File "/Users/andyrusterholz/Library/Application Support/Sublime Text 3/Installed Packages/BracketHighlighter.sublime-package/bh_rules.py", line 257, in parse_bracket_definition
      File "/Users/andyrusterholz/Library/Application Support/Sublime Text 3/Installed Packages/BracketHighlighter.sublime-package/bh_logging.py", line 19, in debug
    AttributeError: 'NoneType' object has no attribute 'load_settings'```
    S: triage S: more-info-needed 
    opened by rusterholz 10
  • Support tagnameselect in *.vue files

    Support tagnameselect in *.vue files

    Description

    Command bh_modules.tagnameselect does not work in vue files

    Support Info

    • ST ver.: 3211
    • Platform: linux
    • Arch: x64
    • Plugin ver.: 2.28.1
    • Install via PC: True
    • mdpopups ver.: 3.7.5
    • backrefs ver.: 3.5
    • markdown ver.: 3.1.1
    • pygments ver.: 2.1a0
    • jinja2 ver.: 2.10.1

    Steps to Reproduce Issue

    1. Create vue file with template section and some tags in it
    2. Put cursor on tag
    3. Run bh_modules.tagnameselect
    T: support 
    opened by Darkside73 3
Releases(st3-2.30.1)
  • st3-2.30.1(Sep 28, 2022)

  • st3-2.30.0(Sep 5, 2022)

    2.30.0

    • NEW: When defining key bindings type is now defaulted to ['__all__'] if not set.
    • FIX: Ensure Jinja2 support for works for the Jinja2 package (support existed for some older package).
    Source code(tar.gz)
    Source code(zip)
  • st3-2.29.3(Mar 24, 2022)

  • st3-2.29.2(Jul 10, 2021)

    2.29.2

    • FIX: Adjustments for latest syntax changes in default JavaScript and HTML in Sublime Text. Fixes issues with JavaScript angle brackets.
    • FIX: Elixir end block detection.
    Source code(tar.gz)
    Source code(zip)
  • st3-2.29.1(Mar 13, 2021)

  • st3-2.29.0(Jan 22, 2021)

    2.29.0

    • NEW: Enhance bracket content select feature with extend parameter.
    • FIX: Bash switch case highlighting on ST3.
    • FIX: Fix custom popup color handling.
    Source code(tar.gz)
    Source code(zip)
  • st3-2.28.1(Aug 11, 2020)

  • st3-2.28.0(Jul 9, 2020)

    2.28.0

    • NEW: Rename language_filter options whitelist and blacklist to allowlist and blocklist respectively.
    • NEW: Add global option gutter_icons to control enabling or disabling icons.
    Source code(tar.gz)
    Source code(zip)
  • st3-2.27.9(Feb 29, 2020)

  • st3-2.27.8(Feb 21, 2020)

  • st3-2.27.7(Sep 25, 2019)

    BracketHighlighter 2.27.7

    • FIX: Update support to include OCaml comment support.
    • FIX: Fix avoiding round brackets in shell case statements.
    • FIX: Thread adjustments that allow BracketHighlighter to go completely idle when Sublime Text is idle.
    • FIX: Fix Ruby interpolated strings.
    • FIX: Fix optional tags for option and optgroup.
    Source code(tar.gz)
    Source code(zip)
  • st3-2.27.6(Jan 17, 2019)

    BracketHighlighter 2.27.6

    • FIX: Fix issue where HTML style attribute quotes where not highlighted due to syntax definition changes.
    • FIX: Add support for @ in HTML attributes.
    Source code(tar.gz)
    Source code(zip)
  • st3-2.27.5(Nov 20, 2018)

    BracketHighlighter 2.27.5

    • FIX: Fix issue where bracket context code blocks in popups sometimes are recognized as Jinja2 template variables.
    • FIX: Fix internal clone view cleanup.
    • FIX: Fix bad clone reference.
    • FIX: on_hover should not occur if bracket_highlighter.ignore is set in the view.
    Source code(tar.gz)
    Source code(zip)
  • st3-2.27.4(Jun 15, 2018)

  • st3-2.27.3(Apr 21, 2018)

    BracketHighlighter 2.27.3

    Apr 21, 2018

    • FIX: Selecting "no threshold" search from popup quickly reverts back to unmatched.
    • FIX: Backtick string support extended to JavaScript.
    Source code(tar.gz)
    Source code(zip)
  • st3-2.27.2(Mar 21, 2018)

    BracketHighlighter 2.27.2

    Mar 20, 2018

    • FIX: C# interpolated strings #468.
    • FIX: Fix C/C++ preprocessor highlighting #474.
    • FIX: Only highlight the keyword in C/C++ preprocessors af22600cd23bd3c15a1a0f6fc54041e6d96b3dd3.
    Source code(tar.gz)
    Source code(zip)
  • st3-2.27.1(Feb 4, 2018)

  • st3-2.27.0(Nov 19, 2017)

    BracketHighlighter 2.27.0

    Nov 19, 2017

    • NEW: Add option to always show the bracket popup on bracket hover #457.
    • FIX: Fix clone views not properly supported #454.
    • FIX: Improvements to Ruby conditional matching #452.
    Source code(tar.gz)
    Source code(zip)
  • st3-2.26.0(Nov 5, 2017)

    BracketHighlighter 2.26.0

    Nov 5, 2017

    • NEW: Added new configuration user_bracket_styles to allow a user to override specific rules or just part of a specific rule instead of copying all of bracket_styles #448.
    • NEW: Add colorization with region-ish scopes for Sublime builds 3148+ #448.
    • FIX: Ruby issue with conditionals immediately followed after return keyword #425.
    • FIX: PHP issue for arrows ($var->prop) #446.
    Source code(tar.gz)
    Source code(zip)
  • st3-2.25.2(Oct 24, 2017)

    BracketHighlighter 2.25.2

    Oct 24, 2017

    • FIX: Update tag attribute pattern.
    • FIX: Add SVG self closing tags.
    • FIX: Temporarily use thin_underline style to mitigate issue #443.
    Source code(tar.gz)
    Source code(zip)
  • st3-2.25.1(Oct 9, 2017)

  • st3-2.25.0(Aug 12, 2017)

    BracketHighlighter 2.25.0

    Released Aug 12, 2017

    • FIX: Quick start image links.
    • FIX: Allow Markdown related brackets to work in Markdown Extended.
    • FIX: Allow HTML (Jinja2) to work in HTML.
    • NEW: Add Markdown ` to swap and wrap.
    • NEW: Add commonly used commands to the command panel (documents and settings) #419.
    Source code(tar.gz)
    Source code(zip)
  • st3-2.24.2(Jun 15, 2017)

    BracketHighlighter 2.24.2

    Released June 15, 2017

    • FIX: Avoid things like -> in PHP due to new Sublime default syntax changes #417.
    • FIX: Add support for Python f-strings.
    Source code(tar.gz)
    Source code(zip)
  • st3-2.24.1(May 27, 2017)

  • st3-2.24.0(May 11, 2017)

    BracketHighlighter 2.24.0

    Released May 10, 2017

    • NEW: Popup/Phantom support limited to 3124+ moving forward to prepare for mdpopups 2.0 that will drop legacy support for old, early implementation of popups and phantoms.
    • NEW: No longer try and force dependency updates. Leave it up to Package Control (whether it they do it or not).
    • NEW: CSS adjustments to popups.
    • FIX: Fix tag matching corner case #409.
    Source code(tar.gz)
    Source code(zip)
  • st3-2.23.3(Jan 24, 2017)

  • st3-2.23.2(Jan 24, 2017)

  • st3-2.23.1(Nov 25, 2016)

  • st3-2.23.0(Nov 17, 2016)

    BracketHighlighter 2.23.0

    Released Nov 16, 2016

    • NEW: Add links in menu to documentation and issues.
    • NEW: Provide new local quickstart guide from the menu.
    • NEW: Breaking change to bh_tag.sublime-settings. tag_mode is now an ordered list of dictionaries.
      self_closing_patterns and single_tag_patterns and replaced with optional_tag_patterns,
      void_tag_patterns, and self_closing_tag_patterns.
    • NEW: Add new first_line rule for determining tag mode.
    • NEW: New XML tag mode and better XHTML mode.
    • NEW: Better special tag logic which handles optional tags, void tags, and self closing tags better. #384
    Source code(tar.gz)
    Source code(zip)
  • st3-2.22.1(Nov 6, 2016)

MagentoSnippets - Magento Front End Snippets, plugin for Sublime Text

MagentoSnippets Magento Front End Snippets, plugin for Sublime Text. This tool serves to aid the productivity during the Magento's theme development t

MageFront 27 Nov 1, 2022
Shiki is a beautiful syntax highlighter powered by the same language engine that many code editors use.

Shiki is a beautiful syntax highlighter powered by the same language engine that many code editors use. This package allows you to use Shiki from PHP.

Spatie 229 Jan 4, 2023
LaraNx Seo enables your Laravel app to store SEO and social media meta tag data in database instead of your code

LaraNx Seo enables your Laravel app to store SEO and social media meta tag data in database instead of your code. Moving marketing data out of your code base and into your database where it is easily modified.

srg 13 Dec 29, 2022
Google Tag Manager for Magento 2 with Advance Data Layer

Google Tag Manager is a user-friendly, yet powerful and cost-effective solution that is a must-have integration for every Magento store. It simplifies the process of adding and managing third-party JavaScript tags. With dozens of custom events and hundreds of data points our extensions the #1 GTM solution for Magento.

MagePal :: Magento Extensions 241 Dec 29, 2022
Laminas\Text is a component to work on text strings

laminas-text This package is considered feature-complete, and is now in security-only maintenance mode, following a decision by the Technical Steering

Laminas Project 38 Dec 31, 2022
Zend\Text is a component to work on text strings from Zend Framework

zend-text Repository abandoned 2019-12-31 This repository has moved to laminas/laminas-text. Zend\Text is a component to work on text strings. It cont

Zend Framework 31 Jan 24, 2021
JSONFinder - a library that can find json values in a mixed text or html documents, can filter and search the json tree, and converts php objects to json without 'ext-json' extension.

JSONFinder - a library that can find json values in a mixed text or html documents, can filter and search the json tree, and converts php objects to json without 'ext-json' extension.

Eboubaker Eboubaker 2 Jul 31, 2022
A PHP spreadsheet reader (Excel XLS and XLSX, OpenOffice ODS, and variously separated text files) with a singular goal of getting the data out, efficiently

spreadsheet-reader is a PHP spreadsheet reader that differs from others in that the main goal for it was efficient data extraction that could handle l

Nuovo 666 Dec 24, 2022
[READ-ONLY] CakePHP Utility classes such as Inflector, Text, Hash, Security and Xml. This repo is a split of the main code that can be found in https://github.com/cakephp/cakephp

CakePHP Utility Classes This library provides a range of utility classes that are used throughout the CakePHP framework What's in the toolbox? Hash A

CakePHP 112 Feb 15, 2022
Engine for performing and rendering text diffs

Text_Diff Engine for performing and rendering text diffs This package provides a text-based diff engine and renderers for multiple diff output formats

PEAR - PHP Extension and Application Repository 15 Jan 4, 2022
PHP Text Analysis is a library for performing Information Retrieval (IR) and Natural Language Processing (NLP) tasks using the PHP language

php-text-analysis PHP Text Analysis is a library for performing Information Retrieval (IR) and Natural Language Processing (NLP) tasks using the PHP l

null 464 Dec 28, 2022
Laravel package to convert English numbers to Bangla number or Bangla text, Bangla month name and Bangla Money Format

Number to Bangla Number, Word or Month Name in Laravel | Get Wordpress Plugin Laravel package to convert English numbers to Bangla number or Bangla te

Md. Rakibul Islam 50 Dec 26, 2022
Perch Dashboard app for exporting content to (Kirby) text files and Kirby Blueprint files

toKirby Perch Dashboard app for exporting content to (Kirby) text files and Kirby Blueprint files. You can easily install and test it in a few steps.

R. Banus 4 Jan 15, 2022
Text - An experiment with WebSockets and the human condition.

An experiment with WebSockets and the human condition. I wanted to learn how to use WebSockets in pure PHP and JavaScript, so I came up with the simpl

Greg Bowler 52 Dec 12, 2022
A PHP component to convert HTML into a plain text format

html2text html2text is a very simple script that uses DOM methods to convert HTML into a format similar to what would be rendered by a browser - perfe

Jevon Wright 423 Dec 29, 2022
A PHP library to convert text to speech using various services

speaker A PHP library to convert text to speech using various services

Craig Duncan 98 Nov 27, 2022
Xenon\LaravelBDSms is a sms gateway package for sending text message to Bangladeshi mobile numbers using several gateways like sslcommerz, greenweb, dianahost,metronet in Laravel framework

Xenon\LaravelBDSms is a sms gateway package for sending text message to Bangladeshi mobile numbers using several gateways for Laravel. You should use

Ariful Islam 95 Jan 3, 2023
Control all text in multiple file bad words filter with worps

About Worps | PHP! Control all text in multiple file bad words filter with worps If you try online Click What to do use for worps Create new object Wo

null 1 Dec 30, 2021