6494 Commits

Author SHA1 Message Date
Colomban Wendling
66b93d2d8d Fix "mark all" search feature when using regular expressions
Use the proper, full-featured, regular expression engine we use
everywhere else rather than Scintilla's stripped-down one.

Closes #3564132.
2012-09-02 14:47:07 +02:00
Colomban Wendling
69d8295c5e Don't try to unref NULL regex 2012-09-02 14:17:34 +02:00
YosefOr
13410c0e5a Update po/he.po
Translation error correction
2012-08-31 18:32:02 +02:00
Enrico Tröger
0627817c7b Regenerate Python tag list
Generated against a clean Python 2.7 installation.
2012-08-29 23:04:50 +02:00
Enrico Tröger
883ce3acb6 Add method to generate also tags for __builtins__
This way we get easily also tags for standard exceptions and a few builtin types.
2012-08-29 23:03:25 +02:00
Enrico Tröger
29f0d02be3 Add a warning about running this script with its potential side effects 2012-08-29 22:40:54 +02:00
Enrico Tröger
f1cb61f6cb Ignore tag names starting a Python keyword
This removes tags like 'pass_', 'pass_stmt' or 'return_stmt' which are quite annoying
when typing the actual keywords and pressing Enter afterwards.
Also add some more modules and packages to the ignore list to avoid weird side effects
when importing them (even though antigravity is funny).
2012-08-29 22:22:57 +02:00
Enrico Tröger
fd8b20c80b Add 'memoryview' identifier as found in Python2.7 2012-08-29 22:14:49 +02:00
Colomban Wendling
b82134e021 printing: Fix line number margin border position 2012-08-27 21:28:46 +02:00
YosefOr
aba3f97448 Update po/he.po
Update of Hebrew translation
2012-08-27 00:19:07 +02:00
Frank Lanitz
2b163c367d Adding Hebrew translation 2012-08-25 17:11:52 +02:00
Colomban Wendling
484f6fcdef Make sure to only use as much data as it was actually read
When reading a C macro, make sure to only use as much byes we actually
got and not as much as we requested.  This should not be a problem
anymore now 61c5216 fixed a too long read, but it's safer anyway.
2012-08-25 16:02:21 +02:00
Colomban Wendling
61c5216083 Fix an off-by-one issue in C macro parsing code
Closes #3556536.
2012-08-25 15:50:09 +02:00
Colomban Wendling
9817c14202 Add a few missing Haxe keywords
Closes #3448664.
2012-08-24 23:26:11 +02:00
Colomban Wendling
ce742b45dd Remove spurious semicolons 2012-08-24 20:20:09 +02:00
Colomban Wendling
d80bc7ce56 Update FSF address
Closes #3557875.
2012-08-24 19:25:57 +02:00
Frank Lanitz
2b77157e5e Update of Russian translation provided by Igor Burmistrov 2012-08-20 09:46:07 +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
Matthew Brush
7b65d76d5f Fix comment style and wording from last commit
Don't use C99/C++ style comments and elaborate a bit on the purpose
of the call.
2012-08-16 17:52:22 -07:00
Yosef Or
e1a1c54d78 Keep code direction LTR 2012-08-16 17:37:01 -07:00
Matthew Brush
d36db75bcb ClassBuilder: Defy GTK+ conventions and instead generate valid C code 2012-08-10 21:05:41 -07:00
Matthew Brush
7193a1161b Minor style changes from last commit 2012-08-10 18:19:54 -07:00
Alexander Eberspächer
a17e37bcd8 Test against the lexer instead of the filetype when computing
indentation. This fixes Cython indentation.
2012-08-10 11:34:56 +02:00
Matthew Brush
9a63e05f63 Change plugin manager's OK button response to GTK_RESPONSE_OK
Used to be GTK_RESPONSE_CANCEL for some reason.
2012-08-09 22:36:03 -07:00
Matthew Brush
bc5b68822d Remove indirection from callback handler 2012-08-09 22:35:16 -07:00
Matthew Brush
e62bec43fc Use g_build_filename() instead of g_strconcat() for paths 2012-08-09 18:21:43 -07:00
Colomban Wendling
c2c6a70515 Open files with leading or trailing whitespaces through the socket 2012-08-08 15:35:46 +02:00
Colomban Wendling
d152c5ce22 Properly indent even if the indenting character isn't the last one
For all languages, this change allows comments at the end of the
checked line, e.g.:

	if 42:  # magic number
		print("I'm indented!")

