| Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
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
|
|
|
|
Q-Register is (temporarily) edited without changing the current document
|
|
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
|
|
this is very similar to setting a string
|
|
|
|
|
|
* 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
|
|
|
|
|
|
|
|
|
|
|
|
mean an empty line sent to stdout)
|
|
in the most common setup, it will be found in the parent directory
|
|
|
|
* also added some additional range checks (e.g. X command)
|
|
|
|
|
|
the current file / any file is dirty (modified)
-EF and -EX may be used to enforce a close/quit without saving
|
|
unfortunately it's currently not possible to use the SCN_UPDATEUI notification to refresh the view only if necessary
|
|
* also clear goto table after munging
|
|
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
|
|
|
|
* currently, the message line is not remembered and reset on termresize
* any open popup window will be drawn over by the other windows
|
|
|
|
* ./sciteco commandline help works now
* messages issued during batch-mode macro processing are written to stdout/stderr
* output can be redirected
|
|
|
|
|
|
|
|
* terminal resizing not yet supported
* file popups are sort of a hack
|
|
* hardcoding the colors is only preliminary
* focus must be set in interface
|
|
|
|
the "*" (if it wants to)
|
|
add an options group to the help menu
|
|
|
|
|
|
* 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)
|
|
|
|
|
|
|
|
* should serve as a template to the user
|
|
|
|
that's inefficient)
|
|
|
|
the file can be replaced or removed when rubbing out EW
|
|
can be rubbed out!!!
this works because when a buffer is closed, it is not deallocated but transferred to the undo
token object which then (if run) reinserts it into the ring list. if the undo token is destroyed
before it is run (eg. <ESC><ESC> pressed), the buffer will finally be deallocated.
|
|
based on Scintilla editor key commands, so they will automatically adopt to Scintilla setting changes
|
|
* only <CR> was inserted into the command stream for Enter, which Scintilla always interpreted as <CR>
* instead of interpreting the <CR> in the Insert command based on the EOL-Mode, always insert the current EOL into the command stream when Enter is pressed
* inserting <CR> and <LF> independant of the EOL mode is still possible by using <CTRL/N> and <CTRL/K> respectively
|