[TxMt] Re: How to extract part of a line of code and make it a variable?
Jérémy Lecour
jeremy.lecour at gmail.com
Thu Aug 30 15:52:44 UTC 2012
Thank you Alan and Hans for your answer.
> On Aug 30, 2012, at 11:11 AM, Hans-Jörg Bibiko <bibiko at eva.mpg.de> wrote:
>
>> select: "something a_method(with, arguments)"
>>
>> and invoke that snippet
>>
>> ${1:variable} = `echo -ne "$TM_SELECTED_TEXT" | perl -pe 's/^\s*\w+\s*//'`
>> `echo -ne "$TM_SELECTED_TEXT" | perl -pe 's/^\s*(\w+)\s*.*/\1/'` ${1/\s*//}
>
> Neat approach but no need to call out to shell / perl:
>
> ${1:variable} = ${TM_SELECTED_TEXT/\A\s*\w+\s*//}
> ${TM_SELECTED_TEXT/\A\s*(\w+).*/$1/} ${1}
It is working with the exact (very simple) example that I've written previously.
But it is not working at all with a slightly more complicated real example like that :
@articles = @article.category_id.present? ? Article.where('category_id = ?', @article.category_id) : []
I'd like to obtain this :
variable = Article.where('category_id = ?', @article.category_id)
@articles = @article.category_id.present? ? variable : []
I guess your solution doesn't work in this example because of the whitespaces, …
In Vim, it seems that it can be done with a prompt of the desired variable name, then replacing the selected text with it, and finally inserting the assignment on a new line above.
Does this seems feasible in TextMate?
> And here’s a tip regarding selection: in 2.0 using a “unit selection”, i.e. the stuff under Edit → Select, using shift + movement will always extend selection, so e.g. with something like:
>
> something a_method(with, arguments), something_else
>
> Place caret inside parenthesis, use ⇧⌘B (select to enclosing pairs) and then one can use ⌥⇧← to extend the selection to the method name (with 1.x unit selections would produce a regular “anchored” selection, so using left/right movement would shrink/expand respectively).
I should have stated that I'm using TextMate Version 1.5.11 (1634)
I'm not a big fan of alpha software for my day to day use ;-)
Thank you so much for your help, it's really appreciated.
Jérémy Lecour
Conception et développement d'applications web
http://jeremy.wordpress.com - http://twitter.com/jlecour
More information about the textmate
mailing list