[Geany-devel] [ANNOUNCE] gproject - yet another geany project plugin

Jiří Techet techet at xxxxx
Tue Jun 8 20:19:37 UTC 2010

On Tue, Jun 8, 2010 at 19:03, Dimitar Zhekov <dimitar.zhekov at gmail.com> wrote:
> On Mon, 7 Jun 2010 23:38:19 +0200
> Jiří Techet <techet at gmail.com> wrote:
>> * I find the session-based project conceptually wrong - having several
>> files opened doesn't mean that they belong to the same project - for
>> instance I often work on several projects in parallel and have their
>> files opened in parallel. Briefly, session != project
> Depends what you call of a project. How about "the files in a certain
> directory and it's subdirectories"? All open source software is

Precisely! That's _exactly_ what my plugin does - you set the base
directory by putting the project definition file there and use
wildcards to specify what files you want to be present in the project
(e.g. *.c;*.h;*.am)

> distributed this way, and without any IDE-specific projects.

And I completely agree here - they shouldn't include any IDE-specific
project. But you should be able to quickly access the source files
(and filter out the files you are not interested in). And that's what
my plugin does. I always hated about different IDEs how hard it is to
create a project. You also had to keep your project up to date with
the added/removed files. You don't have to do this here because you
define the project by the means of patterns, not a list of files that
are present in the project.

I'm a bit unhappy that people post comments without trying it first :-(.

> With this definition, the Geany "project" is only a set of files (from
> the entire project) that you're currently working on, plus the ability

Which contradicts what you just said before - a project is a set of
files in a directory (and its subdirectories), not the subset of files
you are working on right now. Compare the following two phrases:

open source project
open source set of files I'm working on right now

They are not equal.

> to Compile one of them, or Make the project. Yes, session ! = project,
> and you can't, say, set individual compilation settings for a certain
> file. But there is a Makefile for this, and heavier IDEs like
> Code::Blocks.

I absolutely agree - I hate when IDEs try to do the work of
autoconf+automake. But again, this is NOT what my plugin does. Please
test it first.

> The reason to include all project files in a list will be to provide
> additional functionality for them. However: source/header switching can
> be implemented without any project; searching in the project files is

How will you know where to search for the header/source then? They
don't have to be necessarily stored in the same directory (very true
for the project I'm working on at work, but many other projects
actually - it's quite common to put includes to a completely separate

> not much different from Find in files; finding a project file is much
> easier with the file manager; headers, sources and other files already

Really? Let's suppose you want to use grep (you could use ack-grep but
grep is much faster if restricted to the correct files [still I'm
talking about projects with tens of thousands source files]). First
you have to leave geany and switch to console. Second, you'll need it
to restrict only to sources you want - you'll have to type a lot of
things like --include=*.c. Third you perform the search. Fourth you'll
have to manually open the file by geany. I really don't think it's
easier especially if you have to do it frequently.

> have different icons in the file manager, and you can sort them by

Plus you'll see all of the garbage files like *.o *.so and so on which
you'll never ever edit by the editor. Not really nice to navigate in
such a directory. And again, you have to switch from geany to your
file manager which slows you down. The different header/source icons
aren't a key feature of the plugin but my brain finds them very useful
when trying to open the correct file.

> name, type and a bunch of other things. Novadays FMs can even show you
> a tooltip, consisting of the first 10-15 lines of the file - but it
> would have been nice if they could skip the GPL. :)

So how about testing the plugin? I'd like to know (1) that it builds
and works for someone else too, and (2) would like to get a feedback
based on your real experience with it, not your assumptions how you
think it works ;-).


> --
> E-gards: Jimmy
> _______________________________________________
> Geany-devel mailing list
> Geany-devel at uvena.de
> http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel

More information about the Devel mailing list