6924 Commits

Author SHA1 Message Date
Colomban Wendling
5a67a4f64c Fortran: report interfaces 2014-02-18 19:33:39 +01:00
Colomban Wendling
29336ffed0 Fortran: display components 2014-02-18 19:11:47 +01:00
Colomban Wendling
362a5cc654 Fortran: properly report scope for programs, subroutines and types
To do this we change the internal types to only use types matched by
symbols_get_current_scope().  This is a bit of a hack, but the tag
types were already questionable and simply mapped to ones the
TagManager know.

This however merges Functions and Subroutines under the same top-level
item in the symbol list.
2014-02-18 19:04:37 +01:00
Colomban Wendling
7d76063282 Fortran: fix handling of pointer association operator
Test case contributed by Adam Hirst, thanks.

Closes #1030.
2014-02-17 23:17:35 +01:00
Adam Hirst
1c0fa99e1d Support F2003 array syntax and F2008 coarrays
Fortran 2003 allows '[' and ']' as array constructors in addition to
the legacy '(/' and '/)'. Fortran 2008 allows '[]' as part of a
CODIMENSION specifier, which can either be `codimension[]` in
the type-spec; or as either `variable[]` or `variable()[]` in
the entry-spec.

Credit to Colomban Wendling for the skipOverSquares logic, and
treating `codimension` as a special-case.

Last part of bug #1023.
2014-02-15 15:48:31 +01:00
Dimitar Zhekov
20f12872e2 re-fix regex error message parsing (match count returns # of subgroups) 2014-02-15 11:46:23 +11:00
Colomban Wendling
497bfaed46 Fortran: fix line continuation inside comments
Fix improperly handling '&' at the end of the first comment line after
a non-comment line as a line continuation.

Part of bug #1023.
2014-02-15 00:33:05 +01:00
Colomban Wendling
f22c028ca4 Merge branch 'aphirst/patch-1'
Closes PR#209.
2014-02-14 19:32:17 +01:00
Adam Hirst
e1b115ee52 Added tests for the inclusion of ASSOCIATE in the tag manager 2014-02-14 19:31:08 +01:00
Adam Hirst
2085e8a57c Symbol browser breaks with END ASSOCIATE
Related to bug #1023.
2014-02-14 19:30:24 +01:00
Dimitar Zhekov
df9a1b15c6 fix regex error message parsing (GRegex indexes subgroups, not matches) 2014-02-14 10:08:15 +11:00
Colomban Wendling
b1d6291f7d Fix unused warning when building without VTE support 2014-02-11 18:15:43 +01:00
elextr
5d3b2f6269 Fix crash if document closed while custom command is executing
Custom command callback never checked that the doc was still valid.
Can still paste in the wrong doc if user closes and opens while
the command is running, but not crash.
2014-02-10 12:19:45 +11:00
Enrico Tröger
09c2315bc4 Change expected tag kind for Python imports in tests since the parser has changed
This fixes the tests which failed because I changed the parsing yesterday to
classify Python as externvars and not as namespace tags anymore.
2014-02-09 09:26:36 +01:00
Enrico Tröger
3d9908df8c Set tag kind for Python imports to externvar and map them in the symbol list.
This fixes 'Go to Tag definition' for parsed Python imports as before the import
statement was chosen as the definition while we prefer the class definition as
target.
2014-02-08 10:26:08 +01:00
Enrico Tröger
c4b0f0f74d Add new symbol list category "Extern variables"
This is a requirement for an upcoming Python parser fix. This new category
will be currently only used by Python, C and D parsers. Before this change,
in C & D extern variables were sorted into the category "Other", now they
have their own category.
2014-02-08 10:23:30 +01:00
Frank Lanitz
c3aeb73194 Minimal update of Spanish translation to fix misstranslated string. 2014-02-02 21:53:27 +01:00
Frank Lanitz
465378d72a Update of Italian translation 2014-01-30 23:20:48 +01:00
Matthew Brush
986c59aecb Use GeanyFiletypeGroupID enum in a few places
Also move the `group_menus` global variable to the top of the file
with the other globals.
2014-01-28 17:16:50 -08: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
Matthew Brush
576be4ca3b Reformat builtin filetype initialization code into tabular format
* Add an initialization function ft_init()
* Add a function-like macro to call ft_init() with shorter arguments
* Search and replace old code with FT_INIT() usage
* Layout into columns and add documentation above
2014-01-28 15:32:08 -08:00
Matthew Brush
c674f0660a Cleanup filetype_make_title() a bit and use it more
* Adds TITLE_NONE, TITLE_SCRIPT and TITLE_DOCUMENT.
* Only a few filetype titles were tweaked but we should review the
  rest as we could use TITLE_SCRIPT and TITLE_DOCUMENT a lot more
  probably.
* Make filetype_make_title() not care about GeanyFiletype type and
  return result instead of internally setting ft state.
2014-01-28 15:20:03 -08:00
Frank Lanitz
8449b5f9b1 Minor update of German translation 2014-01-26 22:31:51 +01:00
Colomban Wendling
d40932ce4d C++: mitigate matching error on generics containing an expression
Mitigate parse error with generics like `foo<X<Y> x;` by avoiding
matching past a semicolon (";") or open curly brace ("{"), which
can't be part of the generic.  This isn't a proper fix, but mitigates
the impact of such constructs.
2014-01-23 14:17:43 +01:00
elextr
f227076dc4 Improve Asciidoc title parsing
1) Prevent parsing titles inside delimited blocks
2) Always detect -- lines as open block delimiters not titles
3) Support single line titles
2014-01-23 21:07:37 +11:00
Colomban Wendling
c2dcec7107 Don't use G_LIKELY() in macros commonly used in g_return_if_fail()
g_return_if_fail() puts itself its condition in a G_LIKELY() clause,
and nested G_LIKELY() lead to warnings about shadowed variables, as
well as not being of any use.

