Я хочу отсортировать свойства CSS с Python - PullRequest
0 голосов
/ 10 октября 2019

Я хочу отсортировать свойства CSS в html-файлах с помощью vim, используя python

Я пришел с таким решением:

!python -c "import sys,re;r=re.compile('class[=:]\s*\"(.*?)\"');i=sys.stdin.read();r=r.search(i);a=r.start()+7;b=r.end()-1; print(i[:a]+' '.join(sorted(i[a:b].split()))+i[b:], end='')"

, которое в более читаемой форме выглядит так:

import sys,re
r=re.compile('class[=:]\s*\"(.*?)\"')
i=sys.stdin.read()
r=r.search(i)
a=r.start()+7
b=r.end()-1
print(i[:a] + ' '.join(sorted(i[a:b].split())) + i[b:], end='')

И он отлично работает для html - моя единственная проблема - a+7 b-1, потому что модуль python re дает мне адрес начала и конца совпадения, а не группы. Я хочу сделать это более универсальным и использовать его также для ruby ​​и elixir, где вместо class=", что составляет 7 букв, у меня будет class: ", что составляет 8, но я не совсем уверен, как это сделать без создания кодагораздо сложнее. Я ищу предложения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...