zsh-workers
 help / color / mirror / code / Atom feed
From: Sven Wischnowsky <wischnow@informatik.hu-berlin.de>
To: zsh-workers@sunsite.auc.dk
Subject: Re: ZLE Widget: Insert last word (except &)
Date: Fri, 14 Jul 2000 09:22:44 +0200 (MET DST)	[thread overview]
Message-ID: <200007140722.JAA01233@beta.informatik.hu-berlin.de> (raw)
In-Reply-To: Felix Rosencrantz's message of Thu, 13 Jul 2000 21:46:12 -0700 (PDT)


Felix Rosencrantz wrote:

> Talking about context and the "z" expansion flag.  It would be useful
> if it was possible to somehow get context information about the words
> that were created.
> 
> For example, if a word is
>         in the command position
>         a command separator
>         an opening or closing syntax character
>         the output/input to redirection.
>         parameter assignment (e.g. before a command)
>         etc.
> 
> I think it be useful if it was possible to get another array that provided
> information/context about each of the words from an array created via ${(z)..} 

It would definetely be useful, but it's not trivial. See the function
zle_tricky.c:get_comp_string(). That plus the code to find out the
information for every word.

However: one of the things I want to try after 4.0 is moving more of
ZLE  into shell code (optionally, as for completion). One of the
things on my list is the C-code for completion, probably with a small
new builtin for the pre- and post-widget code, but partly in shell
code. The pre-code would allow to parse a string as if it were the
command line and would return all the information completion widgets
get in the special parameters. I hadn't thought about doing this by
moving some code into the core and adding a new parameter expansion,
though. I'm not sure where the code would end up anyway, because parts 
of it wouldn't depend on the completion code, so they may be moved to
zutil or something.

Well, and that combined with a change to the completion system which
can be used to generate the context without generating completions...

> ...
> 
> Or in the history completer/widget having context information would make it
> a lot easier to look at command line structure, and prune away things that
> are unwanted, or make it easier to find things that are useful.

That sounds terribly slow ;-)

Bye
 Sven


--
Sven Wischnowsky                         wischnow@informatik.hu-berlin.de


             reply	other threads:[~2000-07-14  7:23 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2000-07-14  7:22 Sven Wischnowsky [this message]
  -- strict thread matches above, loose matches on Subject: below --
2000-07-18  5:09 Felix Rosencrantz
2000-07-17  8:07 Sven Wischnowsky
2000-07-15  2:42 Felix Rosencrantz
2000-07-14  4:46 Felix Rosencrantz

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=200007140722.JAA01233@beta.informatik.hu-berlin.de \
    --to=wischnow@informatik.hu-berlin.de \
    --cc=zsh-workers@sunsite.auc.dk \
    /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.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

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).