zsh-workers
 help / color / mirror / code / Atom feed
* PATCH: completion in braces
@ 1999-10-19 13:50 Sven Wischnowsky
  1999-10-19 16:06 ` Bart Schaefer
  0 siblings, 1 reply; 3+ messages in thread
From: Sven Wischnowsky @ 1999-10-19 13:50 UTC (permalink / raw)
  To: zsh-workers


Horrors.

This allows completion inside nested braces. We now keep a list of
strings that have to be re-inserted and their positions. Unfortunately 
this also means that we have to keep arrays of positions in the match
structures (but only if braces are used at all, of course).

To make this work with braces in path-prefixes and -suffixes I then
had to change the code in `addmatches()' (the core of `compadd') to
correctly build the cline lists for them when testing if they match.

Then I continued hacking the code used when a match is accepted by
accept-and-menu-complete (we have to keep track of the strings
before/after the last/first brace there to avoid inserting other
matches that don't match these substrings). There it finally realised
that I had forgotten something: if completion is tried on
`foo{bar,<TAB>', we have to avoid adding matches without the strings
before/after the braces from the beginning on -- not only after the
first a-a-m-c. So I added that, too.

Then there was a lot of fiddling to get the positions right. And the
re-insertion for single matches and the unambiguous string. And I had
to rework the calculation for the new positions for the unambiguous
strings. And so on... 

No fun, really.

Two questions:

I stumbled of some code in `do_single()' (that's where a single, full
match is inserted -- either because there is only one match or during
menucompletion) which makes sure that the otherwise automatically
inserted comma when completing in braces is *not* inserted during a
menucompletion. Does anyone rememeber why we did that? Should we
change it? Maybe it's because the comma can easily be typed by the
user and then has the useful side-effect of breaking menucompletion?
Dunno (although such a thought would be weird enough to have been my
reason to do that). I'd like to hear comments from those of you who
actually use menucompletion about this.

The second question: `zle_tricky.c' has now more than 10000
lines. Ouch. Maybe we should cut it in two/three/four/etc. parts. But
1) if we ever offer all the things `comp{ctl,gen}' can do via
`compadd' plus something, then there is a lot of code that can be
removed from the file (or maybe if we have these mechanisms, we can at 
least put that stuff, which will eventually be removed, into a
separate file), and 2) I fear, if we cut it, you'll see a lot of my
blood come dripping out of it.

Btw, has anyone had the time to make list of the things we still need
to be able to get rid of `compgen'? Hm, maybe I'll find some time now, 
although the next thing on my list if the nested-quotation problem and 
that may become at least as hard as this one...

I'll be grateful if someone finds time to test this some more... (Yes, 
of course I tested it, but there are far to many possibilities to test 
them all).

Bye
 Sven

begin 600 patch-brace.gz
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
1HK?ZH#]"._N_$((F9!&P``!B
`
end

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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: PATCH: completion in braces
  1999-10-19 13:50 PATCH: completion in braces Sven Wischnowsky
@ 1999-10-19 16:06 ` Bart Schaefer
  0 siblings, 0 replies; 3+ messages in thread
From: Bart Schaefer @ 1999-10-19 16:06 UTC (permalink / raw)
  To: Sven Wischnowsky, zsh-workers

On Oct 19,  3:50pm, Sven Wischnowsky wrote:
} Subject: PATCH: completion in braces
}
} Horrors.
} 
} This allows completion inside nested braces.
} [...] the next thing on my list if the nested-quotation problem and 
} that may become at least as hard as this one...

Is there any point at which one of these glorious hacks of yours is
likely to make the code *simpler*? :-)

I always get nervous when I see a uuencoded block, but this doesn't
look too horrific at all.

} Then there was a lot of fiddling [...]
} 
} No fun, really.

