35 Commits

Author SHA1 Message Date
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
Colomban Wendling
67329f2b98 Update for new Scintilla styles
The new C styles escapesequence and taskmarker are currently mapped
conservatively, and may benefit from a more visible mapping.
2014-05-17 22:17:44 +02:00
Colomban Wendling
9a41f919c1 Update mappings for new Scintilla 2014-04-14 16:36:05 +02:00
SiegeLord
3d7ade4e02 Integrate the Rust lexer with the rest of Geany's functionality 2014-01-14 12:50:38 -05:00
Igor Shaula
4c3730caf7 LexPowerShell fixes and improvements
* fix here-string highlighting
* add doccomment keyword highlighting
* add #region folding

Closes #132
2013-08-15 19:51:17 -07:00
Igor Shaula
df589a9d52 Add PowerShell filetype
Windows PowerShell is a command-line shell and associated scripting language
which comes out of the box with Windows 7/Server 2008/8/Server 2012.

Original lexer from Scintilla is used.
2013-08-15 19:44:33 -07:00
exbb2
09e7d8398f Haskell filetype improvements and support for Literal Haskell
Closes #155 and also closes #139
2013-08-14 23:16:39 -07:00
canou
b518770dea Add support for DOS, OS/2 and Windows batch files
* Uses existing LexOthers.cxx from Scintilla already in use by Geany
* "identifier" style mapping goes to "string" for better presentation
even if it's semantically incorrect, we'll change it back if it causes
issues for anyone.
* Filetype configuration and keywords taken from Don Ho's Notepad++.

Closes #160
2013-08-14 23:04:35 -07:00
Colomban Wendling
4bac3717ea Update for new Scintilla styles 2013-05-22 03:38:21 +02:00
Colomban Wendling
564ef98f9c Update for new Scintilla styles 2013-04-27 18:30:17 +02:00
Baptiste Pierrat
2203d8f085 Abaqus: remove styles not actually used by the lexer 2013-02-12 14:57:12 +01:00
Baptiste Pierrat
d4e61bf093 Add support for Abaqus files
Support for Abaqus (.inp) files, including scintilla lexer and tag
parser.

Signed-off-by: Baptiste Pierrat <baptiste.pierrat@gmail.com>
2013-02-12 14:56:38 +01:00
Colomban Wendling
4ffd446c43 Update for new PO styles 2012-10-25 17:09:55 +02:00
Colomban Wendling
a77785e378 Set style for SCE_C_STRINGRAW (C++11 raw strings)
Part of #3578557.
2012-10-20 14:07:13 +02:00
Colomban Wendling
d80bc7ce56 Update FSF address
Closes #3557875.
2012-08-24 19:25:57 +02:00
oco
e20a57927d Use all supported keyword sets for Scintilla Forth lexer
Submitted on geany-devel mailing list
2012-08-16 18:35:27 -07:00
Colomban Wendling
4cdcaa22e6 Update for new Scintilla styles 2012-07-14 15:30:03 +02:00
Colomban Wendling
298ce94c5d Update for new Scintilla styles 2012-06-26 23:26:30 +02:00
Colomban Wendling
1c2c455b1d Update copyright information 2012-06-18 01:15:04 +02:00
Colomban Wendling
3d570d750f Map TCL "SUB_BRACE" style 2012-02-20 17:25:21 +01:00
Nick Treleaven
ef3d5b8417 Use 'comment' named style for D nested comments
This also fixes a wrong style key name for filetypes.d.
(Nested comments aren't necessarily doc-comments).
2011-12-16 21:02:39 +00:00
Colomban Wendling
77a484e990 Don't leave some fields initialization to implicit initialization
Although this doesn't change anything in practice, it started to be a
nightmare trying to deal with compilers warnings about "missing"
initializers, which are generally good but not in that file.
2011-11-23 02:22:07 +01:00
Colomban Wendling
102ce1d205 Prevent GCC to warn about missing initializers in highlightingmappings.h
Use a GCC pragma to disable -Wmissing-field-initializers in this file.
This works with both GCC and CLang, and should be harmless on other
compilers since unknown pragmas are supposed to be ignored.
2011-11-21 16:12:22 +01:00
Colomban Wendling
2e56a84b2a Fix highlightingmappings documentation not to reference a removed macro 2011-11-14 19:54:28 +01:00
Nick Treleaven
cca258ddb7 Workaround gcc function address comparison warning
E.g.
highlighting.c:950:3: error: the address of
'highlighting_styles_ADA' will always evaluate as 'true'

Note: This commit also contains some trailing whitespace removal.
2011-11-14 18:40:20 +00:00
Colomban Wendling
1436bd6ee2 Quote C89 draft rather than C99 one 2011-11-14 17:09:38 +01:00
Colomban Wendling
8942bc810b Add Objective-C support
Based on a patch from Elias Pschernig, thanks.
Parser was taken from upstream CTags.

Closes patch#3325139.
2011-11-13 01:05:24 +01:00
Colomban Wendling
d8d6f2908e Remove an unnecessary macro indirection 2011-11-11 20:02:59 +01:00
Colomban Wendling
ad1bc032ab Port XML, HTML and PHP filetypes to new automated setup
This changes these three filetypes to "normal" ones rather than HTML
and PHP being hard-coded together with XML.  Now the definitions
simply references each other and the filetypes.* files simply inherits
styling and keywords from the appropriate filetype.

This also makes these filetypes have their own Python styles like they
had their own JavaScript ones, rather than trickily reference the
Python ones.
2011-11-09 22:50:26 +01:00
Colomban Wendling
55edeb876d Fix a DocBook style mapping 2011-11-09 17:32:21 +01:00
Colomban Wendling
21e0c037da Port DocBook filetype to new automated setup 2011-11-09 17:14:48 +01:00
Colomban Wendling
69769e0edc Add support for EOLFILLED style flag 2011-11-09 17:14:05 +01:00
Colomban Wendling
493b5284f7 Remove some unnecessary initializers
Leave some initialization to the implicit C initialization rules to
have less unnecessary items in initializer lists
2011-11-09 16:58:45 +01:00
Colomban Wendling
ab2663e9ae Refactor highlighting setup 2011-11-08 22:50:53 +01:00