- Subject: Re: Paragraph reformatting functionality
- From: "G. Milde" <g.milde@xxxxxx>
- Date: Fri, 20 Jan 2006 12:06:45 +0100
On 19.01.06, John E. Davis wrote:
> Roey Katz <roey@xxxxxxxxxxxxxxxx> wrote:
> >- I want to bind format_paragraph to a key (say, CTRL+semicolon, like
> >"^;")
>
> Whether or not you can do this depends upon the capabilities of
> your terminal. If you are using Xjed it is easy. If you are using
> an old vt100 terminal, it is probably not possible.
>
> >indent. That is, I want this:
> >
- this is an item. It goes on and on and on and on and on and on and on and on and on and on and on.
- this is another item. It, too goes on and on and on and on and on and on
and on and on and on.
> >
> >to look like this:
> >
> > - this is an item. It goes on and on and on and on and on and on and on
> > and on and on and on and on.
> > - this is another item. It, too goes on and on and on and on and on and
> > on and on and on and on.
>
> You can use hooks to achieve this effect. For example, consider
>
> define my_wrap_hook ()
> {
> push_spot (); go_up(1);
> variable line = line_as_string ();
> pop_spot ();
>
> variable res = ["[0-9]+\\. ", % 5. this is item 5
> "[*+-] ", % * These are is a bullets
> "" % Simulates WRAP_INDENTS=1;
> ];
> foreach (res)
> {
> variable re = ();
> re = strcat ("[ \t]*", re);
> if (1 != string_match (line, re, 1))
> continue;
> variable len;
> (,len) = string_match_nth (0);
> push_spot ();
> bol_trim ();
> whitespace (len);
> pop_spot ();
> return;
> }
> }
>
> define text_mode_hook ()
> {
> set_buffer_hook ("wrap_hook", "my_wrap_hook");
> }
>
> In text-mode, the editor will call the wrap hook each time it wraps a
> line while you are typing. The above function simply checks to see if
> the start of the previous line (the one that was just wrapped) matches
> any of the regular expressions, and if so indents the current line
> accordingly.
>
> Keep in mind that the format_paragraph function knows nothing about
> this hook.
>
> --John
>
> --------------------------
> To unsubscribe send email to <jed-users-request@xxxxxxxxxxx> with
> the word "unsubscribe" in the message body.
> Need help? Email <jed-users-owner@xxxxxxxxxxx>.
>
--
Milde ife.et.tu-dresden.de
--------------------------
To unsubscribe send email to <jed-users-request@xxxxxxxxxxx> with
the word "unsubscribe" in the message body.
Need help? Email <jed-users-owner@xxxxxxxxxxx>.
[2006 date index]
[2006 thread index]
[Thread Prev] [Thread Next]
[Date Prev] [Date Next]