454 Commits

Author SHA1 Message Date
Colomban Wendling
5c22c9d73e R has braces 2013-11-04 17:42:05 +01:00
Colomban Wendling
fd18b7455c Plug a possible memory leak
There is no need to check doc->real_path since the usage is NULL-safe,
and if it actually is empty or NULL it isn't a bug in the caller itself
anyway, and this could leak.
2013-11-02 22:10:32 +01:00
Nick Treleaven
b428042278 Add sci_word_start_position, sci_word_end_position wrappers 2013-09-19 14:15:17 +01:00
Nick Treleaven
6d2f26c494 Don't ignore word matches that vary only by case
The user needs to see all case variants, even when they want searching
to be done case-insensitively (which isn't supported yet).
2013-09-19 13:56:48 +01:00
Nick Treleaven
dcfbf22cf2 Don't allocate initial size based on autocompletion_max_entries
The user may have set that too high.
2013-09-19 13:56:46 +01: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
Nick Treleaven
0998f1c19c Make code more readable by renaming poorly named macros NZV and NVL
Closes #159
2013-08-14 21:54:20 -07:00
elextr
f15f61768d Fix sign comparison warning
Since the previous line ensured len is < 100, just casting it is fine.
2013-08-05 12:13:42 +10:00
elextr
8d3085b61c Add C++ member pointer operator to scope autocomplete operators
C++ member pointers use the syntax ->* so the scope autocomplete
list was showing after -> then disappearing when * was typed.
Fixes #907 h.
2013-07-18 13:00:06 +10:00
elextr
cac1115ced Prevent reading past start of Scintilla buffer
A quick check seemed to show Scintilla does not check the minimum
value is positive, so just check here to be safe and log message
if it fails.
2013-07-18 12:36:42 +10:00
Colomban Wendling
d91c532f95 Remove a few dead assignments
Spotted by clang --analyze.
2013-07-13 23:00:43 +02:00
Eugene Arshinov
e8443b19f7 rewrite_reflow: Remove a check inside line breaking implementation that caused breaking to occur too early 2013-04-21 11:45:09 +10:00
Eugene Arshinov
40fb3aa64d rewrite_reflow: Create sci_get_position_from_col function to wrap Scintilla's SCI_FINDCOLUMN command. 2013-04-21 11:45:09 +10:00
Colomban Wendling
2c11c3c5e7 Fix cursor position and selection after comment toggling
Fix the selection start position after uncommenting if it was inside
the comment marker;  and fix the selection end position if it was in
the indentation or before or inside the comment marker.

Improved fix for #3576431.
2013-03-24 18:34:29 +01:00
Colomban Wendling
b1fb2ab053 Fix various line length computation issues for the last line
The last line doesn't have EOL characters, so computing
(line_length() - eol_length()) is wrong on the last line.

Instead, use (line_end_pos() - line_start_pos()) as suggests
Scintilla's documentation.

Closes PR#124
2013-03-20 23:17:19 +01:00
Colomban Wendling
35cc441b74 Merge branch 'gtk3-support'
Conflicts:
	src/ui_utils.c
2013-03-10 17:20:25 +01:00
Colomban Wendling
d289e3da20 Fix comment toggling in PHP and HTML with bottom-up selection
If current position is not at selection start (e.g. bottom-up
selection), editor_get_filetype_at_current_pos() will start returning
improper result as soon as the first buffer change since the style at
the actual current position will have been invalidated and not yet
recomputed.
2013-03-01 15:26:39 +01:00
Colomban Wendling
8ece89096d Merge branch 'master' into gtk3-support 2013-01-29 15:29:10 +01:00
Colomban Wendling
3783eed0ea Use icons from the theme in the completion popup
Drop the XPM icons and load the PNG ones through the theme mechanisms,
like we do for the symbols tree.
2013-01-01 19:10:48 +01:00
Nick Treleaven
9df961f8c5 Scroll cursor in view after line breaking 2012-11-15 15:40:05 +00:00
Nick Treleaven
b8fa21ff3b Never strip trailing spaces for Diff documents 2012-11-15 13:39:55 +00:00
Colomban Wendling
220ace841c Fix uncommenting multi-line comments when cursor is on a delimiter
If the cursor was inside one of the comment's delimiters, the code used
to look for another delimiter, leading to removing previous comment's
start.  Moreover, the code assumed the delimiter will always be found,
leading to improper deletions if a delimiter could not be found (either
because of the above problem or because the comment wasn't terminated).

Also, the code used document_find_text() which, if the searched text
cannot be found on the requested direction, either wraps or asks the
user whether to wrap.  Wrapping is wrong if there is more than one
single comment in the file, and the dialog is confusing for the use
since she didn't ask for it.

So, rework the code for it to correctly find the delimiters, and not
to wrap search or ask the user.  It is also simpler by reusing some
already existing code.
2012-10-12 20:40:38 +02:00
Matthew Brush
206c39cb6a Fix reshowing calltip after autoc list closed
Using default priority causes Geany's reshowing idle handler to run
before Scintilla's, changing priority to low in hopes of making it
run after.
2012-10-11 23:07:02 -07:00
Colomban Wendling
5bb0ca5a83 Fix cursor position after comment toggling with no selection
The implementation drops the non-selection code paths and simply makes
sure both caret and anchor are placed at the same position if there
was no selection.  This avoids having two completely different code
paths for things that are very similar -- and alternative code paths
were buggy.

Closes #3576431.
2012-10-12 00:15:29 +02:00
Colomban Wendling
c5985f0cd1 Add ::draw handler for GTK3 where we have ::expose-event handlers 2012-10-08 20:08:07 +02:00
Colomban Wendling
a763e307f7 Don't access GtkWidget fields directly
Since many accessor are new in GTK versions we don't depend on, add
a header that defines them to the direct access if they aren't
available.
2012-10-08 20:08:06 +02:00
Colomban Wendling
565c917688 Consider dash (-) when looking for the word to complete for CSS 2012-10-06 00:55:03 +02:00
Colomban Wendling
972b34e49a Keep caret and anchor position upon indent and unindent
Closes #3167355.
2012-09-28 16:19:06 +02:00
Lex Trotman
5ef6e1627c Fix multiline comments at end of file
Multiline comments did not work at end of file because there is no
style there so also check if at end of file as well as style.
Closes #3026691
2012-09-22 14:13:14 +10:00
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