#! | 146 lines | 95 code | 51 blank | 0 comment | 0 complexity | 10880cb3262cd6216ef917d077c8817b MD5 | raw file
1PUT HEADER PANEL BACK 2 3ISSUE: the cursor is undrawn/redrawn on each input event. 4This includes mouse moves. There are a lot of those. 5 6Deal with rounding errors in font sizes. 7 8=> must work in Fix32 so that font sizes are not rounded 9 10Auto-indent. 11 12Mark range/selection(s). PERSISTENT. 13 14BUG: on RETURN, first char of old line still visible (but not present, 15as a Refresh() shows.) 16 17BUG: tokeniser doesn't leave string state? 18Lexer: fat strings & comments, numeric escapes in strings. 19(It's a state-machine messup. Needs proper attention.) 20 21UNDO. 22 23Documentation. 24 25Outline view 26 27Proper build, not single-shot. 28 29Incorporate some (silk?) icons. 30 31An icon for the window. 32 33Handling tabs in input files. 34 35Tabbed views. 36 37Run program on demand, I/O to alternate window. 38 39Scrolling! 40 41Don't refresh hidden or not-just-exposed areas. 42 43Splash screen on startup. 44 45Multiple X windows with demuxing. 46 47Dynamic update of panel arrangement. 48 49Dynamic shelves (more than 2 elements, add-n-remove) 50 51Multiple fonts. 52 53Respect version control when saving files. 54 55Factor out the Drawing stuff from panel. 56 57Menus. 58 59Proper preservation of header field(s). 60 61Extraction of keyword/builtin map from edit, should be configurable. 62 63Extraction of tokeniser code from edit, should be configurable. 64 65------------------------------------------------ 66 67PUT FLOATY BITS BACK. 68 Restored floaty notey option with careful co-ordinate 69 computation. 70 71Add join lines. 72 Added. Joining a line (to the next line) pulls up any notes 73 from the next line into this line's notes. 74 75When lines are inserted/deleted, the REDLINE marks should stay 76attached to the correct line(s). 77 DeleteLine updated to maintain note attachment; Split 78 already had that change. 79 80delete line 81 Buffer has DeleteLine(line int) operation; EditPanel uses it 82 on ^L. 83 84HOME/END 85 The HOME key takes you to the top of the document, or the bottom 86 if you're already at the top. 87 88 The END key takes you to the left edge of the current line, 89 or the right end if you're at the left. 90 91Fix bug in DC/BACKSPACE when outside columns 92 Should be fixed as part of extracting buffers. 93 94Factor out the buffer-manipulation from edit. 95 Now in edit/buffer, with exposed interface Buffer and 96 constructor NewBuffer (could perhaps now be just New). 97 98Change names. "panel.Type" doesn't really work. A better name for 99"panel" would make ...Panel make sense for the interface. 100 Type has become View. 101 102Auto-repeat on keys. 103 Turns out to work for free if you're listening to Press events 104 as well as Release events. (Maybe even just press events ...) 105 Yay. 106 107Function keys. 108 F1 is CMD key. 109 110Remember filename on CMD r 111Add CMD s (save file) 112 Done. 113 114Floaty display over exciting patches of document. 115 After pruning the mess of incorrect details I 116 had introduced, it is (a) simple and (b) working. 117 118Name on window. 119 Done. Maybe an icon would be nice. 120 121Lexer: strings and comments. 122 Simple strings and // comments done. \ch escapes done 123 but not \octal or \hex. 124 125Tracking mouse motion. 126 New At(x, y) method; edit panel responds with log messages on 127 damaged lines. 128 129Proper keyboard handling. 130 The first thing we do is ask for the keyboard mapping 131 and we apply the response to incoming keystrokes. 132 (CTRL is still done by hand.) 133 134Syntax highlighting. 135 A primitive version of this is working (for identifiers only). 136 137Coloured strings (etc). 138 text is now drawn with a coloured (and fonted) pen. 139 which may just be a context rather than a specialised 140 object. 141 142rename the P_ methods back. 143 Done. 144 145Replacing curses with eg X or SDL. 146 X is replacing curses.