>From 62319ce0422af23d2fb3d4f184840d9ac0298778 Mon Sep 17 00:00:00 2001
From: M Farkas-Dyck <[email protected]>
Date: Thu, 5 Jun 2014 12:27:27 -0500
Subject: [PATCH 1/5] call endwin on suspend
---
sandy.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sandy.c b/sandy.c
index 5d049f3..5e519b7 100644
--- a/sandy.c
+++ b/sandy.c
@@ -470,7 +470,7 @@ f_spawn(const Arg *arg) {
void
f_suspend(const Arg *arg) {
- wclear(textwin);
+ endwin();
signal (SIGCONT, i_sigcont);
raise(SIGSTOP);
}
--
2.0.0
>From 2a4d90afce642ec4f72fc0b6ec500b649a652648 Mon Sep 17 00:00:00 2001
From: M Farkas-Dyck <[email protected]>
Date: Fri, 16 May 2014 06:42:52 +0000
Subject: [PATCH 2/5] better regcomp failure messages
---
sandy.c | 16 +++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)
diff --git a/sandy.c b/sandy.c
index 5e519b7..05851a5 100644
--- a/sandy.c
+++ b/sandy.c
@@ -276,6 +276,16 @@ static regex_t *cmd_res[LENGTH(cmds)];
static regex_t *syntax_file_res[LENGTH(syntaxes)];
static regex_t *syntax_res[LENGTH(syntaxes)][SYN_COLORS];
+static int
+xregcomp(regex_t *p_re, const char *s, int flags) {
+ int c=regcomp(p_re, s, flags);
+ if(c != 0) {
+ uint8_t msg[4096];
+ regerror(c, p_re, msg, 4096);
+ i_die(msg);
+ }
+}
+
/* F_* FUNCTIONS
Can be linked to an action or keybinding. Always return void and take
const Arg* */
@@ -485,7 +495,7 @@ f_syntax(const Arg *arg) {
: !regexec(syntax_file_res[i], filename, 1,
NULL, 0)) {
for(j=0; j<SYN_COLORS; j++) {
if((syntx >= 0) && syntax_res[syntx][j])
regfree(syntax_res[syntx][j]);
- if(syntaxes[i].re_text[j] &&
regcomp(syntax_res[i][j], syntaxes[i].re_text[j], REG_EXTENDED|REG_NEWLINE))
i_die("Faulty regex.\n");
+ xregcomp(syntax_res[i][j],
syntaxes[i].re_text[j], REG_EXTENDED|REG_NEWLINE);
}
syntx=i;
setenv(envs[EnvSyntax], syntaxes[syntx].name, 1);
@@ -1182,12 +1192,12 @@ i_setup(void){
for(i=0; i<LENGTH(cmds); i++) {
if((cmd_res[i]=(regex_t*)calloc(1, sizeof (regex_t))) == NULL)
i_die("Can't malloc.\n");
- if(regcomp(cmd_res[i], cmds[i].re_text,
REG_EXTENDED|REG_ICASE|REG_NEWLINE)) i_die("Faulty regex.\n");
+ xregcomp(cmd_res[i], cmds[i].re_text,
REG_EXTENDED|REG_ICASE|REG_NEWLINE);
}
for(i=0; i<LENGTH(syntaxes); i++) {
if((syntax_file_res[i]=(regex_t*)calloc(1, sizeof (regex_t)))
== NULL) i_die("Can't malloc.\n");
- if(regcomp(syntax_file_res[i], syntaxes[i].file_re_text,
REG_EXTENDED|REG_NOSUB|REG_ICASE|REG_NEWLINE)) i_die("Faulty regex.\n");
+ xregcomp(syntax_file_res[i], syntaxes[i].file_re_text,
REG_EXTENDED|REG_NOSUB|REG_ICASE|REG_NEWLINE);
for(j=0; j<SYN_COLORS; j++)
if((syntax_res[i][j]=(regex_t*)calloc(1, sizeof
(regex_t))) == NULL) i_die("Can't malloc.\n");
}
--
2.0.0
>From 86c693736a4000eb4731962cc40257b8caf34357 Mon Sep 17 00:00:00 2001
From: Strake <[email protected]>
Date: Fri, 7 Mar 2014 12:29:05 -0500
Subject: [PATCH 3/5] simplify c file regex
---
config.def.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/config.def.h b/config.def.h
index a280e06..98ccf3e 100644
--- a/config.def.h
+++ b/config.def.h
@@ -203,7 +203,7 @@ static const Command cmds[] = { /* REMEMBER: if(arg == 0)
arg.v=regex_match */
static const Syntax syntaxes[] = {
#if HILIGHT_SYNTAX
-{"c", "\\.(c(pp|xx)?|h(pp|xx)?|cc)$", {
+{"c", "\\.([ch](pp|xx)?|cc)$", {
/* HiRed */ "$^",
/* HiGreen */
B"(for|if|while|do|else|case|default|switch|try|throw|catch|operator|new|delete)"B,
/* LoGreen */
B"(float|double|bool|char|int|short|long|sizeof|enum|void|static|const|struct|union|typedef|extern|(un)?signed|inline|((s?size)|((u_?)?int(8|16|32|64|ptr)))_t|class|namespace|template|public|protected|private|typename|this|friend|virtual|using|mutable|volatile|register|explicit)"B,
--
2.0.0
>From 2426819a62cf2c360663b1ba74cb966a07ddcdb6 Mon Sep 17 00:00:00 2001
From: Strake <[email protected]>
Date: Fri, 7 Mar 2014 12:11:47 -0500
Subject: [PATCH 4/5] optionalize to use term status feature
---
config.def.h | 1 +
sandy.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/config.def.h b/config.def.h
index 98ccf3e..0ddb85a 100644
--- a/config.def.h
+++ b/config.def.h
@@ -1,4 +1,5 @@
/* A simplified way to customize */
+#define USE_TERM_STATUS 1
#define HILIGHT_CURRENT 1
#define HILIGHT_SYNTAX 1
#define SHOW_NONPRINT 0
diff --git a/sandy.c b/sandy.c
index 05851a5..71c014b 100644
--- a/sandy.c
+++ b/sandy.c
@@ -1275,7 +1275,7 @@ i_termwininit(void) {
noecho();
nl();
if(textwin) delwin(textwin);
- if(tigetflag("hs") > 0) {
+ if(USE_TERM_STATUS && tigetflag("hs") > 0) {
tsl_str=tigetstr("tsl");
fsl_str=tigetstr("fsl");
textwin=newwin(lines,cols,0,0);
--
2.0.0
>From 81c58094e13ca126e691dac00bccc872dfc83025 Mon Sep 17 00:00:00 2001
From: Strake <[email protected]>
Date: Fri, 7 Mar 2014 12:15:18 -0500
Subject: [PATCH 5/5] possibilize title bar at bottom
---
config.def.h | 1 +
sandy.c | 4 ++--
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/config.def.h b/config.def.h
index 0ddb85a..c873ac4 100644
--- a/config.def.h
+++ b/config.def.h
@@ -1,5 +1,6 @@
/* A simplified way to customize */
#define USE_TERM_STATUS 1
+#define BOTTOM_TITLE 0
#define HILIGHT_CURRENT 1
#define HILIGHT_SYNTAX 1
#define SHOW_NONPRINT 0
diff --git a/sandy.c b/sandy.c
index 71c014b..3313178 100644
--- a/sandy.c
+++ b/sandy.c
@@ -1281,9 +1281,9 @@ i_termwininit(void) {
textwin=newwin(lines,cols,0,0);
} else {
if(titlewin) delwin(titlewin);
- titlewin=newwin(1,cols,0,0);
+ titlewin=newwin(1,cols,BOTTOM_TITLE?lines-1:0,0);
wattron(titlewin,A_REVERSE);
- textwin=newwin(lines-1,cols,1,0);
+ textwin=newwin(lines-1,cols,BOTTOM_TITLE?0:1,0);
}
idlok(textwin, TRUE);
keypad(textwin, TRUE);
--
2.0.0