| Age | Commit message (Collapse) | Author | Files | Lines | |
|---|---|---|---|---|---|
| 2012-11-20 | cleanup macro execution functions: common namespace, Execute::file() uses ↵ | Robin Haberkorn | 6 | -94/+86 | |
| Execute::macro() | |||||
| 2012-11-20 | local Q-Register tables; :M command | Robin Haberkorn | 6 | -110/+201 | |
| * munged files use the same local Q-Registers as commandline * :M calls macro without new set of local registers (local register names refer to the parent macro level) * only .x names accepted at the moment. for string building characters, this will like stay that way (cannot refer to extended/long names) | |||||
| 2012-11-20 | undo.push_var() and undo.push_str() return references so calls can be used ↵ | Robin Haberkorn | 1 | -6/+8 | |
| as l-values (common use case) | |||||
| 2012-11-20 | errors when label cannot be found at end of macro invocation | Robin Haberkorn | 3 | -0/+17 | |
| * on the command line the line terminating <ESC> is not accepted when a label was not found | |||||
| 2012-11-20 | goto table cleanup | Robin Haberkorn | 6 | -28/+28 | |
| 2012-11-20 | make goto tables local to macro invocation: they are declared on the C++ ↵ | Robin Haberkorn | 7 | -139/+151 | |
| callstack since macro invocations result in nested macro_execute() calls otherwise a macro could set labels with program counters which are invalid in other macros/the command line | |||||
| 2012-11-20 | support special "{" alternate escape character: is only terminated by a ↵ | Robin Haberkorn | 3 | -10/+28 | |
| matching *balanced* "}" this eases writing nested macros | |||||
| 2012-11-20 | disable ^U string building characters (by default) | Robin Haberkorn | 4 | -19/+28 | |
| some method to reenable it will be developed in the future (perhaps using a separate command, or a special modifier which reverses a string commands default handling of building character) | |||||
| 2012-11-20 | fixed cleaning up red black trees: nodes must be explicitly removed | Robin Haberkorn | 1 | -2/+4 | |
| 2012-11-20 | fixed EB rubout when there is an ADD hook: must not remove buffer before ↵ | Robin Haberkorn | 2 | -9/+4 | |
| undoing hook | |||||
| 2012-11-20 | minor teco.ini simplifications | Robin Haberkorn | 1 | -3/+3 | |
| 2012-11-20 | some debug output when pushing/popping undo tokens | Robin Haberkorn | 1 | -0/+11 | |
| 2012-11-20 | QRegister push-down stack: [x and ]x commands | Robin Haberkorn | 4 | -43/+230 | |
| * rubout is quite tricky but ensures minimal memory copying | |||||
| 2012-11-20 | ED flags making 0-Register hook execution configurable | Robin Haberkorn | 6 | -9/+95 | |
| * teco.ini updated as well | |||||
| 2012-11-20 | Scintilla command ES accepting string parameter: if empty, pop value from ↵ | Robin Haberkorn | 2 | -15/+31 | |
| stack otherwise pass string | |||||
| 2012-11-20 | cleanup strings[0] before invoking done(): can only be a preliminary solution | Robin Haberkorn | 2 | -8/+12 | |
| 2012-11-20 | first working draft of syntax highlighting support and related necessary ↵ | Robin Haberkorn | 4 | -32/+57 | |
| features | |||||
| 2012-11-18 | fixed "*" register: instead of trying to update it everywhere the buffer ↵ | Robin Haberkorn | 2 | -35/+67 | |
| filename changes, it is implemented as a specialized Q-Register * setting it (^U), is currently ignored * getting it, returns the current file's filename directly * editing it clears its document and resets it with the current file's filename * later dynamic querying of the numeric part of Q-Registers may be implemented as well | |||||
| 2012-11-18 | avoid using Scintilla's SAVEPOINT mechanism altogether: fixes some ↵ | Robin Haberkorn | 4 | -38/+22 | |
| destructive commands * the only thing gained from (partially) using that mechanism is that no explicit calls to set the dirty-status of a buffer are necessary * however it had many disadvantages: * setting the buffer clean had to be done manually anyway (see previous commits) * when changing Q-Registers without affecting the current document, a flag had to be used to prevent setting the current document dirty * last but not least, it introduced a dependency on the order of the destructive operation and its UNDO token. * the UNDO token could trigger a SAVEPOINTLEFT notification resulting in additional rubout tokens to be pushed on the stack which screws the rubout stack. this can be avoided by clever ordering of the operations * using an explicit ring.dirtify() is therefore much better | |||||
| 2012-11-17 | Q-Register "*" holding the current filename | Robin Haberkorn | 2 | -9/+19 | |
| 2012-11-17 | use special flag to temporarily disable buffer dirty checks when a ↵ | Robin Haberkorn | 3 | -4/+22 | |
| Q-Register is (temporarily) edited without changing the current document | |||||
| 2012-11-17 | fixed behaviour on runtime errors: the character resulting in the error is ↵ | Robin Haberkorn | 1 | -6/+19 | |
| not accepted and all side-effects up to the exception must be reversed if more than one character is inserted (e.g. via <TAB>), insertion stops at the offending character | |||||
| 2012-11-17 | fixed rubout for loading Q-Registers (with files) | Robin Haberkorn | 2 | -7/+12 | |
| this is very similar to setting a string | |||||
| 2012-11-16 | avoid some unnecessary jumps to buffer start | Robin Haberkorn | 2 | -4/+2 | |
| 2012-11-16 | scroll caret into view after text insertion | Robin Haberkorn | 1 | -1/+3 | |
| 2012-11-16 | Make sure undo tokens and RB-tree entries are destroyed properly | Robin Haberkorn | 3 | -3/+4 | |
| * when a pointer to an abstract base class is "deleted", it must have a virtual destructor so the destructor of derived classes is executed * fixes for instance, deletion of save point files when the command line is terminated (undo stack is discarded) * simplified some undotoken code | |||||
| 2012-11-16 | yet another minor README fix | Robin Haberkorn | 1 | -1/+1 | |
| 2012-11-16 | added some build-time dependencies | Robin Haberkorn | 1 | -2/+3 | |
| 2012-11-16 | minor README.md fix | Robin Haberkorn | 1 | -1/+1 | |
| 2012-11-16 | README.md for Github | Robin Haberkorn | 1 | -0/+57 | |
| 2012-11-16 | ensure that infoline is correct on startup | Robin Haberkorn | 1 | -1/+2 | |
| 2012-11-16 | fixed clearing message line: do not display an empty message line (which can ↵ | Robin Haberkorn | 6 | -3/+27 | |
| mean an empty line sent to stdout) | |||||
| 2012-11-16 | changed default scintilla directory | Robin Haberkorn | 1 | -1/+1 | |
| in the most common setup, it will be found in the parent directory | |||||
| 2012-11-16 | clear message line after every keypress | Robin Haberkorn | 1 | -0/+1 | |
| 2012-11-16 | support different kinds of runtime errors (using C++ exceptions) | Robin Haberkorn | 7 | -113/+174 | |
| * also added some additional range checks (e.g. X command) | |||||
| 2012-11-16 | NCURSES interface: fix message displaying in batch mode (avoid any refresh) | Robin Haberkorn | 1 | -1/+13 | |
| 2012-11-16 | file closing must be enforced now (teco.ini) | Robin Haberkorn | 1 | -1/+1 | |
| 2012-11-16 | support EF and EX arguments. FALSE (>= 0) means to refuse closing/exiting if ↵ | Robin Haberkorn | 3 | -0/+24 | |
| the current file / any file is dirty (modified) -EF and -EX may be used to enforce a close/quit without saving | |||||
| 2012-11-16 | NCURSES: simplified notification callback a bit | Robin Haberkorn | 1 | -4/+2 | |
| unfortunately it's currently not possible to use the SCN_UPDATEUI notification to refresh the view only if necessary | |||||
| 2012-11-16 | empty Scintilla undo buffer on line termination and after munging | Robin Haberkorn | 2 | -0/+4 | |
| * also clear goto table after munging | |||||
| 2012-11-16 | keep a buffer dirty flag and display infos about the current buffer in the ↵ | Robin Haberkorn | 8 | -65/+261 | |
| interfaces (including the dirty flag) * was a bit tricky because the Scintilla SAVEPOINTS cannot be (fully) used * when a file is loaded or saved, a Scintilla SAVEPOINT is set * SAVEPOINTLEFT notifications are used to set a buffer dirty * SAVEPOINTREACHED notifications are useless since Scintilla does not consider the saves themselves to be undoable * GTK interface displays infos in window title bar * NCURSES interface has also been updated and cleaned up a bit. Infos are displayed in a new info line. * NCURSES: fixed popup display after terminal resizing | |||||
| 2012-11-16 | define some Autoconf-(config.h)-like PACKAGE_* macros | Robin Haberkorn | 1 | -0/+5 | |
| 2012-11-15 | NCurses interface: support terminal resizing | Robin Haberkorn | 5 | -10/+50 | |
| * currently, the message line is not remembered and reset on termresize * any open popup window will be drawn over by the other windows | |||||
| 2012-11-15 | install target | Robin Haberkorn | 1 | -0/+5 | |
| 2012-11-15 | support stdio for curses interface | Robin Haberkorn | 6 | -32/+86 | |
| * ./sciteco commandline help works now * messages issued during batch-mode macro processing are written to stdout/stderr * output can be redirected | |||||
| 2012-11-15 | ease changing the scintilla directory | Robin Haberkorn | 1 | -3/+4 | |
| 2012-11-15 | minor Makefile cleanup | Robin Haberkorn | 1 | -1/+3 | |
| 2012-11-15 | minor change to avoid compiler warning | Robin Haberkorn | 1 | -1/+1 | |
| 2012-11-15 | added NCurses user interface (based on Scinterm) | Robin Haberkorn | 3 | -9/+286 | |
| * terminal resizing not yet supported * file popups are sort of a hack | |||||
| 2012-11-15 | changed default colors and moved stuff into user interface | Robin Haberkorn | 2 | -11/+19 | |
| * hardcoding the colors is only preliminary * focus must be set in interface | |||||
