[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: IDE
From: |
Lluís |
Subject: |
Re: IDE |
Date: |
Tue, 20 Oct 2015 14:37:05 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Dmitry Gutov writes:
> On 10/19/2015 04:04 PM, Lluís wrote:
[...]
>> I think I did not explain myself well. I meant having one hook variable for
>> each
>> public method of each service type.
> Why aggregate them into service types, then? Just call each "public method"
> (or
> hook) a separate service.
Just a matter of keeping tightly-related functionality together.
[...]
>> Ok, so the first time you call `project-current', the system can check all
>> project-types it knows about and see which ones apply to your file. From
>> that a
>> project object object is created overlaying the matched project-types. Next
>> time
>> you request `project-current' a cached value can be returned, or maybe
>> looking
>> at the value of some parent directory.
> Caching is incidental. And I still don't know what "overlaying" is. In solid
> details, I mean.
Ok, a more specific example. Assume the service-type "service-type-symbols" that
provides a method to jump to symbols, and we're editing sources of the linux
kernel. Now, we have the following service implementations for that
service-type:
* service-symbols-cscope: Use external database.
* service-symbols-wisent: Parse source files, requires an implementation of
"service-type-search-paths".
And we also have the following project-types:
* project-type-generic:
* match: Return t if we can detect a project root using VC
* service-types:
* service-type-root: service-root-vc
* project-type-generic-c:
* match: It's unclear when to activate it
* service-types:
* service-type-symbols: service-symbols-cscope, service-symbols-wisent
* project-type-linux:
* match: We see a root directory for a Linux project
* service-types:
* service-type-root: service-root-linux
* service-type-search-paths: service-search-paths-linux
If we assume all project types match, the resulting "overlaid" project for Linux
would have the following service-types:
* service-type-root: service-root-linux
* service-type-search-paths: service-search-paths-linux
* service-type-symbols: service-symbols-cscope, service-symbols-wisent
If we were not editing some Linux directory:
* service-type-root: service-root-vc
* service-type-symbols: service-symbols-cscope
Cheers,
Lluis
--
"And it's much the same thing with knowledge, for whenever you learn
something new, the whole world becomes that much richer."
-- The Princess of Pure Reason, as told by Norton Juster in The Phantom
Tollbooth
- Re: IDE, (continued)
- Re: IDE, Przemysław Wojnowski, 2015/10/16
- Re: IDE, Dmitry Gutov, 2015/10/16
- Re: IDE, Lluís, 2015/10/16
- Re: IDE, Dmitry Gutov, 2015/10/16
- Re: IDE, Lluís, 2015/10/17
- Re: IDE, Dmitry Gutov, 2015/10/17
- Re: IDE, Lluís, 2015/10/18
- Re: IDE, Dmitry Gutov, 2015/10/18
- Re: IDE, Lluís, 2015/10/19
- Re: IDE, Dmitry Gutov, 2015/10/19
- Re: IDE,
Lluís <=
- Re: IDE, Dmitry Gutov, 2015/10/20
- Re: IDE, Lluís, 2015/10/21
- Re: IDE, Dmitry Gutov, 2015/10/21
- Re: IDE, Steinar Bang, 2015/10/20
- Re: IDE, Dmitry Gutov, 2015/10/20
- Re: IDE, Lluís, 2015/10/21
- Re: IDE, Dmitry Gutov, 2015/10/27
- Re: IDE, Lluís, 2015/10/28
- Re: IDE, Steinar Bang, 2015/10/27
- Re: IDE, Filipp Gunbin, 2015/10/28