summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--Doc/Zsh/options.yo6
-rw-r--r--Src/options.c1
-rw-r--r--Src/utils.c19
-rw-r--r--Src/zsh.h1
5 files changed, 33 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 405ebdd52..c5201cb14 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2000-05-08 Peter Stephenson <pws@cambridgesiliconradio.com>
+
+ * 11260: Doc/Zsh/options.yo: docs for 11044
+
+ * Hiroki Tamakoshi: 11044: Src/options.c, Src/utils.c, Src/zsh.h:
+ Option to use Dvorak keyboard in spell-checking.
+
2000-05-08 Geoff Wing <gcw@zsh.org>
* gcw: unposted: Etc/CONTRIBUTORS fix
diff --git a/Doc/Zsh/options.yo b/Doc/Zsh/options.yo
index e55ed53bd..9b2d34b92 100644
--- a/Doc/Zsh/options.yo
+++ b/Doc/Zsh/options.yo
@@ -326,6 +326,12 @@ do not report an error unless all the patterns
in a command have no matches.
Overrides tt(NULL_GLOB).
)
+pindex(DVORAK)
+item(tt(DVORAK))(
+Use the Dvorak keyboard instead of the standard qwerty keyboard as a basis
+for examining spelling mistakes for the tt(CORRECT) and tt(CORRECT_ALL)
+options and the tt(spell-word) editor command.
+)
pindex(EQUALS)
cindex(filename expansion, =)
item(tt(EQUALS) <Z>)(
diff --git a/Src/options.c b/Src/options.c
index c68d58986..9125a2380 100644
--- a/Src/options.c
+++ b/Src/options.c
@@ -210,6 +210,7 @@ static struct optname optns[] = {
{NULL, "promptvars", OPT_ALIAS, /* bash */ PROMPTSUBST},
{NULL, "stdin", OPT_ALIAS, /* ksh */ SHINSTDIN},
{NULL, "trackall", OPT_ALIAS, /* ksh */ HASHCMDS},
+{NULL, "dvorak", 0, DVORAK},
{NULL, NULL, 0, 0}
};
diff --git a/Src/utils.c b/Src/utils.c
index 416d0aeaf..e109d8ba5 100644
--- a/Src/utils.c
+++ b/Src/utils.c
@@ -2127,7 +2127,7 @@ static int
spdist(char *s, char *t, int thresh)
{
char *p, *q;
- char *keymap =
+ const char qwertykeymap[] =
"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\
\t1234567890-=\t\
\tqwertyuiop[]\t\
@@ -2139,6 +2139,23 @@ spdist(char *s, char *t, int thresh)
\tASDFGHJKL:\"\n\t\
\tZXCVBNM<>?\n\n\t\
\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
+ const char dvorakkeymap[] =
+ "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\
+\t1234567890[]\t\
+\t',.pyfgcrl/=\t\
+\taoeuidhtns-\n\t\
+\t;qjkxbmwvz\t\t\t\
+\n\n\n\n\n\n\n\n\n\n\n\n\n\n\
+\t!@#$%^&*(){}\t\
+\t\"<>PYFGCRL?+\t\
+\tAOEUIDHTNS_\n\t\
+\t:QJKXBMWVZ\n\n\t\
+\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
+ const char *keymap;
+ if ( isset( DVORAK ) )
+ keymap = dvorakkeymap;
+ else
+ keymap = qwertykeymap;
if (!strcmp(s, t))
return 0;
diff --git a/Src/zsh.h b/Src/zsh.h
index 585e94e59..dec00c9e7 100644
--- a/Src/zsh.h
+++ b/Src/zsh.h
@@ -1431,6 +1431,7 @@ enum {
VERBOSE,
XTRACE,
USEZLE,
+ DVORAK,
OPT_SIZE
};