Also, hiding G_LIKELY() in a macro may lead to unexpected use of it
which may hint the compiler incorrectly.
2014-01-22 17:38:29 +01:00
Colomban Wendling
7473e4b1d9 Add defensive checks for function receiving a GeanyDocument argument
Always check the passed-in GeanyDocument argument is a valid one, not
to possibly work on an invalid document.
2014-01-22 17:38:29 +01:00
elextr
c4549b1e73 Add new automake products to .gitignore
Newer automake creates .dirstamp and config.h.in~
2014-01-22 09:45:02 +11:00
elextr
5d62030667 Fix "leaks" of geany_run_script (bug 975)
In build_run_cmd() the script was not deleted when any one of
several errors occurred.  The errors are not related to script
contents so it makes no sense to leave the script.

Also fixes failure to delete script if a working dir was set.
2014-01-22 09:15:25 +11:00
Matthew Brush
df4770362f Merge pull request #205 from aphirst/fortran-keywords
Corrections and Amendments to the Fortran "filetype" files
2014-01-20 07:41:53 -08:00
Adam Hirst
05dda6b001 Updated keywords and intrinsic functions in accordance with the Fortran 2008 standard. 2014-01-20 15:21:36 +00:00
Adam Hirst
10ac2816af Removed years-old typo from the keyword list. 2014-01-20 15:20:12 +00:00
Colomban Wendling
7c6f48e4f5 Workaround a slowness in multi-column combo boxes under GTK3
Always set the combo boxes' wrap-width after their models are fully
filled to work around dramatic slowness described in GTK bug
https://bugzilla.gnome.org/show_bug.cgi?id=722388
2014-01-18 03:13:05 +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
Colomban Wendling
7205b83abf Update NEWS for Rust filetype 2014-01-14 21:14:37 +01:00
Colomban Wendling
e549562792 Merge branch 'SiegeLord/rust'
Closes PR#181.
2014-01-14 21:09:10 +01:00
SiegeLord
416c3daecc Clean up Rust ctag tests and make them more comprehensive 2014-01-14 12:50:38 -05:00
Colomban Wendling
370666865b Add Rust tests to the makefile 2014-01-14 12:50:38 -05:00
dobkeratops
09cb24c7c7 Add Rust ctag tests 2014-01-14 12:50:38 -05:00
SiegeLord
828df0ab5f Add shebang filetype detection for Rust 2014-01-14 12:50:38 -05:00
SiegeLord
3d7ade4e02 Integrate the Rust lexer with the rest of Geany's functionality 2014-01-14 12:50:38 -05:00
SiegeLord
a085573212 Use :: as the context separator for Rust 2014-01-14 12:50:37 -05:00
Colomban Wendling
aa7e938164 Update our Scintilla patch for the addition of Rust lexer 2014-01-14 12:50:37 -05:00
SiegeLord
36537c4dcd Update Rust Scintilla lexer to Scintilla revision 4946:4d9978010c3a 2014-01-14 12:50:37 -05:00
SiegeLord
4d33223c98 Import the Rust lexer from Scintilla 2014-01-14 12:50:37 -05:00
dobkeratops
b17b4be126 Added the Rust filetype 2014-01-14 12:50:37 -05:00
Colomban Wendling
ad59468f3e rust: Don't use fileEOF() as it behaves unexpectedly
fileEOF() actually returns TRUE anywhere after the last newline when
using the file*() API, which includes a last line without newline.
This is an implementation detail which makes this function not usable
with the rest of the file*() API.  fileEOF() should actually probably
be called iFileEOF(), but that's outside the scope of this parser.

However, even if fileEOF() did work properly with fileGetc(), the very
last byte in the input would have been omitted because we actually
read ahead by one byte, which means the actual read reaches EOF one
byte before our "current byte" does.

Checking whether we reached EOF by checking whether our current byte
isn't equal to `EOF` fixes it, and isn't worse since it's actually how
fileEOF() is implemented anyway.
2014-01-14 12:50:37 -05:00
SiegeLord
c84eb2c1c9 Add a Rust ctags generator.
Thanks to Colomban Wendling for reviewing and finding and fixing many issues.
2014-01-14 12:50:15 -05:00
Colomban Wendling
1a5554c41c Add our stock icons manually
Although GtkIconFactory implements GtkBuildable properly and works just
fine, Glade can't handle it and keeps removing it upon save.  So, drop
the automatic setup to a manual one so the UI description is editable
with Glade again, and which also has the small advantage of not
repeating the stock ID strings.
2014-01-10 18:33:04 +01:00
Colomban Wendling
17a7469b68 Avoid a few unnecessary widget lookups 2014-01-09 17:50:30 +01:00