emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: IDE


From: Dmitry Gutov
Subject: Re: IDE
Date: Wed, 21 Oct 2015 03:44:55 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:42.0) Gecko/20100101 Thunderbird/42.0

On 10/20/2015 03:37 PM, Lluís wrote:

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

I see. This looks more like a classical structure, with one "project" objects, two attributes in there, and the second one containing a map with list values.

We could indeed interpret those values as hooks, but that question is less important.

The main benefit of this structure is familiarity to anyone who's done a little OOP.

What I was imagining, since we're talking about services:

project-types:
  - project-type-generic:
    * match
    * root
  - project-type-generic-c:
    * match
    * root

search-paths-types:
  - search-paths-linux (project)
    * search-paths
    * resolve-include-path <-- maybe
  - search-paths-c++ (project)
    * likewise
    * likewise

symbols-list-types:
  - symbols-list-cscope (project, search-paths)
  - symbols-list-wisent (project, search-paths)

The upside is that I can write a new package called magic-8-ball, which would add an element at the beginning of symbols-list-types, and that element will have a chance to be used in every kind of project. Now just the projects that were explicitly written with magic-8-ball in mind. That adds flexibility.

The downside is that indirection adds complexity as well, and could turn out to be mostly unused.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]