[Geany-Devel] GEANY - New behaviour of "close" document action to close only tabs

Lex Trotman elextr at gmail.com
Tue Jan 22 08:49:52 UTC 2013

On 22 January 2013 19:15, Thomas Young <thomasyoung at free.fr> wrote:
> Hi all,
>> One thing that's different from Geany from other IDEs I've used is that
>> it doesn't have "files in the project" but rather just stores "where are
>> the project's files" (ie. base path).
> Right.
> Speaking for myself, and the build setup I'm working with right now, this
> actually suits me very well.
> Essentially, the set of files for a 'project' for me is defined as 'all the
> source files under a specified root directory'.
> And this then fits in well with the way Geany works, because I can add new
> source files just by creating files, or copying and renaming existing files,
> and so on, without any additional 'add to project' action required.
> (And from various posts I've seen, I have a feeling that quite a lot of
> people have some kind of similar project setup now.)
> One thing that _doesn't_ fit in so well with the geany (core) paradigm is
> the 'go to tag definition' feature (which is included in Geany core).
> I have a build setup on Windows, also, with MSVC, and for comparison in that
> case I actually need to run a script to update visual studio project files
> after adding a new object, and depend on visual studio detecting this and
> offering to reload the project.
> But then, after it reloads the project file, it then knows about all of the
> relevant source code and can do this properly (if you give it a bit of time
> to update it's source code indexing in the background).
> In Geany, however, in order for the 'go to tag definition' feature to work
> you actually need to make sure you have the source code file that defines
> the tag loaded.
> So, for this to actually be useful in the general case, you _do_ actually
> need to have your whole set of project files loaded.

Hi Thomas,

Or you can load tags files instead, so long as the symbols are in
memory, and I am told (I don't use them myself) that the project
plugins (there are two with slightly differing behaviour) will arrange
for this to happen for you, rather like the msvc system.

> So, this is actually completely inconsistent with the whole simple 'list of
> open files is a session and there is no list of files in project' paradigm
> being discussed, I think, and is then also confusing and misleading for
> people starting to use Geany, as well as complicating the core source code
> and dependencies.

Thats why the project plugins are plugins, they significantly change
the paradigm.

> So, I suggest that this whole 'tag' based code analysis thing should
> actually be _removed_ from Geany core (and perhaps moved into one of the
> project management plugins)!

No, it still works within the files that are open, we don't want to
force people to use the full project paradigm of the plugins just to
look for definitions in one or a few files.

> (As an aside, for myself, I'm managed to hack something up that uses
> libClang to lookup references, that doesn't need know about the whole set of
> project files in order to work. It actually just executes the corresponding
> compile command within libClang each time you click 'lookup reference', and
> so fits in quite nicely with the 'no list of files in project' paradigm..)

That sounds interesting, are you going to make a plugin from it?
Maybe you could load the symbols info into Geany and then not have to
run clang again and again.  Matthew was also looking at something
similar I think.


> Best regards,
> Thomas

More information about the Devel mailing list