For languages with braces, it also properly indent if there is code
on the same line as the opening brace, e.g.:

	if (42) { printf("some code here...");
		printf("...but I'm properly indented");
	} else { /* comment! */
		printf("normal block is fine too, of course");
	}

Although this is uncommon (and quite ugly) it's valid and should be
handled properly.
2012-08-07 17:50:17 +02:00
Colomban Wendling
4c2d8998d7 Fix a reference to a function in the documentation 2012-08-07 15:37:38 +02:00
Matthew Brush
63249c71e8 Dedent switch block from last commit, pure noise 2012-08-03 19:07:58 -07:00
Matthew Brush
e76a35c271 Minor tweak to D "!" template parameter list parsing code
Note:
Indentation left as is so that the diff is readable, next commit contains
the indentation fix.
2012-08-03 19:07:58 -07:00
Colomban Wendling
89b7e089c4 Fix invalid use of strcpy() on overlapping memory
strcpy()'s behavior on overlapping memory is undefined, so replace such
uses with memmove().

Based on CTags r783: https://ctags.svn.sourceforge.net/svnroot/ctags@783
2012-07-31 00:33:53 +02:00
Colomban Wendling
fd40e4aa54 Mark a few things as static
Based on CTags r779: https://ctags.svn.sourceforge.net/svnroot/ctags@779
2012-07-31 00:32:53 +02:00
Colomban Wendling
3a460a2c5b Remove and unused structure member
Based on CTags r769: https://ctags.svn.sourceforge.net/svnroot/ctags@769
2012-07-31 00:31:43 +02:00
Colomban Wendling
13e5c0202a Fix Haskell parsing when a comment is the first thing inside a type
Closes #3552129.
2012-07-30 20:15:08 +02:00
Colomban Wendling
cb54ccf8e1 Merge branch 'scintilla-update' 2012-07-30 17:06:00 +02:00
Colomban Wendling
4db0813a79 Rewrite GTK printing using Scintilla
We used to draw the pages to print ourselves, but it is a tedious and
error-prone task (and we did made mistakes) that Scintilla would do
better by itself.  So, rewrite the GTK (e.g. non-external) print code
to use Scintilla's built-in capabilities of drawing the buffer's
content on the pages.

Not only this makes the code a lot simpler and shorter, but it gives a
more accurate render (proper handling of tab stops, wrapping on word
boundaries, no missing character when a wrapped line spans on multiple
pages, ...), and it is noticeably faster (around 3 times).

Additionally we now paginate properly, which fixes printing starting
after page 1 or printing non-contiguous pages (we used to always print
starting from page 1 and counting, no matter what pages were selected).

However, note that obviously the render is not the same, even though
it's quite similar.
2012-07-30 03:37:00 +02:00
Colomban Wendling
5772178d3a printing: Avoid an useless allocation 2012-07-30 01:38:59 +02:00
Colomban Wendling
5110fab0e1 Fix search and replacement of empty matches (again)
f4eb89cd7d79738a9c6c45e29abdd9d15d22e4fd was partially wrong and
removed legitimate re-matches when two different matches ends at the
same position.  Particularly, the replacement changes are reverted.

Interestingly, Perl and Python does not agree on how to do such
replacements.  Python does what I did in the above-cited commit, e.g.
doesn't replace twice if the match end overlaps, but Perl does.
Perl looks more legitimate here since both Python and Perl does find
the overlapping matches when performing a search, so Python is the odd
guy here doing it differently on replace than it does upon search.

