On 30.01.2013 8:12 PM, Oliver Taylor wrote:
> On Jan 23, 2013, at 11:15 AM, Oliver Taylor <[email protected]
> <mailto:[email protected]>> wrote:
>
>> I write lists in the following format:
>>
>> 1. Lorem ipsum dolor sit amet.
>> 2. Consectetur adipisicing elit, sed do eiusmod
>> tempor incididunt ut labore et dolore magna
>> aliqua.
>> 3. Ut enim ad minim veniam, quis nostrud
>> exercitation ullamco laboris nisi ut aliquip
>> ex ea commodo consequat.
>> 4. Duis aute irure dolor.
>>
>> /Hard-wrapped, indented, in this case wrapped at ~50 characters./
>>
>> I do this all the time. Is there a text filter out there that wraps,
>> and/or re-wraps, lists in this format? My Unix-fu is not strong enough
>> for this one.
>
> It turns out my regex-fu *is* stronger than I thought... For anyone
> who's interested:
>
>
> #!/usr/bin/ruby
>
> a = ARGF.read
>
> # Unwrap the list
> a = a.gsub(/(\n[ \t]+)(?=[^\n]|\Z)/, "")
>
> # Wrap to 77 Characters
> a = a.gsub(/(.{1,77})( +|$)\n?|(.{77})/, "\\1\\3\n <smb://1//3/n>")
>
> # Indent wrapped-lines
> a = a.gsub(/^(?![\d\s])/, " ")
>
> print a
>
>
And how you apply this ruby script to the selected text? I have no idea,
how ruby is working ...
Here a little perl-filter. Adapt the first paragraph number to your
needs: my $para_nr = sprintf("%3s",1) if you have already some numbers
before.
#!/usr/bin/perl
use warnings;
use strict;
use Text::Wrap;
$Text::Wrap::columns = 70;
my $para_nr = sprintf("%3s",1);
while (<>) {
print wrap("$para_nr.\t", "\t",$_);
$para_nr++;
$para_nr = sprintf("%3s",$para_nr);
}
This transforms like follows:
Original:
Lorem ipsum dolor sit amet.
Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore
et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut aliquip ex ea commodo consequat.
Duis aute irure dolor.
Lorem ipsum dolor sit amet.
Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore
et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut aliquip ex ea commodo consequat.
Duis aute irure dolor.
Lorem ipsum dolor sit amet.
Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore
et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut aliquip ex ea commodo consequat.
Duis aute irure dolor.
Lorem ipsum dolor sit amet.
Consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore
et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi
ut aliquip ex ea commodo consequat.
Duis aute irure dolor.
Transformed to (in my email client the tabs are not aligned like in
BBEdit - don't know whether it looks better after having posted it):
1. Lorem ipsum dolor sit amet.
2. Consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua.
3. Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat.
4. Duis aute irure dolor.
5. Lorem ipsum dolor sit amet.
6. Consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua.
7. Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat.
8. Duis aute irure dolor.
9. Lorem ipsum dolor sit amet.
10. Consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua.
11. Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat.
12. Duis aute irure dolor.
13. Lorem ipsum dolor sit amet.
14. Consectetur adipisicing elit, sed do eiusmod tempor
incididunt ut labore et dolore magna aliqua.
15. Ut enim ad minim veniam, quis nostrud exercitation ullamco
laboris nisi ut aliquip ex ea commodo consequat.
16. Duis aute irure dolor.
--
--
You received this message because you are subscribed to the
"BBEdit Talk" discussion group on Google Groups.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
<http://groups.google.com/group/bbedit?hl=en>
If you have a feature request or would like to report a problem,
please email "[email protected]" rather than posting to the group.
Follow @bbedit on Twitter: <http://www.twitter.com/bbedit>
---
You received this message because you are subscribed to the Google Groups
"BBEdit Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.