aboutsummaryrefslogtreecommitdiffhomepage
AgeCommit message (Collapse)AuthorFilesLines
2012-11-20ED flags making 0-Register hook execution configurableRobin Haberkorn6-9/+95
* teco.ini updated as well
2012-11-20Scintilla command ES accepting string parameter: if empty, pop value from ↵Robin Haberkorn2-15/+31
stack otherwise pass string
2012-11-20cleanup strings[0] before invoking done(): can only be a preliminary solutionRobin Haberkorn2-8/+12
2012-11-20first working draft of syntax highlighting support and related necessary ↵Robin Haberkorn4-32/+57
features
2012-11-18fixed "*" register: instead of trying to update it everywhere the buffer ↵Robin Haberkorn2-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-18avoid using Scintilla's SAVEPOINT mechanism altogether: fixes some ↵Robin Haberkorn4-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-17Q-Register "*" holding the current filenameRobin Haberkorn2-9/+19
2012-11-17use special flag to temporarily disable buffer dirty checks when a ↵Robin Haberkorn3-4/+22
Q-Register is (temporarily) edited without changing the current document
2012-11-17fixed behaviour on runtime errors: the character resulting in the error is ↵Robin Haberkorn1-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-17fixed rubout for loading Q-Registers (with files)Robin Haberkorn2-7/+12
this is very similar to setting a string
2012-11-16avoid some unnecessary jumps to buffer startRobin Haberkorn2-4/+2
2012-11-16scroll caret into view after text insertionRobin Haberkorn1-1/+3
2012-11-16Make sure undo tokens and RB-tree entries are destroyed properlyRobin Haberkorn3-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-16yet another minor README fixRobin Haberkorn1-1/+1
2012-11-16added some build-time dependenciesRobin Haberkorn1-2/+3
2012-11-16minor README.md fixRobin Haberkorn1-1/+1
2012-11-16README.md for GithubRobin Haberkorn1-0/+57
2012-11-16ensure that infoline is correct on startupRobin Haberkorn1-1/+2
2012-11-16fixed clearing message line: do not display an empty message line (which can ↵Robin Haberkorn6-3/+27
mean an empty line sent to stdout)
2012-11-16changed default scintilla directoryRobin Haberkorn1-1/+1
in the most common setup, it will be found in the parent directory
2012-11-16clear message line after every keypressRobin Haberkorn1-0/+1
2012-11-16support different kinds of runtime errors (using C++ exceptions)Robin Haberkorn7-113/+174
* also added some additional range checks (e.g. X command)
2012-11-16NCURSES interface: fix message displaying in batch mode (avoid any refresh)Robin Haberkorn1-1/+13
2012-11-16file closing must be enforced now (teco.ini)Robin Haberkorn1-1/+1
2012-11-16support EF and EX arguments. FALSE (>= 0) means to refuse closing/exiting if ↵Robin Haberkorn3-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-16NCURSES: simplified notification callback a bitRobin Haberkorn1-4/+2
unfortunately it's currently not possible to use the SCN_UPDATEUI notification to refresh the view only if necessary
2012-11-16empty Scintilla undo buffer on line termination and after mungingRobin Haberkorn2-0/+4
* also clear goto table after munging
2012-11-16keep a buffer dirty flag and display infos about the current buffer in the ↵Robin Haberkorn8-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-16define some Autoconf-(config.h)-like PACKAGE_* macrosRobin Haberkorn1-0/+5
2012-11-15NCurses interface: support terminal resizingRobin Haberkorn5-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-15install targetRobin Haberkorn1-0/+5
2012-11-15support stdio for curses interfaceRobin Haberkorn6-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-15ease changing the scintilla directoryRobin Haberkorn1-3/+4
2012-11-15minor Makefile cleanupRobin Haberkorn1-1/+3
2012-11-15minor change to avoid compiler warningRobin Haberkorn1-1/+1
2012-11-15added NCurses user interface (based on Scinterm)Robin Haberkorn3-9/+286
* terminal resizing not yet supported * file popups are sort of a hack
2012-11-15changed default colors and moved stuff into user interfaceRobin Haberkorn2-11/+19
* hardcoding the colors is only preliminary * focus must be set in interface
2012-11-15adapted Makefile to handle different user interfacesRobin Haberkorn2-8/+33
2012-11-15cleaned up command line updating: the interface is responsible for drawing ↵Robin Haberkorn5-13/+15
the "*" (if it wants to)
2012-11-15make it possible for interface classes to define a get_options() method to ↵Robin Haberkorn3-2/+17
add an options group to the help menu
2012-11-15changed save point file pattern to .teco-xxx-dddRobin Haberkorn2-2/+2
2012-11-15replaced remaining editor_msg() references with new Interface::ssm()Robin Haberkorn1-10/+11
2012-11-15added Interface class to ease porting SciTECO to other platforms (toolkits)Robin Haberkorn11-307/+452
* will support Scintilla with Scinterm/NCurses * changes are in such a way that the generated machine code should have almost no overhead compared to the previous implementation (at least when compiled with optimizations)
2012-11-15let Git ignore save point filesRobin Haberkorn1-0/+2
2012-11-15simplified popup type to gtk type mappingRobin Haberkorn1-11/+7
2012-11-14minor comment fixRobin Haberkorn1-1/+1
2012-11-14default teco ini fileRobin Haberkorn1-0/+5
* should serve as a template to the user
2012-11-14error checking and colon modifier support for lots of commandsRobin Haberkorn3-45/+165
2012-11-14expressions.find_op(), can be used test whether we are in a loop (although ↵Robin Haberkorn2-0/+14
that's inefficient)
2012-11-14simplified move_lines() a bitRobin Haberkorn1-2/+1