Commit Graph

196 Commits

Author SHA1 Message Date
Mike Cifelli 84ccac0edb Improve interpreter performance slightly 2017-04-13 09:07:30 -04:00
Mike Cifelli cbbcb4fe3e Clean up terminal tests 2017-04-12 09:16:09 -04:00
Mike Cifelli 63fd890ac6 Add history feature to the terminal
The history is accessed through the up/down arrow keys.

Resolves #8
2017-04-04 15:37:57 -04:00
Mike Cifelli 243f8a83ac Add terminal history class 2017-04-04 07:56:35 -04:00
Mike Cifelli 2de2e3947a Increase test coverage
Fixed an intermittent deadlock in MainTest:
FlushListener could receive more than the expected number of flushes
before the VirtualTerminalInteractor was given control. So by setting
the flush count to zero in waitForFlushes(), flushes could be lost. Now
it only reduces the number of flushes by the expected number.
2017-03-24 11:53:33 -04:00
Mike Cifelli a8620307c9 Clean up code 2017-03-24 09:36:44 -04:00
Mike Cifelli eb82a25f64 Increase test coverage 2017-03-24 09:29:19 -04:00
Mike Cifelli 111dd06d6f Add unit tests 2017-03-23 18:48:37 -04:00
Mike Cifelli 52762a6152 Add and refactor unit tests 2017-03-23 16:14:26 -04:00
Mike Cifelli 23dd1c0654 Increase test coverage and refactor code 2017-03-23 12:14:44 -04:00
Mike Cifelli 79fb8b633b Fix output interfering with input
Refactored some code
2017-03-22 15:26:00 -04:00
Mike Cifelli 228b4b1793 Refactor stream code and add unit tests 2017-03-22 14:08:22 -04:00
Mike Cifelli b298e118e3 Add colors to the interactive interpreter 2017-03-22 11:26:53 -04:00
Mike Cifelli 058e937c3e Refactor main interpreter code
Fixed several minor issues

Only print the last value when interpreting a file

Resolves #4
2017-03-21 15:03:16 -04:00
Mike Cifelli 5cb6212d2a Fix terminal resize issues 2017-03-21 12:07:22 -04:00
Mike Cifelli a8eff1ad70 Clean up terminal code 2017-03-21 09:25:40 -04:00
Mike Cifelli fc96894d14 Fix text insertion at the end of the buffer 2017-03-20 16:20:28 -04:00
Mike Cifelli 38710e21bf Improve terminal performance 2017-03-20 11:18:36 -04:00
Mike Cifelli cef7be6c25 Add comments to broken code 2017-03-19 17:32:44 -04:00
Mike Cifelli ad173d06a9 Fix issues when input pushes past end of buffer
A few issues still remain:

- Inserting text pushes the remainder of the input to a new line
  at the end of the buffer.

- Resizing the terminal height causes numerous issues.
2017-03-19 17:17:34 -04:00
Mike Cifelli 38ab1144fb Clean up terminal code and unit tests
The terminal unit tests were updated so that they don't rely on an
arbitrary delay.
2017-03-19 12:54:35 -04:00
Mike Cifelli 072a432026 Hide cursor when printing output 2017-03-18 16:55:35 -04:00
Mike Cifelli 31ca72e534 Add a crude interactive terminal implementation 2017-03-18 16:49:46 -04:00
Mike Cifelli 462673ba64 Add line wrapping support to the terminal 2017-03-17 19:40:56 -04:00
Mike Cifelli ac349c94cb Fix problems with FitNesse 2017-03-17 16:17:44 -04:00
Mike Cifelli c533b7c1d9 Start experimenting with lanterna 2017-03-17 16:07:25 -04:00
Mike Cifelli 0388f71a8b Add lanterna to the project 2017-03-15 13:52:20 -04:00
Mike Cifelli a86832f9cb Switch from ant to maven 2017-03-15 13:37:39 -04:00
Mike Cifelli a21114ac7c Add a GENSYM-EQUAL function for unit testing macros
Some macro definitions were refactored along with their associated
unit tests.
2017-03-13 14:43:31 -04:00
Mike Cifelli b2d6f21f88 Add tests for macros 2017-03-13 10:15:05 -04:00
Mike Cifelli f2a481952d Add @Override annotations and clean up code 2017-03-13 09:58:30 -04:00
Mike Cifelli c2d722d5ab Fix nested comma handling in a backquote 2017-03-12 14:18:37 -04:00
Mike Cifelli e89a6f2dde Add unit tests for the backquote facility
Renamed BackTick to Backquote globally.
2017-03-12 12:19:45 -04:00
Mike Cifelli 698305f07f Add the backtick facility
Resolves #20
2017-03-11 15:41:07 -05:00
Mike Cifelli 655f49e612 Add DEFMACRO special function
Resolves #16
2017-03-10 15:08:42 -05:00
Mike Cifelli 16b9a4dd30 Add a simple GENSYM function
Resolves #18
2017-03-10 13:19:09 -05:00
Mike Cifelli e78e18df98 Add a simple GENSYM function 2017-03-10 13:14:16 -05:00
Mike Cifelli 8aa00fea27 Add a dynamic data structure example 2017-03-09 14:14:54 -05:00
Mike Cifelli d423fe9958 Convert the lisp unit tester into a class 2017-03-09 11:19:15 -05:00
Mike Cifelli b47abbaad5 Give assert a better failure message 2017-03-08 14:48:40 -05:00
Mike Cifelli c596d6868d Refactor some lisp code and tests 2017-03-08 11:14:44 -05:00
Mike Cifelli 87eb0204f5 Remove SETF function 2017-03-07 16:41:26 -05:00
Mike Cifelli 6cf45219f1 Refactor some lisp code 2017-03-07 16:27:11 -05:00
Mike Cifelli 736e230de9 Add LET* special function 2017-03-07 13:26:24 -05:00
Mike Cifelli d1060a8aad Add aliases for several functions 2017-03-07 13:15:40 -05:00
Mike Cifelli e9fead08c2 Add function to interest-compounder 2017-03-07 11:37:27 -05:00
Mike Cifelli 5f10396af8 Use function alias in validation messages
Resolves #9
2017-03-07 10:59:51 -05:00
Mike Cifelli 368f22a02b Rename the project 2017-03-07 10:20:22 -05:00
Mike Cifelli 9e15d55b4c README.md edited online with Bitbucket 2017-03-07 14:57:13 +00:00
Mike Cifelli 31105b4299 README.md edited online with Bitbucket 2017-03-07 14:56:36 +00:00