Changeset a35b458 in mainline for uspace/app/edit
- Timestamp:
- 2018-03-02T20:10:49Z (8 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f1380b7
- Parents:
- 3061bc1
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-02-28 17:38:31)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-03-02 20:10:49)
- Location:
- uspace/app/edit
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/app/edit/edit.c
r3061bc1 ra35b458 89 89 */ 90 90 int ideal_column; 91 91 92 92 char *previous_search; 93 93 bool previous_search_reverse; … … 533 533 pane.rflags |= REDRAW_TEXT; 534 534 } 535 535 536 536 if (update_ideal_column) 537 537 pane.ideal_column = c_new.column; 538 538 539 539 caret_update(); 540 540 } … … 609 609 const char *old_fname = (doc.file_name != NULL) ? doc.file_name : ""; 610 610 char *fname; 611 611 612 612 fname = prompt("Save As", old_fname); 613 613 if (fname == NULL) { … … 816 816 817 817 /* Clear the remaining rows if file is short. */ 818 818 819 819 int i; 820 820 sysarg_t j; … … 906 906 console_flush(con); 907 907 } 908 908 909 909 if ((csel_end.row == rbc.row) && (csel_end.column == s_column)) { 910 910 console_flush(con); … … 912 912 console_flush(con); 913 913 } 914 914 915 915 c = str_decode(row_buf, &pos, size); 916 916 if (c != '\t') { … … 1218 1218 coord.row = row; 1219 1219 coord.column = column; 1220 1220 1221 1221 spt_t pt; 1222 1222 sheet_get_cell_pt(doc.sh, &coord, align_dir, &pt); 1223 1223 1224 1224 caret_move(pt, select, true); 1225 1225 } … … 1263 1263 { 1264 1264 char *sline; 1265 1265 1266 1266 sline = prompt("Go to line", ""); 1267 1267 if (sline == NULL) { … … 1269 1269 return; 1270 1270 } 1271 1271 1272 1272 char *endptr; 1273 1273 int line = strtol(sline, &endptr, 10); … … 1278 1278 } 1279 1279 free(sline); 1280 1280 1281 1281 caret_move_absolute(line, pane.ideal_column, dir_before, false); 1282 1282 } … … 1337 1337 { 1338 1338 char *pattern; 1339 1339 1340 1340 const char *prompt_text = "Find next"; 1341 1341 if (reverse) 1342 1342 prompt_text = "Find previous"; 1343 1343 1344 1344 const char *default_value = ""; 1345 1345 if (pane.previous_search) 1346 1346 default_value = pane.previous_search; 1347 1347 1348 1348 pattern = prompt(prompt_text, default_value); 1349 1349 if (pattern == NULL) { … … 1351 1351 return; 1352 1352 } 1353 1353 1354 1354 if (pane.previous_search) 1355 1355 free(pane.previous_search); 1356 1356 pane.previous_search = pattern; 1357 1357 pane.previous_search_reverse = reverse; 1358 1358 1359 1359 search(pattern, reverse); 1360 1360 } … … 1366 1366 return; 1367 1367 } 1368 1368 1369 1369 search(pane.previous_search, pane.previous_search_reverse); 1370 1370 } … … 1373 1373 { 1374 1374 status_display("Searching..."); 1375 1375 1376 1376 spt_t sp, producer_pos; 1377 1377 tag_get_pt(&pane.caret_pos, &sp); 1378 1378 1379 1379 /* Start searching on the position before/after caret */ 1380 1380 if (!reverse) { … … 1385 1385 } 1386 1386 producer_pos = sp; 1387 1387 1388 1388 search_ops_t ops = search_spt_ops; 1389 1389 if (reverse) 1390 1390 ops = search_spt_reverse_ops; 1391 1391 1392 1392 search_t *search = search_init(pattern, &producer_pos, ops, reverse); 1393 1393 if (search == NULL) { … … 1395 1395 return; 1396 1396 } 1397 1397 1398 1398 match_t match; 1399 1399 errno_t rc = search_next_match(search, &match); … … 1402 1402 search_fini(search); 1403 1403 } 1404 1404 1405 1405 if (match.end) { 1406 1406 status_display("Match found."); … … 1423 1423 status_display("Not found."); 1424 1424 } 1425 1425 1426 1426 search_fini(search); 1427 1427 } … … 1716 1716 console_set_pos(con, 0, scr_rows - 1); 1717 1717 console_set_style(con, STYLE_INVERTED); 1718 1718 1719 1719 int pos = -(scr_columns - 3); 1720 1720 printf(" %*s ", pos, str); -
uspace/app/edit/search.c
r3061bc1 ra35b458 49 49 if (search == NULL) 50 50 return NULL; 51 51 52 52 wchar_t *p = str_to_awstr(pattern); 53 53 if (p == NULL) { … … 55 55 return NULL; 56 56 } 57 57 58 58 search->pattern_length = wstr_length(p); 59 59 60 60 if (reverse) { 61 61 /* Reverse the pattern */ … … 68 68 } 69 69 } 70 70 71 71 search->pattern = p; 72 72 73 73 search->client_data = client_data; 74 74 search->ops = ops; … … 79 79 return NULL; 80 80 } 81 81 82 82 search->pattern_pos = 0; 83 83 84 84 search->back_table[0] = -1; 85 85 search->back_table[1] = 0; … … 101 101 } 102 102 } 103 103 104 104 return search; 105 105 } … … 108 108 { 109 109 search_equals_fn eq = s->ops.equals; 110 110 111 111 wchar_t cur_char; 112 112 errno_t rc = EOK; … … 129 129 } 130 130 } 131 131 132 132 match->end = NULL; 133 133 match->length = 0; 134 134 135 135 return rc; 136 136 } … … 140 140 free(search->pattern); 141 141 free(search->back_table); 142 142 143 143 } 144 144 -
uspace/app/edit/sheet.c
r3061bc1 ra35b458 263 263 coord.row = row; 264 264 coord.column = 65536; 265 265 266 266 sheet_get_cell_pt(sh, &coord, dir_before, &pt); 267 267 spt_get_coord(&pt, &coord);
Note:
See TracChangeset
for help on using the changeset viewer.