Заполните строку специальным символом до и после текста - PullRequest
0 голосов
/ 14 марта 2012

Я хотел бы создать фрагмент Sublime Text 2, который заполняет пробел до и после ввода переменной I пробелами.

Это должно выглядеть так:

===========================my_filename.js===========================

Имя файла должно быть центрировано так, чтобы количество пробелов до и после текста совпадало. Также мне нужна общая ширина столбца этой строки, чтобы она оставалась неизменной. Поэтому, когда я добавляю 2 символа, количество пробелов на каждой стороне уменьшается на один.

Я думаю, что образец для этого будет:

spacesLeft  = roundDown((columnWidth/2) - (textSize/2))
spacesRight = roundUp((columnWidth/2) - (textSize/2))

Но поскольку в Sublime Snippets доступен только RegEx, я не вижу в себе возможности выполнить эту задачу.

Может ли Vintagmode помочь мне каким-либо образом?

Спасибо за вашу помощь!

1 Ответ

1 голос
/ 15 марта 2012

Поскольку фрагменты в основном статичны, в этом случае они не смогут вам помочь.Тем не менее, вы можете создать плагин, чтобы сделать это относительно легко.Sublime Text использует Python для своих плагинов.Вы можете создать его, перейдя в Инструменты> Новый плагин.API ST2 можно найти здесь и очень впечатляет.По сути, вы хотите сохранить текущий выбор (вашу переменную), используя

sel_reg = self.view.sel()[0] # the current selection 'Region'
sel = self.view.substr(sel_reg) # the text within the 'Region'

Затем сгенерируйте = 's

signs = ''
each_side = len(80 - len(sel))/2 # 80 is the standard window length, 
                                   # change this to what you want.
                                   # Not sure about how to make it dynamic.
for x in xrange(each_side):
  signs += '='

Затем замените текущую строку (self.view.line(sel)signs + sel + signs.

...