Loading ...
Sorry, an error occurred while loading the content.
 

Re: Smart/intelligent text formatting

Expand Messages
  • rpdooling
    Alan, Only thing I see in yours is that I seemed to get errors if I didn t put all of the options in one line, including the ignore one. ... #!perl -w use
    Message 1 of 19 , Sep 28, 2005
      Alan,

      Only thing I see in yours is that I seemed to get errors if I didn't
      put all of the options in one line, including the ignore one.

      -----begin autoformat perl script-----
      #!perl -w

      use strict;
      use Text::Autoformat;
      my $rawtext;

      # while (<DATA>) {
      while (<>) {

      $rawtext = "$rawtext$_";

      }

      # If you ever want to change the margins, etc.
      # my $formatted = autoformat($rawtext, {left=>20, right=>60, all=>1});
      # If you don't have the "all=>1" then it does only one
      # line at a time.

      my $formatted = autoformat($rawtext, {all=>1, ignore=>qr/(\^)/});

      # my $formatted = autoformat $rawtext;

      print "$formatted\n";

      # print "\n$rawtext\n";
      # the following will join all of the lines.
      # should be able to put the RegExp from the add blank
      # lines clip in here.
      #$formatted =~ s/\n+/ /g;
      #print "$formatted\n";

      #to autoformat notetab clip code, open the autoformat.pm
      #module, find the "quotechar" line and add a ";" to the
      #characters recognized as starting a comment or quote line.

      #for help with autoformat type "perldoc Text::Autoformat at the
      #command prompt d:\perl>perldoc Text::AutoFormat



      --- In ntb-scripts@yahoogroups.com, "acummingsus" <acummingsus@g...>
      wrote:
      > Hi Rick,
      >
      > That's great to know! Thanks. I'd be interested your entire script
      > unless there's nothing more that's new in it outside of what you've
      > already shared here.
      >
      > I cannot get the ignore option to work in Linux. I've tried over 7
      > different ways, all to no avail.
      >
      > In Linux, I read from a file (I had tried unsuccessfully so far to map
      > relevant command to a key in the Vim editor). Also I don't yet savvy
      > enough on the Kate editor to create a "tool" (macro making use of
      > external program).
      >
      > my junkr.txt file has 5 or 6 paragraphs. 2 paragraphs have word
      verbatim
      >
      > Each of those 2 para has a really long line.
      >
      > It always formats all para to 72 character line length. I thought it
      > supposed to ignore, not format those 2 para. But it does.
      >
      > (PS I haven't tried the ignore option on Windows yet). I'll boot Win
      > on another day, not today.
      >
      > Do you see anything, problem? Here it is for Linux:
      >
      > #!/usr/bin/perl -w
      >
      > use strict;
      > use Text::Autoformat;
      > my $orig = '/home/al/junkr.txt';
      > my $rawtext;
      > # AC 080205
      > {
      > local( $/ ) ; # change input record separator to file slurp
      > open(OLD, "<", $orig) or die "cant open $orig: $!";
      > $rawtext = <OLD> # slurp entirety of file into $rawtext
      > }
      > # my $formatted = autoformat $rawtext;
      > # my $formatted = autoformat($rawtext, {left=>20, right=>60, all=>1});
      > # my $formatted = autoformat($rawtext, {ignore => qr/original/i,
      all=>1});
      >
      > my $formatted = autoformat $rawtext, { all=>1, ignore=>qr/verbatim/ };
      >
      > # $formatted =~ s/\n+/ /g; # join lines if desire to
      >
      > print "$formatted\n";
      > # print autoformat { all => 1, ignore => qr/verbatim/i }, $rawtext;
      > print "# ============ re formatted is above and raw orig is below
      > ==========";
      > print "\n$rawtext\n";
      > # end
      >
      > Alan.
      >
      > --- In ntb-scripts@yahoogroups.com, "rpdooling" <rpdooling@y...> wrote:
      > > Alan,
      > >
      > > Damian Conway, the guy who wrote the autoformat module wrote me back.
      > > Just open the autoformat.pm module and change the line
      > >
      > > my $quotechar = qq{[!#%=|:]};
      > >
      > > to:
      > >
      > > my $quotechar = qq{[!#%=|:;]};
      > >
      > > by adding the ";" and poof, it's a great
      > > clipcode autoformatter.
      > >
      > > Be sure to add in the script itself a line that tells the module to
      > > ignore clip code lines starting with "^"
      > >
      > > My line looks like:
      > >
      > > my $formatted = autoformat($rawtext, {all=>1, ignore=>qr/(\^)/});
      > >
      > > If anybody wants to whole script I'll post it later.
      > >
      > > I hope I didn't double post. Yahoo locked up in the middle of the
      last.
      > >
      > > Rick
      > >
      > > --- In ntb-scripts@yahoogroups.com, "acummingsus" <acummingsus@g...>
      > > wrote:
      > [ snip ]
    • Jason Morgan
      No problem. If you have any questions about anything I ll try and answer them. -- Jason Morgan Senior Programmer Decipher, Inc. p 800.923.5523
      Message 2 of 19 , Sep 29, 2005
        No problem. If you have any questions about anything I'll try and
        answer them.

        --
        Jason Morgan
        Senior Programmer
        Decipher, Inc.
        p 800.923.5523


        > -----Original Message-----
        > From: ntb-scripts@yahoogroups.com
        > [mailto:ntb-scripts@yahoogroups.com] On Behalf Of rpdooling
        > Sent: Wednesday, September 28, 2005 6:05 PM
        > To: ntb-scripts@yahoogroups.com
        > Subject: Re: [NTS] Using Python instead of Perl
        >
        >
        > Jason,
        >
        > Thank you. I'll get the Active State Python installed and get
        > a book. Somebody else said just to try both, so I will.
        >
        > Thanks for showing us how to run it from NoteTab.
        >
        > Rick
        >
        > --- In ntb-scripts@yahoogroups.com, "Jason Morgan" <jason@d...> wrote:
        > > Rick,
        > >
        > > From my point of view, Python is much easier to understand
        > than Perl.
        > > If you have any experience with other Object Oriented
        > languages, such
        > > as C/C++, Python should be a snap for you. As the majority
        > of my clips
        > > are very specialized to my needs, I'm including a very
        > simple example
        > > that should give you an idea of how to get started. You
        > will need to
        > > install Python, which is free and can be downloaded from
        > > www.python.org. There you can also find almost everything
        > you need to
        > > get started programming in Python.
        > >
        > > H="Sort"
        > > ^!RunScript C:\python24\python.exe sort
        > >
        > > H="sort"
        > > from sys import stdin
        > > input = stdin.read().split('\n')
        > > input.sort()
        > > print '\n'.join(input)
        > >
        > > --
        > > Jason Morgan
        > > Senior Programmer
        > > Decipher, Inc.
        > > p 800.923.5523
        > >
        > >
        > > > -----Original Message-----
        > > > From: ntb-scripts@yahoogroups.com
        > > > [mailto:ntb-scripts@yahoogroups.com] On Behalf Of rpdooling
        > > > Sent: Wednesday, September 28, 2005 2:46 PM
        > > > To: ntb-scripts@yahoogroups.com
        > > > Subject: Re: [NTS] Using Python instead of Perl
        > > >
        > > >
        > > > Jason,
        > > >
        > > > Fire away. I'm just learning PERL and thinking about
        > > > switching to Python instead because I forget everything in
        > > > between immersions. I hear Python is easier to read and remember.
        > > >
        > > > Rick
        > > >
        > > > --- In ntb-scripts@yahoogroups.com, "Jason Morgan" <jason@d...>
        > > > wrote:
        > > > > Not sure if anyone is interested, but I've managed to
        > create clips
        > > > > that will run Python code (which is what I mainly use). If
        > > > anyone is
        > > > > interested, let me know.
        > > > >
        > > > > --
        > > > > Jason Morgan
        > > > > Senior Programmer
        > > > > Decipher, Inc.
        > > > > p 800.923.5523
        > > >
        > > >
        > > >
        > > >
        > > > ------------------------ Yahoo! Groups Sponsor
        > > > --------------------~-->
        > > > Get Bzzzy! (real tools to help you find a job). Welcome to
        > > > the Sweet Life.
        > > > http://us.click.yahoo.com/A77XvD/vlQLAA/TtwFAA/NhFolB/TM
        > > > --------------------------------------------------------------
        > > > ------~->
        > > >
        > > > ntb-scripts-unsubscribe@yahoogroups.com
        > > >
        > > >
        > > > Yahoo! Groups Links
        > > >
        > > >
        > > >
        > > >
        > > >
        > > >
        >
        >
        >
        >
        > ------------------------ Yahoo! Groups Sponsor
        > --------------------~-->
        > Most low income households are not online. Help bridge the
        > digital divide today!
        > http://us.click.yahoo.com/cd_AJB/QnQLAA/TtwFAA/NhFol> B/TM
        >
        >
        > --------------------------------------------------------------
        > ------~->
        >
        > ntb-scripts-unsubscribe@yahoogroups.com
        >
        >
        > Yahoo! Groups Links
        >
        >
        >
        >
        >
        >
      • rpdooling
        Jason, Any idea why I can t get something like this to work? It works fine from the command line no matter what directory I m in. ^!Info ^$GetOutput( python
        Message 3 of 19 , Oct 18, 2005
          Jason,

          Any idea why I can't get something like this to work? It works fine
          from the command line no matter what directory I'm in.

          ^!Info ^$GetOutput("python -V")$

          --- In ntb-scripts@yahoogroups.com, "Jason Morgan" <jason@d...> wrote:
          >
          > Rick,
          >
          > From my point of view, Python is much easier to understand than Perl.
          > If you have any experience with other Object Oriented languages, such as
          > C/C++, Python should be a snap for you.
          > As the majority of my clips are very specialized to my needs, I'm
          > including a very simple example that should give you an idea of how to
          > get started. You will need to install Python, which is free and can be
          > downloaded from www.python.org. There you can also find almost
          > everything you need to get started programming in Python.
          >
          > H="Sort"
          > ^!RunScript C:\python24\python.exe sort
          >
          > H="sort"
          > from sys import stdin
          > input = stdin.read().split('\n')
          > input.sort()
          > print '\n'.join(input)
          >
          > --
          > Jason Morgan
          > Senior Programmer
          > Decipher, Inc.
          > p 800.923.5523
          >
          >
          > > -----Original Message-----
          > > From: ntb-scripts@yahoogroups.com
          > > [mailto:ntb-scripts@yahoogroups.com] On Behalf Of rpdooling
          > > Sent: Wednesday, September 28, 2005 2:46 PM
          > > To: ntb-scripts@yahoogroups.com
          > > Subject: Re: [NTS] Using Python instead of Perl
          > >
          > >
          > > Jason,
          > >
          > > Fire away. I'm just learning PERL and thinking about
          > > switching to Python instead because I forget everything in
          > > between immersions. I hear Python is easier to read and remember.
          > >
          > > Rick
          > >
          > > --- In ntb-scripts@yahoogroups.com, "Jason Morgan" <jason@d...> wrote:
          > > > Not sure if anyone is interested, but I've managed to create clips
          > > > that will run Python code (which is what I mainly use). If
          > > anyone is
          > > > interested, let me know.
          > > >
          > > > --
          > > > Jason Morgan
          > > > Senior Programmer
          > > > Decipher, Inc.
          > > > p 800.923.5523
          > >
          > >
          > >
          > >
          > > ------------------------ Yahoo! Groups Sponsor
          > > --------------------~-->
          > > Get Bzzzy! (real tools to help you find a job). Welcome to
          > > the Sweet Life.
          > > http://us.click.yahoo.com/A77XvD/vlQLAA/TtwFAA/NhFolB/TM
          > > --------------------------------------------------------------
          > > ------~->
          > >
          > > ntb-scripts-unsubscribe@yahoogroups.com
          > >
          > >
          > > Yahoo! Groups Links
          > >
          > >
          > >
          > >
          > >
          > >
          >
        • rpdooling
          Jason, For purposes of comparison, this DOES work: ^!Info ^$GetOutput(python -c import sys;print sys.version )$ So I m thinking it s some quirk in Python or
          Message 4 of 19 , Oct 19, 2005
            Jason,

            For purposes of comparison, this DOES work:

            ^!Info ^$GetOutput(python -c "import sys;print sys.version")$

            So I'm thinking it's some quirk in Python or NoteTab that sends the
            output of a regular commandline Python command to StdErr.err instead
            of allowing NoteTab to grab it with the ^$GetOutput()$ function.

            Oh well.

            rd

            --- In ntb-scripts@yahoogroups.com, "rpdooling" <rpdooling@y...> wrote:
            >
            > Jason,
            >
            > Any idea why I can't get something like this to work? It works fine
            > from the command line no matter what directory I'm in.
            >
            > ^!Info ^$GetOutput("python -V")$
            >
            > --- In ntb-scripts@yahoogroups.com, "Jason Morgan" <jason@d...> wrote:
            > >
            > > Rick,
            > >
            > > From my point of view, Python is much easier to understand than Perl.
            > > If you have any experience with other Object Oriented languages,
            such as
            > > C/C++, Python should be a snap for you.
            > > As the majority of my clips are very specialized to my needs, I'm
            > > including a very simple example that should give you an idea of how to
            > > get started. You will need to install Python, which is free and
            can be
            > > downloaded from www.python.org. There you can also find almost
            > > everything you need to get started programming in Python.
            > >
            > > H="Sort"
            > > ^!RunScript C:\python24\python.exe sort
            > >
            > > H="sort"
            > > from sys import stdin
            > > input = stdin.read().split('\n')
            > > input.sort()
            > > print '\n'.join(input)
            > >
            > > --
            > > Jason Morgan
            > > Senior Programmer
            > > Decipher, Inc.
            > > p 800.923.5523
            > >
            > >
            > > > -----Original Message-----
            > > > From: ntb-scripts@yahoogroups.com
            > > > [mailto:ntb-scripts@yahoogroups.com] On Behalf Of rpdooling
            > > > Sent: Wednesday, September 28, 2005 2:46 PM
            > > > To: ntb-scripts@yahoogroups.com
            > > > Subject: Re: [NTS] Using Python instead of Perl
            > > >
            > > >
            > > > Jason,
            > > >
            > > > Fire away. I'm just learning PERL and thinking about
            > > > switching to Python instead because I forget everything in
            > > > between immersions. I hear Python is easier to read and remember.
            > > >
            > > > Rick
            > > >
            > > > --- In ntb-scripts@yahoogroups.com, "Jason Morgan" <jason@d...>
            wrote:
            > > > > Not sure if anyone is interested, but I've managed to create
            clips
            > > > > that will run Python code (which is what I mainly use). If
            > > > anyone is
            > > > > interested, let me know.
            > > > >
            > > > > --
            > > > > Jason Morgan
            > > > > Senior Programmer
            > > > > Decipher, Inc.
            > > > > p 800.923.5523
            > > >
            > > >
            > > >
            > > >
            > > > ------------------------ Yahoo! Groups Sponsor
            > > > --------------------~-->
            > > > Get Bzzzy! (real tools to help you find a job). Welcome to
            > > > the Sweet Life.
            > > > http://us.click.yahoo.com/A77XvD/vlQLAA/TtwFAA/NhFolB/TM
            > > > --------------------------------------------------------------
            > > > ------~->
            > > >
            > > > ntb-scripts-unsubscribe@yahoogroups.com
            > > >
            > > >
            > > > Yahoo! Groups Links
            > > >
            > > >
            > > >
            > > >
            > > >
            > > >
            > >
            >
          • acummingsus
            Hi Rick, Have you tried ^$GetDosOutput( whatever command )$ sometimes GetDosOutput works other times GetOutput works Of the two, Perl generally seems to like
            Message 5 of 19 , Oct 19, 2005
              Hi Rick,

              Have you tried

              ^$GetDosOutput("whatever command")$

              sometimes GetDosOutput works

              other times GetOutput works

              Of the two, Perl generally seems to like the GetDosOutput better.

              I suppose your Python binary and pertinent libraries are in your OS
              environment search path or otherwise you'd also have a problem in a
              console too. (and you don't have prob in console)

              None of those search paths in $PATH (for Python) have a space in the
              path? I'm thinking: if space then ntb may need use of the GetShort()

              Perl has no space in path. Likely Python doesn't either.

              I'd try Python now. But I'm too far along down (or up) into the
              *depth* of the Perl pool or lake or whatever it is. And, vision sees
              Perl falling together before too long now.

              I'll try Python after that happens.

              Alan.

              --- In ntb-scripts@yahoogroups.com, "rpdooling" <rpdooling@y...> wrote:
              >
              > Jason,
              >
              > For purposes of comparison, this DOES work:
              >
              > ^!Info ^$GetOutput(python -c "import sys;print sys.version")$
              >
              > So I'm thinking it's some quirk in Python or NoteTab that sends the
              > output of a regular commandline Python command to StdErr.err instead
              > of allowing NoteTab to grab it with the ^$GetOutput()$ function.
              >
              > Oh well.
              >
              > rd
              >
              > --- In ntb-scripts@yahoogroups.com, "rpdooling" <rpdooling@y...> wrote:
              > >
              > > Jason,
              > >
              > > Any idea why I can't get something like this to work? It works fine
              > > from the command line no matter what directory I'm in.
              > >
              > > ^!Info ^$GetOutput("python -V")$
              > >
              > > --- In ntb-scripts@yahoogroups.com, "Jason Morgan" <jason@d...> wrote:
              > > >
              > > > Rick,
              > > >
              > > > From my point of view, Python is much easier to understand than
              Perl.
              > > > If you have any experience with other Object Oriented languages,
              > such as
              > > > C/C++, Python should be a snap for you.
              [ . . ]
            • rpdooling
              Thanks, Alan, Same result with GetDosOutput. I tried that before posting. It sends the version number to StdErr. The python path has no spaces. As for Python
              Message 6 of 19 , Oct 20, 2005
                Thanks, Alan,

                Same result with GetDosOutput. I tried that before posting. It sends
                the version number to StdErr. The python path has no spaces.

                As for Python vs. Perl, it's one of those holy wars, like Emacs vs.
                vi. I was told to try both, so I bought a book on Perl and another on
                Python. I already have Perl scripts and I'll keep using them. I'll let
                you know more after I learn more Python.

                Rick

                --- In ntb-scripts@yahoogroups.com, "acummingsus" <acummingsus@g...>
                wrote:
                >
                > Hi Rick,
                >
                > Have you tried
                >
                > ^$GetDosOutput("whatever command")$
                >
                > sometimes GetDosOutput works
                >
                > other times GetOutput works
                >
                > Of the two, Perl generally seems to like the GetDosOutput better.
                >
                > I suppose your Python binary and pertinent libraries are in your OS
                > environment search path or otherwise you'd also have a problem in a
                > console too. (and you don't have prob in console)
                >
                > None of those search paths in $PATH (for Python) have a space in the
                > path? I'm thinking: if space then ntb may need use of the GetShort()
                >
                > Perl has no space in path. Likely Python doesn't either.
                >
                > I'd try Python now. But I'm too far along down (or up) into the
                > *depth* of the Perl pool or lake or whatever it is. And, vision sees
                > Perl falling together before too long now.
                >
                > I'll try Python after that happens.
                >
                > Alan.
                >
                > --- In ntb-scripts@yahoogroups.com, "rpdooling" <rpdooling@y...> wrote:
                > >
                > > Jason,
                > >
                > > For purposes of comparison, this DOES work:
                > >
                > > ^!Info ^$GetOutput(python -c "import sys;print sys.version")$
                > >
                > > So I'm thinking it's some quirk in Python or NoteTab that sends the
                > > output of a regular commandline Python command to StdErr.err instead
                > > of allowing NoteTab to grab it with the ^$GetOutput()$ function.
                > >
                > > Oh well.
                > >
                > > rd
                > >
                > > --- In ntb-scripts@yahoogroups.com, "rpdooling" <rpdooling@y...>
                wrote:
                > > >
                > > > Jason,
                > > >
                > > > Any idea why I can't get something like this to work? It works fine
                > > > from the command line no matter what directory I'm in.
                > > >
                > > > ^!Info ^$GetOutput("python -V")$
                > > >
                > > > --- In ntb-scripts@yahoogroups.com, "Jason Morgan" <jason@d...>
                wrote:
                > > > >
                > > > > Rick,
                > > > >
                > > > > From my point of view, Python is much easier to understand than
                > Perl.
                > > > > If you have any experience with other Object Oriented languages,
                > > such as
                > > > > C/C++, Python should be a snap for you.
                > [ . . ]
                >
              Your message has been successfully submitted and would be delivered to recipients shortly.