9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: yy <yiyu.jgl@gmail.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] Sam commands in acme
Date: Fri, 26 Jun 2009 12:42:36 +0200	[thread overview]
Message-ID: <a81fe9be0906260342q627bac3dje8b61c327beea261@mail.gmail.com> (raw)
In-Reply-To: <138575260906260250hca23acbi34aed21566004bad@mail.gmail.com>

2009/6/26 hugo rivera <uair00@gmail.com>:
> Hi,
> I am trying to select all c comments from within a file using acme,
> but I am unable to do it properly. The command x/\/\*.*\*\// is the
> closest I could get, but it doesn't work with comments that span over
> more than one line. This raises a question for me: somewhere, I cannot
> recall where, I read that commands in sam (and therefore acme) aren't
> line oriented but selection oriented, so, shouldn't '.*' match newline
> characters also? why it doesn't? I expected '.*' to work with newline
> characters since it works for spaces and tabs, and the three of them
> are white space, among others.

You could use (\n|.) to match any character including newlines
(regex(6) says that a new line is not cosidered "any character", and
as a matter of fact, \n is part of the sam language, not of regex
itself). However, since the longest possible regex will be matched,
then you will also match the end of the comment, so for example in:
/* comment 1 */
bar
/* comment 2 */
you will match everything, I don't think that is what you want.

> And finally, what command I should use to select c comments without
> regard if they are several lines long or just one?

Edit ,x/\/\*/.,/\*\//c/COMMENT/

The possibility of modifying the dot is powerful. Many times it is
much easier than finding an huge regex.

> Saludos
> --
> Hugo
>
>

Un saludo,


--
- yiyus || JGL .



  reply	other threads:[~2009-06-26 10:42 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-06-26  9:50 hugo rivera
2009-06-26 10:42 ` yy [this message]
2009-06-26 11:54   ` hugo rivera
2009-06-26 12:05     ` Rudolf Sykora
2009-06-26 12:21       ` hugo rivera
2009-06-26 10:57 ` roger peppe
2009-06-27 18:17   ` J.R. Mauro
2009-06-27 19:20     ` Rob Pike
2009-06-27 20:32       ` J.R. Mauro
2009-06-29 17:03       ` roger peppe
2009-06-29 17:20         ` erik quanstrom

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a81fe9be0906260342q627bac3dje8b61c327beea261@mail.gmail.com \
    --to=yiyu.jgl@gmail.com \
    --cc=9fans@9fans.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).