From 3270d2b61641252e54c5f1785bf6cf41116f59c0 Mon Sep 17 00:00:00 2001 From: wradaar Date: Sun, 4 Apr 2021 20:59:50 +0200 Subject: [PATCH 1/2] Be sensitive to accented characters in terminal. --- src/libide/terminal/ide-terminal.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/libide/terminal/ide-terminal.c b/src/libide/terminal/ide-terminal.c index 175d8d727..bbc55c071 100644 --- a/src/libide/terminal/ide-terminal.c +++ b/src/libide/terminal/ide-terminal.c @@ -29,6 +29,7 @@ #include "ide-terminal.h" #define BUILDER_PCRE2_MULTILINE 0x00000400u +#define BUILDER_PCRE2_UCP 0x00020000u typedef struct { @@ -63,7 +64,8 @@ enum { /* From vteapp.c */ #define DINGUS1 "(((gopher|news|telnet|nntp|file|http|ftp|https)://)|(www|ftp)[-A-Za-z0-9]*\\.)[-A-Za-z0-9\\.]+(:[0-9]*)?" #define DINGUS2 DINGUS1 "/[-A-Za-z0-9_\\$\\.\\+\\!\\*\\(\\),;:@&=\\?/~\\#\\%]*[^]'\\.}>\\) ,\\\"]" -#define FILENAME_PLUS_LOCATION "(?[a-zA-Z0-9\\+\\-\\.\\/_]+):(?\\d+):(?\\d+)" +#define FILENAME_PLUS_LOCATION "(?[[:alnum:]\\+\\-\\.\\/_]+):(?\\d+):(?\\d+)" + static guint signals[N_SIGNALS]; static const gchar *url_regexes[] = { DINGUS1, DINGUS2, FILENAME_PLUS_LOCATION }; @@ -569,7 +571,7 @@ ide_terminal_init (IdeTerminal *self) gint tag; regex = vte_regex_new_for_match (pattern, DZL_LITERAL_LENGTH (pattern), - VTE_REGEX_FLAGS_DEFAULT | BUILDER_PCRE2_MULTILINE, + VTE_REGEX_FLAGS_DEFAULT | BUILDER_PCRE2_MULTILINE | BUILDER_PCRE2_UCP, NULL); tag = vte_terminal_match_add_regex (VTE_TERMINAL (self), regex, 0); vte_terminal_match_set_cursor_name (VTE_TERMINAL (self), tag, "hand2"); -- GitLab From 1860e3e0500fd85ee56681b3050f015c444e1bba Mon Sep 17 00:00:00 2001 From: wradaar Date: Sun, 4 Apr 2021 21:20:46 +0200 Subject: [PATCH 2/2] Remove redundant empty line. --- src/libide/terminal/ide-terminal.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/libide/terminal/ide-terminal.c b/src/libide/terminal/ide-terminal.c index bbc55c071..6cdd0b147 100644 --- a/src/libide/terminal/ide-terminal.c +++ b/src/libide/terminal/ide-terminal.c @@ -66,7 +66,6 @@ enum { #define DINGUS2 DINGUS1 "/[-A-Za-z0-9_\\$\\.\\+\\!\\*\\(\\),;:@&=\\?/~\\#\\%]*[^]'\\.}>\\) ,\\\"]" #define FILENAME_PLUS_LOCATION "(?[[:alnum:]\\+\\-\\.\\/_]+):(?\\d+):(?\\d+)" - static guint signals[N_SIGNALS]; static const gchar *url_regexes[] = { DINGUS1, DINGUS2, FILENAME_PLUS_LOCATION }; static GRegex *filename_regex; -- GitLab