`final` is not a normal keyword, as it only have a special meaning in
some specific context. So, use a special case instead of a keyword not
to break identifiers of that name.
If there was two hashes (#) in an inline comment, only the content
between the two was considered a comment.
X-Universal-CTags-Commit-ID: ee93f5b9f393e76a850cf8c894cc748a62981156
Most of the time there's no start of a string which means all the 10
strcmp()s are done for every character of the input. This is very expensive:
before this patch this function alone takes 55% of the parser time.
When comparing by character (and avoiding further comparison if the first
character doesn't match), this function takes only 11% of the parser time
so the performance of the parser nearly doubles.
In addition check for the "rb" prefix which is possible in Python 3.
Ported from universal-ctags.
Also, as changing the color of the label button doesn't currently work
on GTK2, but would on GTK3 with this change, explicitly skip it for
consistency.
Closes#528.
GtkScrolledWindow in GTK 3.16 might have a minimum and natural height
of 0 if GTK_OVERLAY_SCROLLING is enabled (which is the default), so we
need to fix our overridden minimal height to never be greater than the
natural height.
Do that by only changing the minimal height if it is greater than what
we want.
I don't know why we didn't use to set 0 here, but it might be that a
height of 0 caused problems on older GTK versions, so keep 1 to be sure.
X-Scintilla-Commit-ID: e9f9c964236a6b740f75d09a8b0ac76e5d6dd09f
Autodetect /etc/bash_completion (and the like)
Splitted up autodetection patterns for Bash
This will match:
- `*.bash` (any manufactured Bash scripts)
- `~/.bashrc` (hidden Bash configuration in your home directory)
- `~/.bash_*` (partials included by bashrc, e.g. `.bash_aliases`, `.bash_history`, `.bash_logout`)
- `/etc/bash.bashrc` (global Bash configuration)
- `/etc/bash_completion` (and potentially any other `/etc/bash_*` file)
This adds a "Filetype Configuration" under Tools->Configuration Files
with all filetype configuration files (grouped by language type).
This patch mostly reuses the stuff we already have in Geany - the menu
creation code from Document->Set Filetype, file creation in the .config
directory if it doesn't exist (similarly to filetypes.common) and config
file reloading when the file gets updated.