2014-09-09 28 views
6

Bıçak için metin 2'de form öğelerini oluşturmak için çeşitli parçacıklara sahibim.Sublime snippet değiştirme durumunun yanı sıra yansıtılmış metindeki boşluklarla altçizgileri değiştir

Parçacıkları daha yeterli hale getirmek için, yansıtılan metindeki davanın Başlık Kutusuna dönüştürülmesinin yanı sıra sözcükleri altçizgiler yerine boşluklarla ayırmak için işlevselliği eklemek istiyorum.

Bu benim pasajımızdaki snippet'idir;)

{{ Form::label('$1', '${1/\b(\w*)\b/\u\1/g}') }} 

Şu anda pozisyon $ 1'de yazdığınızda, ayna metin başlık halinde dönüştürülür alır.

Yani, bıçak belgedeki sonuç örneğin olabilir:

{{ Form::label('password', 'Password') }} 

Şimdi, aynı zamanda boşluklu çizgi değiştirip SONRA başlık harfe dönüştürmek ayna metnini değiştirmek istiyorum. Bu, anlayamadığım bölümdür. Bu yerine Yani

:

{{ Form::label('password_confirmation', 'Password_confirmation') }} 

Ben bu ile bitirmek istiyorum:

{{ Form::label('password_confirmation', 'Password Confirmation') }} 

cevap

7

{{ Form::label('$1', '${1/^(\w)|(_(\w))/(?1:\u\1:)(?2: \u\3:)/g}') }}

Sublime Text conditionals destekleyen düzenli ifadeler Boost kullanır.

+0

Dostum, sen bir rock yıldızısın! Çok teşekkür ederim. – narfie

+0

CamelCaseStyle için "Camel Case Style" için bu regex yerine $ {1/^ (\ w) | ([AZ])/(? 1: \ u \ 1:) (? 2: \ u \ 2 \ 3:)/g} – scum

0
<snippet> 
    <content><![CDATA[ 
<div class="form-group"> 
    {!! Form::label('${1:text}', '${1/(^|_)(.)/$1\u$2/g}:') !!} 
    {!! Form::text('${1:text}', null, ['class' => 'form-control']) !!} 
</div> 
]]></content> 
<!-- {!! Form::label('${1:text}', '${1/_/\ /-/g}:') !!} --> 
<tabTrigger>textfield</tabTrigger> 

yukarıda alır yakın ama oldukça orada. Alt çizgiden sonra harfi büyük harfle yazar. dışarı yorumladı satır aralık ile alt çizgi değiştirir ... Sadece ikisini birleştirmek anlamaya olamaz:/

+0

Yup, işte bu tam olarak sorun. Her ikisinden de örnekler alabilirim ama onları birleştiremezler. :/ – narfie

İlgili konular