tex: td option for text direction - neatvi - [fork] simple vi-type editor with … | |
git clone git://src.adamsgaard.dk/neatvi | |
Log | |
Files | |
Refs | |
README | |
--- | |
commit 667b29ccc16bd6e63382acb7cb1a9a254d4b96d9 | |
parent b4ee1db9e7a83a8d8105af24c4c18f130a09fe67 | |
Author: Ali Gholami Rudi <[email protected]> | |
Date: Wed, 20 May 2015 09:31:45 +0430 | |
ex: td option for text direction | |
Diffstat: | |
M dir.c | 6 +++--- | |
M ex.c | 3 ++- | |
M vi.c | 4 +++- | |
3 files changed, 8 insertions(+), 5 deletions(-) | |
--- | |
diff --git a/dir.c b/dir.c | |
t@@ -68,14 +68,14 @@ int dir_context(char *s) | |
{ | |
int found; | |
int dir; | |
- if (xdir == 'L') | |
+ if (xdir > +1) | |
return +1; | |
- if (xdir == 'R') | |
+ if (xdir < -1) | |
return -1; | |
found = rset_find(dir_rsctx, s ? s : "", 0, NULL, 0); | |
if (!conf_dircontext(found, NULL, &dir)) | |
return dir; | |
- return xdir == 'r' ? -1 : +1; | |
+ return xdir < 0 ? -1 : +1; | |
} | |
/* reorder the characters in s */ | |
diff --git a/ex.c b/ex.c | |
t@@ -19,7 +19,7 @@ struct lbuf *xb; /* current buffer */ | |
int xrow, xcol, xtop; /* current row, column, and top row */ | |
int xrow_alt; /* alternate row, column, and top row */ | |
int xled = 1; /* use the line editor */ | |
-int xdir = 'L'; /* current direction context */ | |
+int xdir = +1; /* current direction context */ | |
/* read ex command location */ | |
static char *ex_loc(char *s, char *loc) | |
t@@ -446,6 +446,7 @@ static struct option { | |
} options[] = { | |
{"ai", "autoindent", &xai}, | |
{"ic", "ignorecase", &xic}, | |
+ {"td", "textdirection", &xdir}, | |
}; | |
static char *cutword(char *s, char *d) | |
diff --git a/vi.c b/vi.c | |
t@@ -1136,9 +1136,11 @@ static void vi(void) | |
break; | |
case 'l': | |
case 'r': | |
+ xdir = z == 'r' ? -1 : +1; | |
+ break; | |
case 'L': | |
case 'R': | |
- xdir = z; | |
+ xdir = z == 'R' ? -2 : +2; | |
break; | |
} | |
redraw = 1; |