Changeset a35b458 in mainline for uspace/dist/src/c/demos/edit/edit.c
- Timestamp:
- 2018-03-02T20:10:49Z (7 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)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/dist/src/c/demos/edit/edit.c
r3061bc1 ra35b458 88 88 */ 89 89 int ideal_column; 90 90 91 91 char *previous_search; 92 92 bool previous_search_reverse; … … 532 532 pane.rflags |= REDRAW_TEXT; 533 533 } 534 534 535 535 if (update_ideal_column) 536 536 pane.ideal_column = c_new.column; 537 537 538 538 caret_update(); 539 539 } … … 608 608 const char *old_fname = (doc.file_name != NULL) ? doc.file_name : ""; 609 609 char *fname; 610 610 611 611 fname = prompt("Save As", old_fname); 612 612 if (fname == NULL) { … … 815 815 816 816 /* Clear the remaining rows if file is short. */ 817 817 818 818 int i; 819 819 sysarg_t j; … … 905 905 console_flush(con); 906 906 } 907 907 908 908 if ((csel_end.row == rbc.row) && (csel_end.column == s_column)) { 909 909 console_flush(con); … … 911 911 console_flush(con); 912 912 } 913 913 914 914 c = str_decode(row_buf, &pos, size); 915 915 if (c != '\t') { … … 966 966 int n = printf(" %d, %d (%d): File '%s'. Ctrl-Q Quit Ctrl-S Save " 967 967 "Ctrl-E Save As", coord.row, coord.column, last_row, fname); 968 968 969 969 int pos = scr_columns - 1 - n; 970 970 printf("%*s", pos, ""); … … 1151 1151 coord.row = row; 1152 1152 coord.column = column; 1153 1153 1154 1154 spt_t pt; 1155 1155 sheet_get_cell_pt(doc.sh, &coord, align_dir, &pt); 1156 1156 1157 1157 caret_move(pt, select, true); 1158 1158 } … … 1196 1196 { 1197 1197 char *sline; 1198 1198 1199 1199 sline = prompt("Go to line", ""); 1200 1200 if (sline == NULL) { … … 1202 1202 return; 1203 1203 } 1204 1204 1205 1205 char *endptr; 1206 1206 int line = strtol(sline, &endptr, 10); … … 1211 1211 } 1212 1212 free(sline); 1213 1213 1214 1214 caret_move_absolute(line, pane.ideal_column, dir_before, false); 1215 1215 } … … 1270 1270 { 1271 1271 char *pattern; 1272 1272 1273 1273 const char *prompt_text = "Find next"; 1274 1274 if (reverse) 1275 1275 prompt_text = "Find previous"; 1276 1276 1277 1277 const char *default_value = ""; 1278 1278 if (pane.previous_search) 1279 1279 default_value = pane.previous_search; 1280 1280 1281 1281 pattern = prompt(prompt_text, default_value); 1282 1282 if (pattern == NULL) { … … 1284 1284 return; 1285 1285 } 1286 1286 1287 1287 if (pane.previous_search) 1288 1288 free(pane.previous_search); 1289 1289 pane.previous_search = pattern; 1290 1290 pane.previous_search_reverse = reverse; 1291 1291 1292 1292 search(pattern, reverse); 1293 1293 } … … 1299 1299 return; 1300 1300 } 1301 1301 1302 1302 search(pane.previous_search, pane.previous_search_reverse); 1303 1303 } … … 1306 1306 { 1307 1307 status_display("Searching..."); 1308 1308 1309 1309 spt_t sp, producer_pos; 1310 1310 tag_get_pt(&pane.caret_pos, &sp); 1311 1311 1312 1312 /* Start searching on the position before/after caret */ 1313 1313 if (!reverse) { … … 1318 1318 } 1319 1319 producer_pos = sp; 1320 1320 1321 1321 search_ops_t ops = search_spt_ops; 1322 1322 if (reverse) 1323 1323 ops = search_spt_reverse_ops; 1324 1324 1325 1325 search_t *search = search_init(pattern, &producer_pos, ops, reverse); 1326 1326 if (search == NULL) { … … 1328 1328 return; 1329 1329 } 1330 1330 1331 1331 match_t match; 1332 1332 errno_t rc = search_next_match(search, &match); … … 1335 1335 search_fini(search); 1336 1336 } 1337 1337 1338 1338 if (match.end) { 1339 1339 status_display("Match found."); … … 1356 1356 status_display("Not found."); 1357 1357 } 1358 1358 1359 1359 search_fini(search); 1360 1360 } … … 1649 1649 console_set_pos(con, 0, scr_rows - 1); 1650 1650 console_set_style(con, STYLE_INVERTED); 1651 1651 1652 1652 int pos = -(scr_columns - 3); 1653 1653 printf(" %*s ", pos, str);
Note:
See TracChangeset
for help on using the changeset viewer.