37 Commits

Author SHA1 Message Date
Jiří Techet
10a28b4191 Protect private definitions by the GEANY_PRIVATE macro in headers
In addition, this patch defines the GEANY_PRIVATE macro for the tag
manager library where it wasn't defined before, removes 2 tag manager
headers from distribution as they are not needed by plugins and
in the tag manager changes the docstrings to ordinary comments for
private definitions.
2014-10-09 20:51:32 +02:00
Matthew Brush
4efcbab332 Include what you use
This is a mega-commit - because most of it had to be done in one go
otherwise some commits would fail to compile - that attempts to fix a
few problems with Geany's includes as well as various other related
cleanups. After this change it's easier to use includes and there's
little worry about which order things are included in or who includes
what.

Overview of changes:

* Include config.h at the start of each source file if HAVE_CONFIG_H
  is defined (and never in headers).
* Go through each source file and make the includes section generally
  like this:
  - Always config.h first as above
  - Then if the file has a header with the same name, include that
  - Then include in alphabetical order each other internal/geany header.
  - Then include standard headers
  - Then include non-standard system headers
  - Then include GLib/GTK+ related stuff
* Doing as above makes it easier to find implicit header include
  dependencies and it exposed quite a few weird problems with includes
  or forward declarations, fix those.
* Make geany.h contain not much besides some defines.
  - Add a little header file "app.h" for GeanyApp and move it there
  - Move "app" global to new "app.h" file
  - Move "ignore_callback" global to "callbacks.h"
  - Move "geany_object" global to "geanyobject.h"
* Add an include in "geany.h" for "app.h" since GeanyApp used to be
  defined there and some plugins included this header to access
  GeanyApp.
