aboutsummaryrefslogtreecommitdiffhomepage
path: root/parser.cpp
AgeCommit message (Collapse)AuthorFilesLines
2012-11-15added Interface class to ease porting SciTECO to other platforms (toolkits)Robin Haberkorn1-57/+57
* 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-14minor comment fixRobin Haberkorn1-1/+1
2012-11-14error checking and colon modifier support for lots of commandsRobin Haberkorn1-42/+143
2012-11-14simplified move_lines() a bitRobin Haberkorn1-2/+1
2012-11-13EF command to close a bufferRobin Haberkorn1-0/+7
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.
2012-11-13<n>W, <n>V, <n>Y commandsRobin Haberkorn1-0/+56
based on Scintilla editor key commands, so they will automatically adopt to Scintilla setting changes
2012-11-13minor simplificationRobin Haberkorn1-1/+1
2012-11-13added EW...$ commandRobin Haberkorn1-1/+2
* EW$ saves file with its current filename * EW<filename>$ saves file with under the specified filename (Save As) * files are stored with absolute paths in the ring
2012-11-13reset dot on search failureRobin Haberkorn1-5/+6
2012-11-13support :S...$ commandRobin Haberkorn1-0/+3
2012-11-13added support for string match characters (match spec to regexp compiler)Robin Haberkorn1-4/+216
2012-11-13fixed undoing of setting Q-Register stringRobin Haberkorn1-2/+1
2012-11-13Search command: use clever circular stack for the last (-n) matches for n < ↵Robin Haberkorn1-11/+9
0 in <n>S...$ * the requested number of occurrences is usually much smaller than the number of bytes in the document * still, (n) can be arbitrarily large, so allocate that stack
2012-11-13when doing a reverse search, allocate array of matches (since it can ↵Robin Haberkorn1-1/+3
currently get very large)
2012-11-13<x[,y]>S...$ command (only regexp searching at the moment)Robin Haberkorn1-3/+130
2012-11-12distinguish between GOTO, LOOP and CONDITIONAL parse-only modes: fixes loop ↵Robin Haberkorn1-15/+23
branching in conditionals e.g. <0"=1;'...do something...> now works as expected
2012-11-12fix: process @ modifier in PARSE_ONLY mode; fixes alternate string escapes ↵Robin Haberkorn1-1/+4
in parse only mode
2012-11-12various arithmetic expression fixes: SUB must have higher precedence than ↵Robin Haberkorn1-0/+2
ADD; fixed num_sign (unary minus) handling
2012-11-11<x,y>Xq command, automatic profile munging, explicit munging, commandline ↵Robin Haberkorn1-0/+27
option processing, unhandled commandline options in default buffer
2012-11-11automatic support for string building charactersRobin Haberkorn1-10/+111
* also improved <n>I...$ insertion of chars from stack
2012-11-11added <n>O...$ GOTO commandRobin Haberkorn1-0/+1
2012-11-11implemented conditionals (<n>"x...|...')Robin Haberkorn1-0/+82
2012-11-11implemented F<, F>, F' and F| (flow) commandsRobin Haberkorn1-4/+79
2012-11-11support for Qx, Ux, %x and Mx commandsRobin Haberkorn1-0/+12
* Mx does not yet use local Q-registers
2012-11-11^Ux...$ command: rubout does not yet work properlyRobin Haberkorn1-0/+1
2012-11-11Q-Register table and EQx commandRobin Haberkorn1-0/+17
2012-11-10use namespace "States" instead of "states" structureRobin Haberkorn1-25/+32
has several advantages * better to read * namespace can be "extended" from everywhere allowing the declaration of states in the files that implement them * include file mess could be cleaned up a bit
2012-11-10use namespace for Modifiers instead of structureRobin Haberkorn1-14/+14
2012-11-10ensure that string argument done() handlers never get a NULL pointerRobin Haberkorn1-1/+1
* fixes EB$
2012-11-10filename autocompletion using <CTRL/T> and <TAB>Robin Haberkorn1-3/+2
* <TAB> autocompletion only in specified states * GtkInfoPopup widget to display possible completions, written using Gob2
2012-11-08added buffer ring and preliminary EB...$ implementationRobin Haberkorn1-0/+1
* undoing supported * does not yet support globbing
2012-11-08EX commandRobin Haberkorn1-0/+23
2012-11-08insert (I) and <TAB> commands implementedRobin Haberkorn1-2/+106
* StateExpectString does not yet handle string building chars
2012-11-08add form feed to list of whitespace charactersRobin Haberkorn1-1/+1
2012-11-08support line termination ($$) as immediate editing command + some fixesRobin Haberkorn1-1/+1
* separate function for immediate editing command processing * undo.clear() to remove and free all undo tokens without executing them * goto_table_clear() to remove and free all goto table entries
2012-11-08added <CNTRL/x> and ^x commandsRobin Haberkorn1-8/+74
2012-11-08added support for labels, including the goto label tableRobin Haberkorn1-8/+6
* uses BSD tree macros, might later be abstracted to a C++ table class
2012-11-07additional commands implementedRobin Haberkorn1-2/+207
2012-11-07undo stack enable/disable, parse-only mode, colon modifiers evaluationRobin Haberkorn1-7/+63
2012-11-07add helper function to initialize transition tableRobin Haberkorn1-5/+2
2012-11-07check bounds when accessing the transitions tableRobin Haberkorn1-1/+15
2012-11-07fixed "," operatorRobin Haberkorn1-3/+2
instead of pushing a special number (which wasn't that special...), use a dedicated "new" operator which does not count as an argument operator, nor does it count as an ordinary operator and it is popped before any number (and "number" operator) is pushed
2012-11-07fixed "-" processing and improved C command, added R commandRobin Haberkorn1-3/+13
2012-11-07expression stack fixes and some arithmetic commandsRobin Haberkorn1-6/+58
2012-11-07expression stack based on THECO's ArithmeticStackRobin Haberkorn1-0/+1
2012-11-06initial commit of SciTECO based on THECORobin Haberkorn1-0/+95