Oh, c'mon, admit it -- you like this sort of thing.

} I stumbled of some code in `do_single()' (that's where a single, full
} match is inserted -- either because there is only one match or during
} menucompletion) which makes sure that the otherwise automatically
} inserted comma when completing in braces is *not* inserted during a
} menucompletion. Does anyone rememeber why we did that?

When one of the possible menucompletions is a directory, the directory
name gets a slash auto-appended to it, which then is autoremoved when
you type the comma.  If the brace-completion code also auto-appended a
comma, the slash wouldn't get autoremoved when you typed another comma.
I think.

} The second question: `zle_tricky.c' has now more than 10000
} lines. Ouch. Maybe we should cut it in two/three/four/etc. parts. But
} 1) if we ever offer all the things `comp{ctl,gen}' can do via
} `compadd' plus something, then there is a lot of code that can be
} removed from the file (or maybe if we have these mechanisms, we can at 
} least put that stuff, which will eventually be removed, into a
} separate file)

If you were up for a major code-factoring project -- refer to my remark
above about glorious hacks -- I think it would be a great idea to make
old-completion and new-completion into separate modules that both call
a set of common functions wherever possible.

} 2) I fear, if we cut it, you'll see a lot of my
} blood come dripping out of it.

Well, as long as we still have you around to provide transfusions ...

-- 
Bart Schaefer                                 Brass Lantern Enterprises
http://www.well.com/user/barts              http://www.brasslantern.com


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: PATCH: completion in braces
@ 1999-10-20  6:33 Sven Wischnowsky
  0 siblings, 0 replies; 3+ messages in thread
From: Sven Wischnowsky @ 1999-10-20  6:33 UTC (permalink / raw)
  To: zsh-workers


Bart Schaefer wrote:

> On Oct 19,  3:50pm, Sven Wischnowsky wrote:
> } Subject: PATCH: completion in braces
> }
> } Horrors.
> } 
> } This allows completion inside nested braces.
> } [...] the next thing on my list if the nested-quotation problem and 
> } that may become at least as hard as this one...
> 
> Is there any point at which one of these glorious hacks of yours is
> likely to make the code *simpler*? :-)

We already had two of those. Some time ago.

> I always get nervous when I see a uuencoded block, but this doesn't
> look too horrific at all.

Yeah, since I have the same feelings when I see such blocks, I was
hesitating to uuencode it, but then wanted to save some bandwidth.

> ...
> 
> } I stumbled of some code in `do_single()' (that's where a single, full
> } match is inserted -- either because there is only one match or during
> } menucompletion) which makes sure that the otherwise automatically
> } inserted comma when completing in braces is *not* inserted during a
> } menucompletion. Does anyone rememeber why we did that?
> 
> When one of the possible menucompletions is a directory, the directory
> name gets a slash auto-appended to it, which then is autoremoved when
> you type the comma.  If the brace-completion code also auto-appended a
> comma, the slash wouldn't get autoremoved when you typed another comma.
> I think.

Ah, yes. I think this was the reason.

> } The second question: `zle_tricky.c' has now more than 10000
> } lines. Ouch. Maybe we should cut it in two/three/four/etc. parts. But
> } 1) if we ever offer all the things `comp{ctl,gen}' can do via
> } `compadd' plus something, then there is a lot of code that can be
> } removed from the file (or maybe if we have these mechanisms, we can at 
> } least put that stuff, which will eventually be removed, into a
> } separate file)
> 
> If you were up for a major code-factoring project -- refer to my remark
> above about glorious hacks -- I think it would be a great idea to make
> old-completion and new-completion into separate modules that both call
> a set of common functions wherever possible.

The idea we had at the beginning, yes. Since the C-code in tricky.c
(or, at least, most of it, including the way the functions call each
other) should be stable enough now, we really could start to think
about this. There is only the problem with `compgen'. As long as we
still have it, there is a lot of code needed by both old and new
completion. And exactly that type of code I'd like to move out of the
way.

Maybe I'll find time at the weekend to see what we need to remove
`compgen', implement that and then split the completion code. (Now
*that* would be fun writing, I think).

Bye
 Sven


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


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~1999-10-20  8:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-10-19 13:50 PATCH: completion in braces Sven Wischnowsky
1999-10-19 16:06 ` Bart Schaefer
1999-10-20  6:33 Sven Wischnowsky

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