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

Jiří Techet techet at xxxxx
Thu Jun 10 20:31:27 UTC 2010


On Thu, Jun 10, 2010 at 19:54, Dimitar Zhekov <dimitar.zhekov at gmail.com> wrote:
> On Tue, 8 Jun 2010 22:19:37 +0200
> Jiří Techet <techet at gmail.com> wrote:
>
>> On Tue, Jun 8, 2010 at 19:03, Dimitar Zhekov <dimitar.zhekov at gmail.com> wrote:
>> >
>> > 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) [...] But you should be able to quickly access the source files
>> (and filter out the files you are not interested in)
>
> Yet another file system browser...

...that is integrated to geany and makes it possible to access files
fast and gets rid of garbage files. Yes.

>
>> > 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.
>
> Yes, so I wrote "session != project". Your mistake is the assumption
> that the Geany project and the file system project absolutely _have_ to
> be identical, and anything else is "conceptually wrong". No, it's just
> different. Improving the Geany projects (for example the Build
> settings) is not a matter of "fixing" by replacing them with something
> completely different.

I use the build settings geany uses - not sure what's your point here.

I said it many times before, but will repeat it once more - the only
thing I dislike about the current project management is the name, not
how it works (apart from some details I've been discussing with Lex
and Nick).

>
>> > 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
>> directory).
>
> Under the project base path. Of course, it's easier to find if you
> already have the file list.

Doing the search every time you want to swap is just slow for 10000+ files.

>
>> > 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 [...] First you have to leave
>> geany and switch to console [...]
>
> Huh? Search -> Find in files.

...which searches in all *.o and *.so and other files you are not
interested in. The difference for me is 2 minutes versus 4 seconds
(ack-grep takes 25 seconds).

>
>> grep is much faster if restricted to the correct files [still I'm
>> talking about projects with tens of thousands source files]).
>
> I'm not quite sure Geany is the best tool for this...

Yes, it is together with my plugin (just because geany doesn't do
crazy things). I know that some kernel developers use vi and some
emacs, but I don't really want to use either of these (I use vi for
quick command-line editing but can't imagine to use it for big
projects). Forget about Eclipse, codeblocs, Anjuta (I used codeblocks
for a while but geany is much better for the job now).

>From commercial products it could be slickedit but my company won't
pay for it; and I'm pretty happy with geany.

If you know any other option, I'll be happy to listen.

>
>> 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.
>
> Scrolling the sidebar tabs is not fast either, and browsing a project
> with tens of thousands of files (or anything > 300 from my experience),
> using a side-window, without the powerful navigation of a file
> manager...

There's a "find project file by name" feature for quick access. Also
you can turn on the mode where the sidebar autoexpands the tree and
selects the active file.

>
> It seems to me that simply adding a "project patterns" field in the
> Geany project settings dialog, and making the patterns available to all
> browser plugins and Find in files, would have been better than
> duplicating functionality.

I don't duplicate any functionality - I reuse whatever I can from
geany. (Unfortunately I can't use all the features the session project
uses, something I've been discussing with Lex and Nick. So some
features are missing.)

>
>> So how about testing the plugin? I'd like [...] to get a feedback
>> based on your real experience with it, not your assumptions how you
>> think it works ;-).
>
> $ git clone http://gitorious.org/gproject
> Initialized empty Git repository in [...]
> fatal: http://gitorious.org/gproject/info/refs not found: did you run
> git update-server-info on the server?
>

You should have put the above to your web browser ;-). I described how
to get and compile it in about the middle of the email here:

http://lists.uvena.de/geany-devel/2010-June/002474.html

I'd be happy if you tested it - you'd be the first one ;-).

Cheers,

Jiri



More information about the Devel mailing list