heybourn / headwind

An opinionated Tailwind CSS class sorter built for Visual Studio Code
https://marketplace.visualstudio.com/items?itemName=heybourn.headwind
MIT License
1.38k stars 45 forks source link

Add sorting for modifier classes (`focus:`, `md:`...) #180

Open phacks opened 2 years ago

phacks commented 2 years ago

Hey everyone! This PR adds sorting for Tailwind modifier classes: md:w-12,hover:bg-gray-500...

The sort is as follows:

This PR does not introduce all possible variations of all possible classes, but instead does the following:

Example:

// Input:
"xl:mx-6 bg-gray-100 lg:mx-4 mt-1 sm:bg-gray-200 hover:bg-blue-100 lg:bg-gray-400 hover:text-blue-100 xl:bg-gray-600 sm:mx-2"

// Output:
"mt-1 bg-gray-100 hover:text-blue-100 hover:bg-blue-100 sm:mx-2 sm:bg-gray-200 lg:mx-4 lg:bg-gray-400 xl:mx-6 xl:bg-gray-600"

Closes #52, #104 and #142.

I’m not sure whether we should make the order of modifier classes, or modified vs. non-modified classes customizable. I’d suggest tackling this in a subsequent PR should we want to!

AmirHosseinKarimi commented 2 years ago

Hi. How is it going? Looks like the test has been failed. Can you guys fix it, please?

phacks commented 2 years ago

oops! Done!

amritk commented 2 years ago

Any word on a merge for this?

Edit: actually I gave it a try and it doesn't seem to work:

<View className='lg:text-black sm:text-black xl:text-black dark:bg-black flex-1 text-black bg-white'>

We would want the modifiers after the base classes