425 Commits

Author SHA1 Message Date
Nick Treleaven
00714db69c Improve collapsing fold behaviour when start point is offscreen
When collapsing a fold range whose starting line is offscreen,
scroll the starting line to display at the top of the view.
Otherwise it can be confusing when the document scrolls down to hide
the folded lines.
2012-09-05 17:13:34 +01:00
Colomban Wendling
d80bc7ce56 Update FSF address
Closes #3557875.
2012-08-24 19:25:57 +02: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
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
e62bec43fc Use g_build_filename() instead of g_strconcat() for paths 2012-08-09 18:21:43 -07: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
1c2c455b1d Update copyright information 2012-06-18 01:15:04 +02:00
Nick Treleaven
ac34a19abe Show SGML entity completion on first typing '&' again 2012-04-16 12:05:18 +01:00
Nick Treleaven
f2a93d3790 Don't autocomplete XML entities when outside of XML style range 2012-04-16 11:56:25 +01:00
Nick Treleaven
9ddeed5254 Enable entity completion for XML documents 2012-04-13 17:41:52 +01:00
Nick Treleaven
9db1247b96 Cleanup HTML entity checks and fix HTML/PHP autocompletion 2012-04-13 17:41:50 +01:00
Nick Treleaven
9fad7aaa55 Hide autocompletion when the only entry has been typed
Fixes #3516212.
2012-04-12 17:51:16 +01:00
Nick Treleaven
9426104f0b Remove utils_build_path() - use g_build_filename instead 2012-02-06 16:41:18 +00:00
Nick Treleaven
b287553e4a Use 'SETPTR' instead of 'setptr'
This makes it clearer we're using a macro.
2012-01-25 16:26:16 +00:00
Jiří Techet
d4b2b89d00 Maybe != may be 2012-01-11 22:57:31 +01:00
Nick Treleaven
6935af0485 Fix showing calltips for single character tags 2012-01-08 16:38:45 +00:00
Nick Treleaven
39ff492e4b Show D struct constructor calltips also 2012-01-04 16:09:49 +00:00
Nick Treleaven
6de8f97cb3 Remove GNU regex now we have GRegex 2012-01-02 18:03:21 +00:00
Nick Treleaven
0c6aed700d Make 'Replace Spaces by Tabs' only match leading spaces
Replacing spaces used for alignment with tabs would often break the
alignment as tab stop positions were not checked. It's also not
possible to distinguish between a true space and a single aligning
space, so we should ignore all spaces outside of indentation.
2011-12-21 17:06:32 +00:00
Colomban Wendling
f0de946d3e Fix inserting multi-line comments with "Insert multiline comment"
"Insert multiline comment" did insert single-line style comment when
available even if multi-line style was also supported for the filetype.
2011-12-04 00:21:41 +01:00
Colomban Wendling
c69b8eea23 Fix and unify getting open/close/single comment markers
Add filetype_get_comment_open_close() to get appropriate start and end
comment markers from a filetype, and use it everywhere these markers
are fetched.

This fixes a crash in editor_insert_multiline_comment() if only single
comments are available (closes #3449635).
2011-12-04 00:16:31 +01:00
Colomban Wendling
c73ee49758 Fix a few things, most of them reported by clang's static analyzer 2011-11-15 19:40:29 +01:00
Matthew Brush
c9a32bfdc9 Make use of gtk_widget_get_window() added in GTK+ 2.14 2011-11-06 18:25:48 -08:00
Colomban Wendling
3f31453ace Fix various integer sign and size issues 2011-11-06 01:12:42 +01: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
Nick Treleaven
f31a84869d Minor code cleanup for document_update_type_keywords()
Fix correctly checking result of editor_lexer_get_type_keyword_idx().
Do not check IS_SCINTILLA unnecessarily (this is covered by DOC_VALID).
Do not use G_[UN]LIKELY macros as this complicates code without any
real benefit (unless in a tight loop).
2011-11-01 16:07:52 +00:00
Matthew Brush
4fb9629f5b Detect HTML embedded filetypes from the current line
When using the commenting features (ex. toggle line commentation),
detect the the type of comments for the filetype of the line with
the caret rather than using the filetype of the current document.

Filetype is determined by the Scintilla state/style at the
beginning of the line where the caret is.

This does not fix the existing bug where using the commenting
features on lines with things like `<script>` will result in an
HTML-style comment to be wrapped around it and also where using
the commenting feature on a line with something like `<?php`
will not only wrap it in an HTML-style comment but it also won't
be able to uncomment the line.

This closes bug ID 2863829[1] and 3127598[2].

[1] https://sourceforge.net/tracker/?func=detail&aid=2863829&group_id=153444&atid=787791
[2] https://sourceforge.net/tracker/?func=detail&aid=3127598&group_id=153444&atid=787791
2011-10-12 23:35:06 -07:00
Matthew Brush
bd5fba7eb5 Remove extra whitespace at end of lines in all source files.
* Processed with rstrip-whitespace.py script added to scripts/ directory.
* Script run on all .c and .h files in src/ and plugins/ directories.
* Also remove more than one newline at the end of files.
2011-10-11 21:52:58 -07:00
Colomban Wendling
d06e9f4575 Remove $Id$ and $Date$ SVN keywords 2011-10-09 22:57:35 +02:00
Nick Treleaven
1563c625f7 Add document_show_tab().
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@6017 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-10-07 16:47:31 +00:00
Nick Treleaven
5b220d70a2 * Merge branches/unstable:
- tagmanager/php.c:
   Fix parsing keyword-qualified functions strictly, e.g. don't 
   parse 'staticfunction' or 'fatfunction'.
 - src/utils.c, src/utils.h, src/editor.c:
   Use GRegex for snippet indentation replacement - fixes wrong 
   behaviour with Mac line endings.
 - tagmanager/lregex.c, TODO:
   Use GRegex for CTags instead of POSIX regex - GRegex is more 
   powerful. This also fixes a (HTML) performance issue on Windows. 
   Geany will now print a debug warning when using the "b" CTags 
   regex flag option for non-extended syntax. This is not currently 
   used by Geany's parsers.
   Note: GNU regex can't be removed yet as it's still used elsewhere 
   by Geany.
 - src/build.c, doc/pluginsignals.c:
   When saving on build, prompt for a filename if necessary.
   Emit the "build-start" signal only if saving succeeds.
 - src/build.c:
   Use #ifdef SYNC_SPAWN instead of G_OS_WIN32 for easier testing with 
   glib's asynchronous spawning (which doesn't work on Windows).
 - src/win32.c, src/win32.h, src/dialogs.c:
   Use GTK unsaved file dialog on Windows too because the button names 
   should be specific.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5987 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-10-03 14:35:11 +00:00
