Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CSS] Add support for syntax dialects #3416

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Commits on Mar 15, 2024

  1. [CSS] Add support for syntax dialects

    This commit
    1. renames CSS.sublime-syntax to CSS (Plain).sublime-syntax
    2. creates an inherit CSS from CSS (Plain)
    
    Goal
    ----
    
    Support different CSS dialects (Basic, PostCSS, Tailwind CSS, ...) in
    embedded code scenarios including templating support.
    
    Motivation
    ----------
    
    More and more syntax packages inherit CSS.sublime-syntax to add support
    for interpolation or embed template tags (e.g.: ASP, JSP, PHP, Liquid,
    Vue, ...).
    
    Other packages might provide certain dialects of CSS, such as PostCSS
    or Tailwind CSS.
    
    It is currently not easily possible to embed Tailwind CSS in PHP or
    Liquid without rewriting each of those syntaxes, because all of them
    rely on default CSS.sublime-syntax due to inheritance depending on
    file names rather than scopes.
    
    The motivation is to enable exactly this (again), to benefit from both
    inheritance and flexibility from 3rd-party packages.
    
    Strategy
    --------
    
    The idea is to turn CSS.sublime-syntax into an interface, which is
    inherit from CSS (Plain) and can be extended by and embedded into
    syntax definitions such as PHP, while being able to easily create an
    override with `extends` value replaced by desired syntax dialect
    (e.g.: Tailwind CSS).
    
           CSS (PHP)
              |
             CSS
              |  \
              |  Tailwind CSS
              |   |
              |  PostCSS
              |  /
             CSS (Plain)
    
    Note: It follows the idea being discussed in SQL (sublimehq#3046).
    deathaxe committed Mar 15, 2024
    Configuration menu
    Copy the full SHA
    29921ff View commit details
    Browse the repository at this point in the history