Age | Commit message (Collapse) | Author | Files | Lines |
|
* they might not already exist, yielding bogus errors
* in case the register might be initialized we do not want to do so in parse-only-mode
* this fix is only a workaround: currently we must return a register sind got_register() expects one
and must be called to determine the next state in parse only mode
* proper solution would be to better separate parsing and execution
|
|
* flow control and other structures have not been documented this ways.
I have not yet decided whether they should be documented in separate
sections or use the documentation tool.
|
|
* also updated sciteco(7): add SEE ALSO and AUTHORS
|
|
|
|
* useful for using macro libraries
|
|
library
* therefore for bootstrapping to work, the SCITECOPATH is always set explicitly
|
|
* they were logically private but still declared public so that
initializer constructor functions could access them.
* instead, now use friend classes
* has the side effect that initializing priority can be declared
using GCC's init_priority attribute which works with earlier
compilers than the constructor (with priority) attribute
|
|
by comparision function)
* lists were sorted lexicographically (like strcmp()), but searched caseless (like strcasecmp())
* lists are now sorted with strcasecmp()-like comparision
* caselessness is thus a property of the SymbolList
* use new language features in symbols-extract.tes
|
|
documents
* fixes search-replace commands when function keys are used since they rely on selections
not being disturbed
* will also be useful later when there may be other selections
|
|
* storage size should always be 64 (gint64) to aid macro portability
* however, for performance reasons users compiling from source might
explicitly compile with 32 bit integers
|
|
useful for Windows where the desired default path does not correspond with
the installation dir of the std lib macros
|
|
|
|
* also revised the way in which unhandled keys are interpreted
(use gdk_keyval_to_unicode() instead of deprecated GdkEventKey::string)
* keep in sync with Curses key handling
|
|
* Scintilla is now initialized from main() using Interface::main()
* Scintilla initialization depends on initialization of objects in the
global namespace (otherwise the Lexer catalogue may not be filled
properly and lexing may not work). Lexer modules were initialized
after SciTECO interface initialization
* merged Scintilla initialization (Interface::main()) with interface
option parsing
|
|
* line-number style must be explicitly set, even after CLEARALLSTYLES
* margin widhts are in pixels (except in Scinterm), so we must determine the
pixels requiered by a number of digits (e.g. 5 digits)
|
|
initialization revised
* g_get_environ() appears to be broken, at least in Wine and Win2k
|
|
...which is useful when crosscompiling for MinGW
|
|
they didn't work and weren't really necessary either
|
|
* distinction no longer useful since string part of register
is now never pre-initialized
|
|
* also encapsulates data properly (previously there were many public
attributes to avoid permission issues)
* new class also cares about saving/and restoring scroll state.
now, buffer/q-reg edits and temporary accesses do not reset
the scroll state anymore.
|
|
* pkg-config LIBS should be added to $LIBS so that link order is correct
|
|
this is often because of a missing "config.h" include,
but puzzles me every time...
|
|
|
|
ensure that undo tokens for first differing characters are actually
associated with this character instead of the next.
(resulted in strange behaviour on rubout and subsequent replacements)
|
|
|
|
macros
* if enabled, when a function key is pressed it is looked up in Q-Registers ^F...
e.g. HOME key corresponds to register ^FHOME
* the string if available is inserted as if it was entered by key-presses
(later it may be entered as a single input token which may be removed in a single rubout)
* only NCurses currently, key names directly correspond to Curses key names
* on Curses if function keys are enabled ESCAPE will be inserted after a delay
(because function keys are transmitted via escape sequences).
A function key macro may be used to define an alternative escape character
|
|
* SCITECOPATH environment variable defaults to this directory
* manpage updated
* default teco.ini updated: no need to generate it anymore
|
|
|
|
e.g. G{$HOME} will insert the HOME environment variable
|
|
|
|
* enabled for all modifying Q-Reg commands
|
|
string-building commands
* allows referring to long Q-Register names in string arguments
* currently, long names specified this way use their own string building char parsing
(I'm unsure whether this makes any sense)
|
|
will care about the eventual deletion of the object
|
|
syntax is as follows: ["."]("#" CHR1 CHR2 | "{" STRING_BUILDING "}" | CHR1)
* the short one/two char names are turned upper case, while no
case folding is performed on verbose names
|
|
base class
* uses label pointers instead of state-enum and switch case
(both faster and shorter to write)
* common interface for all micro state machines: makes them reusable
|
|
see comment: special handling of <CTL/Z> in terminal might
be disabled, or commandline input might be in X11 window...
|
|
when not in string-state, <CTL/U> is self inserting (unlike traditional
TECO where it would clear your entire commandline)
|
|
|
|
|
|
words or entire commands
* when rubbing out words (in string params), use Scintilla's definition of a word
|
|
* fixes autocompletion at the beginning of string params
* is also available in filename commands and would allow filename completion after string beginning
* also did some editing command cleanup
|
|
occurs when rubbing out a switch from q-reg string or to q-reg string
|
|
cmdline and cmdline_pos is no longer modified by code executed by step()
instead it is modified at the outermost macro level (commandline macro level)
|
|
* allows us to switch between buffers/registers when editing the
commandline
|
|
allows commandline editing scripted by macros
|
|
* simplified traditional commandline editing. no need to extend cmdline string one character
at a time when inserting multiple. instead there's a marker (cmdline_pos) specifying the macro
length to execute in a "step" and also the anchor for generating undo tokens
* implementation does not yet work in macro calls
* while editing the commandline, other buffers/registers may not be edited
(need push-down-list and auxiliary q-register)
|
|
* there was a dependency on interface initialization.
it did not cause issues because destruction order was
by chance.
* introduced INIT_PRIO and PRIO_* macros to easy initialization order declaration
(using a PRIO_* formula makes code self-documenting)
* also used this to clean up QRegisterTable initialization
(we do not need the explicit initialize() method)
* also used to clean up symbols initialization
|
|
was broken due to untested changes
|
|
|
|
rubout would undo something different and screw up editor state
|