unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Jambunathan K <kjambunathan@gmail.com>
To: Joshua Moore <joshua.marshall.moore@gmail.com>
Cc: help-gnu-emacs@gnu.org
Subject: Re: Writing a script to add comments to a python file
Date: Mon, 16 Jul 2012 09:05:17 +0530	[thread overview]
Message-ID: <81fw8swf7u.fsf@gmail.com> (raw)
In-Reply-To: <a420aa29-c5de-4197-b844-2578d146df5f@googlegroups.com> (Joshua Moore's message of "Sun, 15 Jul 2012 16:45:20 -0700 (PDT)")

Joshua Moore <joshua.marshall.moore@gmail.com> writes:

> Hi gnu.emacs.help
>
> I've been using the basic features of emacs for a while now, and would
> like to add my own functions to it.
>
> What would be a good way to implement a command that adds a comment
> symbol (#) to a selected region in a python file?

1. Mark the region.  
2. Do a M-;.  Semi-colon is the comment char in elisp.

For more inforamtion do 
   C-h K M-;

Now that you know what the command is do a 

  M-x find-function RET comment-dwim 

and get a feel for how elisp looks like and how elaborate this generic
function is.  Remember it works in all programming modes including
python.

Then do a

  C-h i
  g Emacs Lisp Intro

Finish that tutorial in *full*.  It is well worth your time.

Now you are all set to become a full-fledged programmer.

Now go back to the `comment-dwim' implementation and see how it moves
around the buffer, modifies the buffer etc.

Last but not the least, learn to use the info manual very well.

You can also look at Emacswiki's elisp cookbook.
  http://emacswiki.org/emacs/ElispCookbook

> I can read and write a little bit of lisp-like languages, but I don't
> know how to access the region of selected text, 

C-h f interactive
C-s  region

Do you know a command that acts on region? Yes `comment-dwim'.

  C-h f comment-dwim
  See how the `r' interactive spec is used.

> edit the lines or where to save the script.

For editing lines you need to understand regexes or string related
functions.

  C-h d string

It will show up a bunch of functions that will have string in them.  Go
on a treaure hunt and pick what interests you.

You can also use the info manual.

  C-h i
  g elisp
  I string

Again, go on a treasure hunt.

> Any help is appreciated.

Remember you don't learn elisp in a day.  

You pick a pebble here, a pebble there.  Before you know your sack is
full and you have a booty worth sharing..
-- 



      parent reply	other threads:[~2012-07-16  3:35 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-15 23:45 Writing a script to add comments to a python file Joshua Moore
2012-07-16  1:26 ` John Bokma
2012-07-16  3:35 ` Jambunathan K [this message]

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

  List information: https://www.gnu.org/software/emacs/

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

  git send-email \
    --in-reply-to=81fw8swf7u.fsf@gmail.com \
    --to=kjambunathan@gmail.com \
    --cc=help-gnu-emacs@gnu.org \
    --cc=joshua.marshall.moore@gmail.com \
    /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 read-only IMAP folder(s) and NNTP newsgroup(s).