On Mar 30, 10:29 am, "Edward K. Ream" <[EMAIL PROTECTED]> wrote:
> I'll be using this thread to document how I study Komodo's
> autocompleter code. This code is *big*.

Now would be a good time to give the highest-level overview of what
Komodo does:

1. The Komodo code **scans** files and fragments of text,
creating .cix files.  These .cix files are a database that describes
all known aspects (syntax and semantics) of the code.

Scans are conducted in the background, that is, in separate threads.
There is lots of complex code in Komodo so that .cix files can be
properly updated, even when several threads are updating .cix files
simultaneously.

We can (and must!) ignore **all** details of the how .cix get created
and updated.  In a sense, the complexity of Komodo becomes a virtue:
our strategy will be to use Komodo unchanged.  Indeed, there is no
good alternative.  Trying to change, or even understand in detail, the
format of .cix files, or the code that updates .cix files, would
involve maybe years of work.  We can't go there.

In short, all we need to know is:

a) .cix files contain the results of scanning (analyzing) files.

b) Komodo drives autocompletion from these .cix files.

2. Komodo has an editor, but we can ignore that in all respects
*except* insofar as we need to interface to the autocompletion code.

3. In essence, all we need to know about Komodo (from a code point of
view) is

a) how to init Komodo properly and

b) how to interface Leo's present autocompletion and calltips code
with various Komodo methods.

Neither 3a nor 3b will be particularly easy, but notice: the focus has
shifted dramatically.  Instead of trying to understand how Komodo
works, I am only trying to discover the methods that will report the
completions (and calltips) valid at a particular "point" in source
code.  That's **all**.

Naturally, Leo's definition of a "point" will differ from Komodo's.
Presumably some adapter code will be needed.  And probably other
complications will arise.  However, the decision to ignore, as a
matter of policy, how Komodo works, is likely to be a most useful
guide.

Edward

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/leo-editor?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to