Commit Graph

119 Commits (master)

Author SHA1 Message Date
Enrico Tröger c88c27e2d2 Fix broken markup in HACKING
Make "*_foreach" an inline literal to escape the asterisk and
so fix broken markup by the unbalanced asterisk which would start
an emphasis otherwise.

HACKING:223: (WARNING/2) Inline emphasis start-string without end-string.
2019-08-31 12:34:38 +02:00
Nick Treleaven 0ce5d5484e
build.c: Remove g_ptr_array_foreach with gpointer user_data & update HACKING (#2270)
* build.c: Remove g_ptr_array_foreach with untyped user_data

Also avoids passing &ft_names to the function.

* HACKING: Avoid untyped pointers & *_foreach() with non-NULL user_data

* Avoid using foreach_ macro

* HACKING: merge 2 rules, simplify user_data clause
2019-08-29 17:26:18 +01:00
Paul Menzel b10b2a7167 Use HTTPS URL for domain www.geany.org
Replace all occurrences with the command below.

    git grep -l 'http://www.geany.org' | xargs sed -i 's,http://www.geany.org,https://www.geany.org,g'
2018-04-23 17:11:37 +02:00
elextr 7d2e618211
Mention GTK 3 for the first time (#1780)
* Mention GTK 3 for the first time in HACKING and say how to select.
2018-02-25 18:03:50 +10:00
Colomban Wendling 05fce1a2ee Move some functions from tm_tag to tm_parser namespace
Those don't actually work on tags, so it makes more sense to have them
in the parser namespace.
2017-09-23 12:53:59 -07:00
Colomban Wendling 6522332ba9 Fix the symbols tree hierarchy when several tags have the same name
Fix the symbols tree hierarchy by considering the whole scope when
adding a tag, avoiding choosing the wrong parent when several tags have
the same name.  Until now, to avoid such misbehavior we only used to
choose the parent candidate that appeared last (line-wise) before the
child.  It works in most typical situations as generally tag names are
fairly unique, and children appear right after their parent.

However, there are cases that are trickier and cannot be handled that
way.  In the following valid C++ snippet, it is impossible to know
whether `function` should be listed under the namespace `A` or the
class `A` without looking at its full scope:

```C++
namespace A {
    namespace B {
        class A {
            void method() {}
        };
    };
    void function() {}
};
```

And it is a real-world problem for some parsers like the JSON parser
that generates numeric indices for array elements name, often leading
to several possibly close duplicates.

Additionally, to prevent trying to set a tag as its own parent, the
code guarded against accepting a parent if the child had the same name,
lading to incorrect hierarchy for `method` in cases like this:

```C++
namespace A {
    class A {
        void method() {}
    };
};
```

So to fix this, consider the whole hierarchy of a tag for choosing its
parent, when that information is available from the parser.

Fixes #1583.
2017-09-01 17:31:56 -07:00
LarsGit223 f1b84c995b Mention G_GNUC_UNUSED macro. (#1582)
Mention G_GNUC_UNUSED as an alternative to `-Wno-unused-parameter`.
2017-08-22 09:38:31 +10:00
Matthew Brush fd38a49b55 Add note about data types to HACKING
Closes #1282
2017-08-04 02:09:45 -07:00
Matthew Brush 092f2a936a Fixups 2017-08-04 02:09:37 -07:00
Matthew Brush ea217b7d4d Update HACKING for best practices (C99) 2017-08-04 02:09:37 -07:00
Vasiliy Faronov dbcf456031 Update HACKING (#1479)
* Update obsolete references to GLib 2.27/28 in HACKING

Fixes #1476.

* Replace obsolete gcc -W option with -Wextra in HACKING

According to gcc --help=warnings, -W is a deprecated option
and -Wextra should be used instead.
2017-04-25 18:09:40 +10:00
tsvisimcha 9573a3886d Update HACKING (#1340) 2016-12-16 09:27:00 +01:00
Jiří Techet 40396a392e ctags: drop vStringTerminate()
It's call is unnecesssary. Corresponds to universal-ctags commit
cfc45e3bd9000e8ce193399c7e0ecf2bbeb57977.
2016-10-04 18:06:33 +02:00
Jiří Techet f95656cbe8 Remove makefile.win32 based build system
No more needed using MSYS2.
2016-07-21 13:21:32 +02:00
Jiří Techet 470d99ee94 Update various comments mentioning tagmanager/src 2016-07-21 13:14:21 +02:00
Colomban Wendling 93977f4ad1 HACKING: Update instructions to add a tags parser 2016-06-24 00:17:04 +02:00
Colomban Wendling 2ec9e1b032 HACKING: Update Universal-CTags URL 2016-06-24 00:16:51 +02:00
Colomban Wendling 214365777d Merge pull request #769 from eht16/drop_waf_build_system
Drop Waf build system support
2016-03-13 13:15:43 +01:00
Colomban Wendling 409fe1a323 Try and avoid meaningless deprecation warnings from GLib and GTK
Avoid deprecation warnings from GLib and GTK versions newer than what
we currently require by default.

To undo this and get all deprecation warnings back, undefine
`GLIB_VERSION_MIN_REQUIRED` and `GDK_DISABLE_DEPRECATION_WARNINGS` on
the command line (e.g. using `-U...` in `CFLAGS`).
2016-02-24 22:06:14 +01:00
Ben Wiederhake 29a6b9c003 Fix typos
All of these typos were found by codespell, so credits go the
the authors of this incredibly useful tool.

I manually confirmed and adapted all changes, which includes
reflowing over-long lines or filling up with spaces for alignment.

Some of these typos may need forwarding to their original authors.
codespell reported a lot words where I am unsure; I have not
included those corrections.
2016-01-03 18:33:25 +01:00
Ben Wiederhake 9941c2d044 Fix obvious typo 2016-01-03 18:01:10 +01:00
Enrico Tröger 34088fbbb8 Drop Waf build system support
See #768.
2015-12-13 14:36:12 +01:00
Philipp Wiesemann 8ffe0467b7 Update link in development documentation
The old link was a 404 page.
2015-05-22 23:11:25 +02:00
Philipp Wiesemann 62157ebbdf Update link in development documentation
The project moved from Google to GitHub.
2015-05-22 23:06:18 +02:00
Colomban Wendling 39daab1dc7 hacking: Add a section on how to upgrade the bundled Scintilla copy 2015-04-21 16:11:07 +02:00
Enrico Tröger e3ef006d59 Drop the paragraph about self-hosted GTK API docs
We assume that the GTK 2.24 API docs will remain online in the long-term
so there is no reason why we should self-host those docs any longer.
This is the last missing bit of #245.
2015-04-19 16:04:26 +02:00
Matthew Brush bdc082cb77 Bump min. version of GTK2 to 2.24 and GLib to 2.28
Note: This is mostly search and replace. I've only tested with my
GTK+ 2.24.20 and not at all the Waf build system.
2015-04-12 18:05:28 -07:00
Nick Treleaven 4e5ed012f2 Recommend Glade 3.8.5, add link for fishman ctags fork 2014-10-31 17:26:24 +00:00
Nick Treleaven 92e34baa4f Update HACKING for changed doc generation instructions 2014-08-19 15:14:03 +01:00
Matthew Brush 34888d6baf Add some info about header includes to `HACKING` file 2014-05-21 15:38:16 -07:00
Colomban Wendling 451d58a2dd Cleanup data files installation
Don't use wildcards to select files to install, nor manually perform
the installation when Automake could do it for us.

Using wildcards makes it hard to know what will really be installed,
and may results in installing files not part of the distribution.
2014-04-15 14:43:25 +02:00
Enrico Tröger d4900df553 Fix restructuredText syntax 2014-03-30 12:17:41 +02:00
Steven Valsesia aaed5e028e Update the HACKING file, explain PR
Add the new way of contributing for geany.
2014-03-25 13:28:45 +01:00
Colomban Wendling 6a85a50d21 Replace bare CTags parser ID numbers with an enumeration
Avoid using magic numbers in the source for better readability and
easier maintenance.
2014-01-29 01:34:26 +01:00
Colomban Wendling 5975931be8 Add a section on how to add a test for a parser in HACKING 2014-01-14 22:26:54 +01:00
Matthew Brush 131b608d5b Update HACKING a bit for C99 standard 2013-10-20 05:59:21 -07:00
Nick Treleaven b3b6d4efad Fix missing warning section 2013-10-11 16:47:04 +01:00
Nick Treleaven 18d27364ac Update notes for adding a custom filetype 2013-10-11 16:43:24 +01:00
Colomban Wendling 1ce4b1fac5 Fix a reference to a file in HACKING 2012-07-28 00:32:26 +02:00
Nick Treleaven 6e46a7bd3d Fix existing leak when a matching ignore.tags item is parsed 2012-04-25 16:13:56 +01:00
Colomban Wendling 59e84666ed Update HACKING to suggest MIO_FORCE_ANSI for building with -ansi 2011-12-26 15:30:07 +01:00
Matthew Brush 4fbabc1f71 Update Glade section in HACKING file 2011-12-10 16:34:40 -08:00
Colomban Wendling e53d5b8299 Merge branch 'highlighting-rewrite' 2011-11-12 19:21:36 +01:00
Colomban Wendling a00366b266 Update HACKING for highlighting setup refactoring 2011-11-12 02:07:36 +01:00
Matthew Brush 9bffb94cc4 Real-time type keyword highlighting
* Add new function: document_update_tags().
* Refactor the various tag update functions into document_update_tags().
* Remove extra call to update the tags in document_new_file().
2011-11-11 16:08:26 -08:00
Nick Treleaven 822240d17f Add Style example for structs, doc-comments 2011-11-03 17:38:55 +00:00
Nick Treleaven efcce8808e Add note not to use G_LIKELY or G_UNLIKELY (except in critical loops)
These add noise to the code with little real benefit.
2011-11-03 17:38:54 +00:00
Matthew Brush 6ceb5ac164 Remove editor_lexer_get_type_keyword_idx() function
It was used only in one place in document_update_type_keywords() which
already did a similar check using the file type before calling this function.

Update HACKING file and very minor cleanup of other code in
document_update_type_keywords().
2011-11-02 20:18:12 -07:00
Matthew Brush a23e999b7b Bump GTK+ version to 2.16 2011-10-28 10:25:58 -07:00
Lex Trotman f9265535a3 Mention trailing whitespace in style 2011-10-12 17:45:24 +11:00