* Include "gtkcompat.h" everywhere instead of gtk/gtk.h so that
  everywhere sees the same definitions (not a problem in practice AFAIK
  so this could be changed back if better that way.
* Remove forward declarations from previous commits as some people
  apparently consider this bad style, despite that it reduces inter-
  header dependencies.

TODO:
* As always, to test on win32
* As always, to test with not Autotools
* Test plugins better, both builtin and geany-plugins, likely API/ABI bump
* Test with various defines/flags that may change what is included
* win32.[ch] not really touched since I couldn't test
2014-05-21 15:37:19 -07:00
Matthew Brush
6f87aac118 Normalize use of header guards and extern "C" guards
* Always define GEANY_FOO_H to 1 in the header guards
* Always put a G_BEGIN_DECLS/G_END_DECLS guard in every header for
consistency, even private ones where it doesn't matter.
* Always include either <glib.h>, <gtk/gtk.h> or some other header
that will provide G_BEGIN_DECLS before using it. In a lot of headers
that use glib.h and gtk/gtk.h stuff anyway, this resolves an implicit
dependency they had on them being included before that header.
* Always put a comment at the #endif part of the guard so it's
easier to see what it applies to.
* Always use an underscore between the header guard identifier's words
even though the filename doesn't have one.
2014-05-21 12:18:26 -07:00
Matthew Brush
fec15c61c4 Move typedefs out of geany.h and into their own headers
This helps to avoid the requirement that geany.h be included before
using any of the changed headers.
2014-05-21 12:18:25 -07:00
Colomban Wendling
8289e8f962 Report scope including classes, namespaces and alike
Don't only match the current function as the current scope, but also
classes, namespaces and others containers.

Closes #1996778.
2012-09-17 22:51:36 +02:00
Colomban Wendling
d80bc7ce56 Update FSF address
Closes #3557875.
2012-08-24 19:25:57 +02:00
Colomban Wendling
1c2c455b1d Update copyright information 2012-06-18 01:15:04 +02:00
Colomban Wendling
3f31453ace Fix various integer sign and size issues 2011-11-06 01:12:42 +01:00
Colomban Wendling
d06e9f4575 Remove $Id$ and $Date$ SVN keywords 2011-10-09 22:57:35 +02:00
Enrico Tröger
6ac2623208 Update copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5528 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-01-19 19:39:09 +00:00
Enrico Tröger
7ba4a81181 Update copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@4518 ea778897-0a13-0410-b9d1-a72fbfd435f5
2010-01-01 22:55:18 +00:00
Enrico Tröger
8111ada01b Prevent showing an empty macro list.
Show only macros of the same filetype instead of all macros of all loaded filetypes.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3698 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-04-07 22:09:08 +00:00
Enrico Tröger
39a6eb455e Update copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3446 ea778897-0a13-0410-b9d1-a72fbfd435f5
2009-01-04 18:30:42 +00:00
Nick Treleaven
d05dca5468 Make 'Reload Configuration' command also reload ignore.tags.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3278 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-25 12:09:08 +00:00
Nick Treleaven
51e4000038 Move symbol list popup menu code to symbols.c.
Add symbols_init().



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3243 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-11-18 13:29:53 +00:00
Nick Treleaven
4837030ca1 Fix compilation.
Move utils_get_current_function() to symbols.c.
Move utils_replace_filename() to document.c.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/editor-struct@2766 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-07-08 16:30:37 +00:00
Enrico Tröger
d3439f8a17 Use document pointer instead of an index to the documents array everywhere in the core code.
Pass a document pointer to the callbacks of all "document-*" signals.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/document-pointer@2692 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-06-15 13:35:48 +00:00
Enrico Tröger
1c04310ac1 Save sorting order of the symbol list when saving a file (#1917262).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2361 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-03-18 16:09:11 +00:00
Enrico Tröger
bcfd7746e1 Define c_tags_ignore in options.c (tagmanager) instead of symbols.c.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2276 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-24 10:18:36 +00:00
Enrico Tröger
85f73129c0 Apply patch from Daniel Richard G. to fix to fix several compiler warnings, C89 violations and minor code problems (thanks).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2267 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-20 11:24:23 +00:00
Enrico Tröger
e685ab8fa5 Add support for reading tags(only for C/C++) from a file which should be ignored while parsing the file (ctags command line option -I).
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2266 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-02-18 19:51:34 +00:00
Enrico Tröger
e3201062c6 Update copyright information and change format of email addresses in source files.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@2150 ea778897-0a13-0410-b9d1-a72fbfd435f5
2008-01-06 18:11:57 +00:00
Enrico Tröger
7419f18f88 Fix wrong colouring of type keywords of tags from different filetypes.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1934 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-10-09 12:04:15 +00:00
Nick Treleaven
b5e4604562 Add --no-preprocessing, -P option when generating tags files to
disable preprocessing of C/C++ source files.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1917 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-28 11:48:55 +00:00
Nick Treleaven
852a4dbb50 Fix bug when using Navigate backwards after using the keyboard to
set the cursor position on the current word.
Add symbols_goto_tag().
Replace navqueue_append() with navqueue_goto_line().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1900 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-09-25 12:39:41 +00:00
Enrico Tröger
4f74783fb1 Add menu items for different sorting of the symbol list to the symbol list popup menu.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1802 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-15 17:58:58 +00:00
Nick Treleaven
9f46d083c5 Move #define PLAT_GTK to geany.h.
Move filetype typedef to geany.h.
Don't #include any src/*.h files from headers.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1800 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-08-15 15:37:21 +00:00
Nick Treleaven
b954dc8245 Add Load Tags command in the File menu.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1463 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-04-18 15:21:33 +00:00
Nick Treleaven
6daf4d84be Load HTML-entities when the PHP lexer is first needed, instead of
when typing outside of PHP styles.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1424 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-03-26 12:18:51 +00:00
Nick Treleaven
d3dfe1dd1d Add option --generate-tags (-g) to generate a global tags file from
a list of source files. Currently this is only likely to work
correctly for C-like source files. Run 'geany -g' for syntax info.
Remove short option for hidden option --generate-data-files.
Update tm_workspace_create_global_tags() from Anjuta 1.2.4a.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1411 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-03-21 13:26:16 +00:00
Enrico Tröger
7b61ad934d Updated copyright information.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1188 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-14 17:36:42 +00:00
Nick Treleaven
6044ff1f50 Move utils_compare_symbol(), GeanySymbol, recreate_tag_list()
to symbols.c.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1179 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-13 13:25:05 +00:00
Nick Treleaven
f7b31cac95 Use '::' context separator for C also (so C/C++ share the same
syntax, and C++ .h headers use correct syntax).
Add symbols_get_context_separator() and use for calltips and the
symbol list.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1174 ea778897-0a13-0410-b9d1-a72fbfd435f5
2007-01-12 12:33:17 +00:00
Nick Treleaven
7365ae3c9c Colourise C enum, union and D/Java interface typenames.
Add sci_cb_lexer_get_type_keyword_idx() for use when finding if a lexer
supports typename colouring.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1105 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-12-16 17:18:53 +00:00
Enrico Tröger
627e8f00ca Moved html_entities array to symbols.c.
Fixed some checks for the new D lexer and improved detection of comments when auto completing or showing calltips.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@1102 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-12-15 17:09:05 +00:00
Nick Treleaven
67ce2f51b0 Move utils_get_tag_list() to symbols.c, make utils_find_tm_tag()
static.
Move symbols_get_global_keywords() to get_global_typenames() in
highlighting.c.
Add symbols_find_tags_as_string(), symbols_get_tag_list(),
symbols_get_macro_list(), symbols_find_in_workspace() from various
tag-related existing code.


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@976 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-11-08 11:42:05 +00:00
Nick Treleaven
762f4b5c91 Move global tags code to symbols.c.
Added symbols_global_tags_loaded(), symbols_get_global_keywords().


git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@860 ea778897-0a13-0410-b9d1-a72fbfd435f5
2006-10-02 11:31:54 +00:00