Nick Treleaven
9ca8db635a Use GRegex for snippet indentation replacement - fixes wrong
behaviour with Mac line endings.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/branches/unstable@5973 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-09-30 11:10:22 +00:00
Nick Treleaven
36a8459cbb Fix not indenting snippet contents for documents with non-\n line
endings.



git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5959 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-09-26 16:31:32 +00:00
Nick Treleaven
0e89b9e2e8 Fix not converting \n to document line endings in snippets.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5958 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-09-26 16:18:36 +00:00
Colomban Wendling
3440b6770f Add and use editor_set_indent_width() to only set indentation width
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5903 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-08-25 20:14:40 +00:00
Colomban Wendling
4685112df3 Support for non-ASCII characters in word completion
Closes #3386129.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5901 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-08-25 20:12:56 +00:00
Colomban Wendling
28056ce711 Cleanup code duplication in editor_start_auto_complete()
Use read_current_word() in editor_start_auto_complete() not to
duplicate some code.  This also brings non-ASCII characters as
part of a word, first step for non-ASCII word completions.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5900 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-08-25 20:12:36 +00:00
Colomban Wendling
0ecab5791f Use gsize instead of C99 type size_t in Geany's core
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5899 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-08-25 20:12:20 +00:00
Colomban Wendling
079b1689e3 Fix checks for non-ASCII characters not to rely on signed char
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5898 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-08-25 20:11:59 +00:00
Colomban Wendling
ba09987d10 Cleanup word search for word completion
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5897 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-08-25 20:11:43 +00:00
Colomban Wendling
fc6dc88772 Fix search for the current word if it isn't composed of only GEANY_WORDCHARS
Use Scintilla's definition of a "word" when fetching the current word
to perform a search.  This is needed when we perform a whole-word
search for Scintilla to find the matches.

Closes #3386129.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5895 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-08-21 17:15:19 +00:00
Colomban Wendling
44e5687e0b Allow editing of formerly hidden preferences in the preferences dialog
Patch by Dimitar Zhekov, thanks! (closes P#3313315)

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5871 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-07-28 17:59:22 +00:00
Colomban Wendling
461253e005 Fix indentation brace matching (closes #3309606)
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5864 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-06-26 21:47:47 +00:00
Colomban Wendling
3bd6a01525 Fix a few signed vs. unsigned and differently-sized integer problems
Most notably, utils_get_line_endings() and document_open_file_list()
don't support -1 as the size anymore.  If the size should be computed
from null-terminated data, the caller code must take care of doing so.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5855 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-06-17 22:52:17 +00:00
Colomban Wendling
6f9d845181 In messages show the actual text user entered in Find and Replace dialogs
Previously we could put into a message a string where escape sequences
were already translated.

In the code, now we pass the original text together with the one
that is actually searched for.  New `original_text' field was added to
GeanySearchData.  A bug was fixed in document.c:show_replace_summary(): it
did not escape the "No matches found for ..." string.

Patch by Eugene Arshinov, thanks.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5832 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-06-03 13:40:42 +00:00
Enrico Tröger
80e6949610 Remove unused variables.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5763 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-05-08 16:02:40 +00:00
Colomban Wendling
ec4a5ea4f9 Make sure to update the tag list only for the current document
Fix idle tag list updating not to update the tag list if the current
document isn't the one to update anymore. In this case, mark the
document as needing an update and re-schedule an idle update next time
the document gets the focus.

This fixes updating the tag list after switching documents, which
resulted in displaying the wrong tag list.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5738 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-04-26 13:52:31 +00:00
Colomban Wendling
23a266f189 Don't update the tag list when the user is typing
Reset the pending update delay when we get a Scintilla change not to
reparse the tags when the user is actively typing.

This should not be a problem since the user is unlikely to care about
the tags being updated if he's actively typing, and should avoid
annoying delays when actively typing inside very large files.

Patch by Yura Siamashka, thanks.

git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@5735 ea778897-0a13-0410-b9d1-a72fbfd435f5
2011-04-24 15:30:20 +00:00