For example, replacing using the pattern "a?(?=b)" and the replacement
string "_":

	Python: ababcdb -> _b_bcd_b
	Perl:   ababcdb -> __b__bcd_b

But finding using the same pattern on the same input gives the same
results on both:

	Python: ababcdb -> ['a', '', 'a', '', '']
	Perl:   ababcdb -> ['a', '', 'a', '', '']

Anyway, GLib and us claim to support "Perl-compatible regular
expressions", so we gotta follow Perl, especially in such doubtful
situations.
2012-07-28 19:23:37 +02:00
Colomban Wendling
1ce4b1fac5 Fix a reference to a file in HACKING 2012-07-28 00:32:26 +02:00
Colomban Wendling
95d767f873 Document sci_get_lexer()
This function is part of the plugin API but missed its documentation,
leading to it not appearing in the generated API documentation.
2012-07-28 00:32:26 +02:00
Colomban Wendling
f4eb89cd7d Fix search and replacement of empty matches
Regular expressions might match empty ranges, which weren't handled
properly, but generally simply omitted.

For example, the regular expression "^$" (empty line) never matched
because we assumed empty results were not interesting, and actually
needed more care in the code.  Alike, an expression matching only on
its lookahead part, like "a?(?=b)" against "b", would stop further
search, although it could even match a non-empty range if "ab" is
present later in the input.  This last kind of expressions also lead
to double-replacement because they first matched "ab" and then "b"
alone when re-matching after the "a" replacement.

This commit fixes:
 * searching when the matched range is empty;
 * step-by-step search when matching an empty range;
 * double replacement when the pattern re-matches an empty range
   straight after a replacement;
 * replacement to and empty string when the matching an empty range.

A know issue though is the step-by-step replacement that won't replace
an empty match but rather find the next match.
2012-07-28 00:32:26 +02:00
Colomban Wendling
a091238617 Fix searching out of document range
If a search matched the very last character of the document, next
search attempt started out of the document bounds.  This even lead
to an infinite loop due to an improper sanity check.

By the way, this fixes matching of contiguous results, as the next
search used to improperly skip one character after the result.
Although this looks like a huge issue, it was actually visible almost
only on the match count since the whole matching line was printed.
2012-07-28 00:32:26 +02:00
Nick Treleaven
f90bdc5957 Only set Find in Files directory once per-document
Use the current document's directory unless the directory field has
already been edited and the current document has not changed.
Otherwise, prepend the current document's directory to the drop-down
history in case it is wanted.

This is useful to avoid losing the edited directory when it is less
likely the user wants to use the current document's directory.
2012-07-26 16:13:34 +01:00
Nick Treleaven
98452edcc9 Update manual for search pref changes; add some links 2012-07-26 15:34:45 +01:00
Nick Treleaven
9248820989 Fix installing data files with MSYS (Windows makefiles) 2012-07-26 13:27:58 +01:00
Nick Treleaven
14daf925ac indent switch, add braces 2012-07-26 12:58:55 +01:00
Matthew Brush
5fff1e69c2 Add NULL guard for reloading "untitled" documents
Previously it was using a GLIB assertion which shouldn't be used
to detect a normal condition and so it caused a warning on the
console output when clicking "Reload" with an "untitled" document.
2012-07-24 17:56:29 -07:00
Colomban Wendling
d11f9a51b9 Rely on GModule for adding or not the --export-dynamic linker flag
We explicitly use GModule's .pc since 7b2f0fe, and it provides the
appropriate flag: we don't need to add it ourselves anymore.  Moreover,
since this flag is not needed (nor available) on all platforms (e.g.
Windows or MacOS X), it is safer to let GModule deal with adding it
anyway.
2012-07-17 23:09:00 +02:00
Colomban Wendling
4cdcaa22e6 Update for new Scintilla styles 2012-07-14 15:30:03 +02:00