History

plan9: give up on vim keys, use them for other stuff

Sigrid Haflínudóttir committed 6 years ago

Commit 751cb701 parent 5b152a51 file · +21 −26Browse files

Unified · Split

plan9.c+21−26
@@ -654,17 +654,6 @@ curmove(int x, int y) · 653 unmodified lines
654 sel.max = ptclamp(addpt(sel.max, xy));654 sel.max = ptclamp(addpt(sel.max, xy));
655}655}
656 656
657static void
658fieldmodeset(Rune key)
659{
660 if (mode != Mappend) {
661 selset(key);
662 } else {
663 fieldset(cur.x, cur.y, key);
664 curmove(1, 0);
665 }
666}
667
668static void657static void
669selmove(int x, int y)658selmove(int x, int y)
670{659{
@@ -1053,8 +1042,9 @@ noredraw: · 382 unmodified lines
1053 1042
1054 case Cchar:1043 case Cchar:
1055 switch (key.rune) {1044 switch (key.rune) {
1056 case 0x0b: /* C-k */1045 case '\n': /* C-j */
1057 move.y = 1;1046 /* FIXME bang it */
1047 break;
1058 case Kup:1048 case Kup:
1059 if (shiftdown || mode == Mselect)1049 if (shiftdown || mode == Mselect)
1060 selext(0, -move.y);1050 selext(0, -move.y);
@@ -1064,8 +1054,6 @@ noredraw: · 3 unmodified lines
1064 curmove(0, -move.y);1054 curmove(0, -move.y);
1065 }1055 }
1066 break;1056 break;
1067 case '\n': /* C-j */
1068 move.y = 1;
1069 case Kdown:1057 case Kdown:
1070 if (shiftdown || mode == Mselect)1058 if (shiftdown || mode == Mselect)
1071 selext(0, move.y);1059 selext(0, move.y);
@@ -1075,8 +1063,6 @@ noredraw: · 3 unmodified lines
1075 curmove(0, move.y);1063 curmove(0, move.y);
1076 }1064 }
1077 break;1065 break;
1078 case Kbs: /* C-h */
1079 move.x = 1;
1080 case Kleft:1066 case Kleft:
1081 if (shiftdown || mode == Mselect) {1067 if (shiftdown || mode == Mselect) {
1082 selext(-move.x, 0);1068 selext(-move.x, 0);
@@ -1087,11 +1073,8 @@ noredraw: · 4 unmodified lines
1087 }1073 }
1088 break;1074 break;
1089 case 0x0c: /* C-l */1075 case 0x0c: /* C-l */
1090 move.x = 1;1076 selmap(tolower);
1091 if (shiftdown) { /* FIXME this conflicts with vim keys btw */1077 break;
1092 selmap(tolower);
1093 break;
1094 }
1095 case Kright:1078 case Kright:
1096 if (shiftdown || mode == Mselect)1079 if (shiftdown || mode == Mselect)
1097 selext(move.x, 0);1080 selext(move.x, 0);
@@ -1184,7 +1167,7 @@ noredraw: · 86 unmodified lines
1184 case Kins:1167 case Kins:
1185 mode = mode != Mappend ? Mappend : Minsert;1168 mode = mode != Mappend ? Mappend : Minsert;
1186 break;1169 break;
1187 case Kstx:1170 case 0x0b: /* C-k */
1188 tmp[0] = 0;1171 tmp[0] = 0;
1189 if (enter("command:", tmp, sizeof(tmp), nil, &kctl, nil) > 0)1172 if (enter("command:", tmp, sizeof(tmp), nil, &kctl, nil) > 0)
1190 command(tmp);1173 command(tmp);
@@ -1209,8 +1192,15 @@ noredraw: · 18 unmodified lines
1209 mode = mode != Mselect ? Mselect : Minsert;1192 mode = mode != Mselect ? Mselect : Minsert;
1210 break;1193 break;
1211 case Knack: /* C-u */1194 case Knack: /* C-u */
1212 if (shiftdown)1195 selmap(toupper);
1213 selmap(toupper);1196 break;
1197 case Kbs: /* C-h */
1198 if (mode != Mappend) {
1199 selset('.');
1200 } else {
1201 curmove(-1, 0);
1202 fieldset(cur.x, cur.y, '.');
1203 }
1214 break;1204 break;
1215 case ' ':1205 case ' ':
1216 if (mode != Mappend) {1206 if (mode != Mappend) {
@@ -1221,7 +1211,12 @@ noredraw: · 4 unmodified lines
1221 if (key.rune == Kdel || key.rune == ' ')1211 if (key.rune == Kdel || key.rune == ' ')
1222 key.rune = '.';1212 key.rune = '.';
1223 if (orca_is_valid_glyph(key.rune)) {1213 if (orca_is_valid_glyph(key.rune)) {
1224 fieldmodeset(key.rune);1214 if (mode != Mappend) {
1215 selset(key.rune);
1216 } else {
1217 fieldset(cur.x, cur.y, key.rune);
1218 curmove(1, 0);
1219 }
1225 } else {1220 } else {
1226// fprint(2, "unhandled key %04x\n", key.rune);1221// fprint(2, "unhandled key %04x\n", key.rune);
1227 goto noredraw;1222 goto noredraw;

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t