Skip to content

Add BladeFormatter entry to b.json#9440

Open
RushabhJoshi wants to merge 1 commit into
sublimehq:masterfrom
RushabhJoshi:master
Open

Add BladeFormatter entry to b.json#9440
RushabhJoshi wants to merge 1 commit into
sublimehq:masterfrom
RushabhJoshi:master

Conversation

@RushabhJoshi
Copy link
Copy Markdown

  • I'm the package's author and/or maintainer.
  • I have read the docs.
  • I have tagged a release with a semver version number.
  • My package repo has a description and a README describing what it's for and how to use it.
  • My package doesn't add context menu entries. *
  • My package doesn't add key bindings. **
  • Any commands are available via the command palette.
  • Preferences and keybindings (if any) are listed in the menu and the command palette, and open in split view.
  • If my package is a syntax it doesn't also add a color scheme. ***
  • I use .gitattributes to exclude files from the package: images, test files, sublime-project/workspace.

Package Description

My package is BladeFormatter, a Sublime Text package that integrates the popular global NPM binary blade-formatter to format Laravel Blade template files. It supports custom indentation sizing, line wrapping, Tailwind CSS class sorting, HTML attribute sorting, and standard PSR formatting options.

Similar Packages & Distinctiveness

There are no packages like it in Package Control.

While there are packages for Laravel Blade syntax highlighting (e.g., Laravel Blade) and minor spacing tweaks (e.g., Laravel Blade Spacer which only formats spaces inside double curly braces {{ }}), BladeFormatter is the first dedicated, general-purpose formatting engine for Laravel Blade files in the Sublime Text ecosystem.


Note on Key Bindings: The package includes default key bindings ctrl+alt+f (Windows/Linux) and cmd+alt+f (Mac) as they are standard, highly expected shortcuts for formatters. They are documented clearly in the README and mapped natively to the blade_format command.

@github-actions
Copy link
Copy Markdown

This PR adds BladeFormatter.

Review for BladeFormatter master-055137b-2026.05.30.08.24.01

3 failures:

  • The binding ['ctrl+alt+f'] has no context. Packages should only ship key bindings that use a specific context such as 'selector', 'setting.*', or a custom context key. If the binding defines a main entry-point to your package, move it to an example keymap instead so users can decide on their own.
    File: Default (Windows).sublime-keymap
  • The binding ['ctrl+alt+f'] has no context. Packages should only ship key bindings that use a specific context such as 'selector', 'setting.*', or a custom context key. If the binding defines a main entry-point to your package, move it to an example keymap instead so users can decide on their own.
    File: Default (Linux).sublime-keymap
  • Invalid modifier key 'cmd'
    File: Default (OSX).sublime-keymap
    Binding: {"command": "blade_format", "keys": ["cmd+alt+f"]}

5 warnings:

  • subprocess.Popen is used in a Windows-supported package without hidden-window handling. Pass startupinfo with STARTF_USESHOWWINDOW/SW_HIDE, or use CREATE_NO_WINDOW, to avoid flashing console windows.
    File: BladeFormatter.py
    Line: 130, Column: 23
  • The package does not contain a top-level LICENSE file. A license helps users to contribute to the package.
  • Package defines '.sublime-settings' files but is missing 'Default.sublime-commands' to add a Command Palette entry to edit them.
  • 'Main.sublime-menu' has no 'Package Settings' entry for 'BladeFormatter'
  • 'Main.sublime-menu' has no settings entry under 'Preferences > Package Settings > BladeFormatter' to edit 'BladeFormatter.sublime-settings'. Add a 'Settings' entry using edit_settings with 'args.base_file' set to '${packages}/BladeFormatter/BladeFormatter.sublime-settings'.

@braver
Copy link
Copy Markdown
Collaborator

braver commented May 31, 2026

  • Your package is not sorted correctly.
  • "as they are standard, highly expected shortcuts for formatters" ... All the more reason not to claim them ;) especially not without any context (e.g. what syntax/language you're in) checks. Just don't ship with keybindings, and have a look at our docs for ways of allowing users to easily set up their own.
  • Your package is using the ancient open_file method for settings, instead use edit_settings like you do in the sublime-commands file.

It looks like https://packages.sublimetext.io/packages/Formatter can also format Blade, and https://packages.sublimetext.io/packages/Fmt might also be able to do it. What does your package bring to the table that can't be contributed to either of those?

@braver braver added the feedback provided The changes and package have been seen by a reviewer label May 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feedback provided The changes and package have been seen by a reviewer

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants